From ff76f7e1194e63622e581c9043f22642b654f994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Fri, 4 Oct 2019 07:15:10 +0000 Subject: [PATCH] initial commit --- Cargo.toml | 9 + src/lib.rs | 24417 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 24426 insertions(+) create mode 100644 Cargo.toml create mode 100644 src/lib.rs diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..b44c2ab --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "irssi-sys" +version = "0.1.0" +authors = ["ubuntu"] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..7b0cfd7 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,24417 @@ +/* automatically generated by rust-bindgen */ +#![allow(warnings)] +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { + storage: Storage, + align: [Align; 0], +} +impl __BindgenBitfieldUnit { + #[inline] + pub const fn new(storage: Storage) -> Self { + Self { storage, align: [] } + } +} +impl __BindgenBitfieldUnit +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + #[inline] + pub fn get_bit(&self, index: usize) -> bool { + debug_assert!(index / 8 < self.storage.as_ref().len()); + let byte_index = index / 8; + let byte = self.storage.as_ref()[byte_index]; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; + let mask = 1 << bit_index; + byte & mask == mask + } + #[inline] + pub fn set_bit(&mut self, index: usize, val: bool) { + debug_assert!(index / 8 < self.storage.as_ref().len()); + let byte_index = index / 8; + let byte = &mut self.storage.as_mut()[byte_index]; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; + let mask = 1 << bit_index; + if val { + *byte |= mask; + } else { + *byte &= !mask; + } + } + #[inline] + pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + let mut val = 0; + for i in 0..(bit_width as usize) { + if self.get_bit(i + bit_offset) { + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; + val |= 1 << index; + } + } + val + } + #[inline] + pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + for i in 0..(bit_width as usize) { + let mask = 1 << i; + let val_bit_is_set = val & mask == mask; + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; + self.set_bit(index + bit_offset, val_bit_is_set); + } + } +} +pub const IRSSI_DIR_FULL: &'static [u8; 10usize] = b"%s/.irssi\0"; +pub const IRSSI_GLOBAL_CONFIG: &'static [u8; 11usize] = b"irssi.conf\0"; +pub const IRSSI_HOME_CONFIG: &'static [u8; 7usize] = b"config\0"; +pub const IRSSI_ABI_VERSION: u32 = 23; +pub const DEFAULT_SERVER_ADD_PORT: u32 = 6667; +pub const DEFAULT_SERVER_ADD_TLS_PORT: u32 = 6697; +pub const HAVE_DIRENT_H: u32 = 1; +pub const HAVE_DLFCN_H: u32 = 1; +pub const HAVE_GMODULE: u32 = 1; +pub const HAVE_INTTYPES_H: u32 = 1; +pub const HAVE_MEMORY_H: u32 = 1; +pub const HAVE_STDINT_H: u32 = 1; +pub const HAVE_STDLIB_H: u32 = 1; +pub const HAVE_STRINGS_H: u32 = 1; +pub const HAVE_STRING_H: u32 = 1; +pub const HAVE_SYS_IOCTL_H: u32 = 1; +pub const HAVE_SYS_RESOURCE_H: u32 = 1; +pub const HAVE_SYS_SOCKET_H: u32 = 1; +pub const HAVE_SYS_STAT_H: u32 = 1; +pub const HAVE_SYS_TIME_H: u32 = 1; +pub const HAVE_SYS_TYPES_H: u32 = 1; +pub const HAVE_SYS_UTSNAME_H: u32 = 1; +pub const HAVE_UNISTD_H: u32 = 1; +pub const LT_OBJDIR: &'static [u8; 7usize] = b".libs/\0"; +pub const PACKAGE_BUGREPORT: &'static [u8; 1usize] = b"\0"; +pub const PACKAGE_NAME: &'static [u8; 6usize] = b"irssi\0"; +pub const PACKAGE_STRING: &'static [u8; 15usize] = b"irssi 1.3-head\0"; +pub const PACKAGE_TARNAME: &'static [u8; 6usize] = b"irssi\0"; +pub const PACKAGE_URL: &'static [u8; 1usize] = b"\0"; +pub const PACKAGE_VERSION: &'static [u8; 9usize] = b"1.3-head\0"; +pub const SIZEOF_INT: u32 = 4; +pub const SIZEOF_LONG: u32 = 8; +pub const SIZEOF_LONG_LONG: u32 = 8; +pub const SIZEOF_OFF_T: u32 = 8; +pub const STDC_HEADERS: u32 = 1; +pub const _DARWIN_USE_64_BIT_INODE: u32 = 1; +pub const _STDIO_H: u32 = 1; +pub const _FEATURES_H: u32 = 1; +pub const _DEFAULT_SOURCE: u32 = 1; +pub const __USE_ISOC11: u32 = 1; +pub const __USE_ISOC99: u32 = 1; +pub const __USE_ISOC95: u32 = 1; +pub const __USE_POSIX_IMPLICITLY: u32 = 1; +pub const _POSIX_SOURCE: u32 = 1; +pub const _POSIX_C_SOURCE: u32 = 200809; +pub const __USE_POSIX: u32 = 1; +pub const __USE_POSIX2: u32 = 1; +pub const __USE_POSIX199309: u32 = 1; +pub const __USE_POSIX199506: u32 = 1; +pub const __USE_XOPEN2K: u32 = 1; +pub const __USE_XOPEN2K8: u32 = 1; +pub const _ATFILE_SOURCE: u32 = 1; +pub const __USE_MISC: u32 = 1; +pub const __USE_ATFILE: u32 = 1; +pub const __USE_FORTIFY_LEVEL: u32 = 0; +pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; +pub const _STDC_PREDEF_H: u32 = 1; +pub const __STDC_IEC_559__: u32 = 1; +pub const __STDC_IEC_559_COMPLEX__: u32 = 1; +pub const __STDC_ISO_10646__: u32 = 201706; +pub const __STDC_NO_THREADS__: u32 = 1; +pub const __GNU_LIBRARY__: u32 = 6; +pub const __GLIBC__: u32 = 2; +pub const __GLIBC_MINOR__: u32 = 27; +pub const _SYS_CDEFS_H: u32 = 1; +pub const __glibc_c99_flexarr_available: u32 = 1; +pub const __WORDSIZE: u32 = 64; +pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; +pub const __SYSCALL_WORDSIZE: u32 = 64; +pub const __HAVE_GENERIC_SELECTION: u32 = 1; +pub const __GLIBC_USE_LIB_EXT2: u32 = 0; +pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; +pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; +pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; +pub const _BITS_TYPES_H: u32 = 1; +pub const _BITS_TYPESIZES_H: u32 = 1; +pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; +pub const __INO_T_MATCHES_INO64_T: u32 = 1; +pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; +pub const __FD_SETSIZE: u32 = 1024; +pub const ____FILE_defined: u32 = 1; +pub const __FILE_defined: u32 = 1; +pub const _BITS_LIBIO_H: u32 = 1; +pub const _BITS_G_CONFIG_H: u32 = 1; +pub const ____mbstate_t_defined: u32 = 1; +pub const _G_HAVE_MMAP: u32 = 1; +pub const _G_HAVE_MREMAP: u32 = 1; +pub const _G_IO_IO_FILE_VERSION: u32 = 131073; +pub const _G_BUFSIZ: u32 = 8192; +pub const _IO_BUFSIZ: u32 = 8192; +pub const __GNUC_VA_LIST: u32 = 1; +pub const _IO_UNIFIED_JUMPTABLES: u32 = 1; +pub const EOF: i32 = -1; +pub const _IOS_INPUT: u32 = 1; +pub const _IOS_OUTPUT: u32 = 2; +pub const _IOS_ATEND: u32 = 4; +pub const _IOS_APPEND: u32 = 8; +pub const _IOS_TRUNC: u32 = 16; +pub const _IOS_NOCREATE: u32 = 32; +pub const _IOS_NOREPLACE: u32 = 64; +pub const _IOS_BIN: u32 = 128; +pub const _IO_MAGIC: u32 = 4222418944; +pub const _OLD_STDIO_MAGIC: u32 = 4206624768; +pub const _IO_MAGIC_MASK: u32 = 4294901760; +pub const _IO_USER_BUF: u32 = 1; +pub const _IO_UNBUFFERED: u32 = 2; +pub const _IO_NO_READS: u32 = 4; +pub const _IO_NO_WRITES: u32 = 8; +pub const _IO_EOF_SEEN: u32 = 16; +pub const _IO_ERR_SEEN: u32 = 32; +pub const _IO_DELETE_DONT_CLOSE: u32 = 64; +pub const _IO_LINKED: u32 = 128; +pub const _IO_IN_BACKUP: u32 = 256; +pub const _IO_LINE_BUF: u32 = 512; +pub const _IO_TIED_PUT_GET: u32 = 1024; +pub const _IO_CURRENTLY_PUTTING: u32 = 2048; +pub const _IO_IS_APPENDING: u32 = 4096; +pub const _IO_IS_FILEBUF: u32 = 8192; +pub const _IO_BAD_SEEN: u32 = 16384; +pub const _IO_USER_LOCK: u32 = 32768; +pub const _IO_FLAGS2_MMAP: u32 = 1; +pub const _IO_FLAGS2_NOTCANCEL: u32 = 2; +pub const _IO_FLAGS2_USER_WBUF: u32 = 8; +pub const _IO_SKIPWS: u32 = 1; +pub const _IO_LEFT: u32 = 2; +pub const _IO_RIGHT: u32 = 4; +pub const _IO_INTERNAL: u32 = 8; +pub const _IO_DEC: u32 = 16; +pub const _IO_OCT: u32 = 32; +pub const _IO_HEX: u32 = 64; +pub const _IO_SHOWBASE: u32 = 128; +pub const _IO_SHOWPOINT: u32 = 256; +pub const _IO_UPPERCASE: u32 = 512; +pub const _IO_SHOWPOS: u32 = 1024; +pub const _IO_SCIENTIFIC: u32 = 2048; +pub const _IO_FIXED: u32 = 4096; +pub const _IO_UNITBUF: u32 = 8192; +pub const _IO_STDIO: u32 = 16384; +pub const _IO_DONT_CLOSE: u32 = 32768; +pub const _IO_BOOLALPHA: u32 = 65536; +pub const _IOFBF: u32 = 0; +pub const _IOLBF: u32 = 1; +pub const _IONBF: u32 = 2; +pub const BUFSIZ: u32 = 8192; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0"; +pub const _BITS_STDIO_LIM_H: u32 = 1; +pub const L_tmpnam: u32 = 20; +pub const TMP_MAX: u32 = 238328; +pub const FILENAME_MAX: u32 = 4096; +pub const L_ctermid: u32 = 9; +pub const FOPEN_MAX: u32 = 16; +pub const _CTYPE_H: u32 = 1; +pub const _ENDIAN_H: u32 = 1; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const __BIG_ENDIAN: u32 = 4321; +pub const __PDP_ENDIAN: u32 = 3412; +pub const __BYTE_ORDER: u32 = 1234; +pub const __FLOAT_WORD_ORDER: u32 = 1234; +pub const LITTLE_ENDIAN: u32 = 1234; +pub const BIG_ENDIAN: u32 = 4321; +pub const PDP_ENDIAN: u32 = 3412; +pub const BYTE_ORDER: u32 = 1234; +pub const _BITS_BYTESWAP_H: u32 = 1; +pub const _BITS_UINTN_IDENTITY_H: u32 = 1; +pub const _BITS_TYPES_LOCALE_T_H: u32 = 1; +pub const _BITS_TYPES___LOCALE_T_H: u32 = 1; +pub const _STRING_H: u32 = 1; +pub const _STRINGS_H: u32 = 1; +pub const _STDLIB_H: u32 = 1; +pub const WNOHANG: u32 = 1; +pub const WUNTRACED: u32 = 2; +pub const WSTOPPED: u32 = 2; +pub const WEXITED: u32 = 4; +pub const WCONTINUED: u32 = 8; +pub const WNOWAIT: u32 = 16777216; +pub const __WNOTHREAD: u32 = 536870912; +pub const __WALL: u32 = 1073741824; +pub const __WCLONE: u32 = 2147483648; +pub const __ENUM_IDTYPE_T: u32 = 1; +pub const __W_CONTINUED: u32 = 65535; +pub const __WCOREFLAG: u32 = 128; +pub const __HAVE_FLOAT128: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT128: u32 = 0; +pub const __HAVE_FLOAT64X: u32 = 1; +pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1; +pub const __HAVE_FLOAT16: u32 = 0; +pub const __HAVE_FLOAT32: u32 = 1; +pub const __HAVE_FLOAT64: u32 = 1; +pub const __HAVE_FLOAT32X: u32 = 1; +pub const __HAVE_FLOAT128X: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT16: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT32: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT64: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0; +pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0; +pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0; +pub const __ldiv_t_defined: u32 = 1; +pub const __lldiv_t_defined: u32 = 1; +pub const RAND_MAX: u32 = 2147483647; +pub const EXIT_FAILURE: u32 = 1; +pub const EXIT_SUCCESS: u32 = 0; +pub const _SYS_TYPES_H: u32 = 1; +pub const __clock_t_defined: u32 = 1; +pub const __clockid_t_defined: u32 = 1; +pub const __time_t_defined: u32 = 1; +pub const __timer_t_defined: u32 = 1; +pub const _BITS_STDINT_INTN_H: u32 = 1; +pub const __BIT_TYPES_DEFINED__: u32 = 1; +pub const _SYS_SELECT_H: u32 = 1; +pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0"; +pub const __sigset_t_defined: u32 = 1; +pub const __timeval_defined: u32 = 1; +pub const __timespec_defined: u32 = 1; +pub const FD_SETSIZE: u32 = 1024; +pub const _SYS_SYSMACROS_H: u32 = 1; +pub const _BITS_SYSMACROS_H: u32 = 1; +pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1; +pub const _THREAD_SHARED_TYPES_H: u32 = 1; +pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1; +pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40; +pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56; +pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56; +pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32; +pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4; +pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; +pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; +pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; +pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; +pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1; +pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0; +pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0; +pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1; +pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1; +pub const __have_pthread_attr_t: u32 = 1; +pub const _ALLOCA_H: u32 = 1; +pub const _ERRNO_H: u32 = 1; +pub const _BITS_ERRNO_H: u32 = 1; +pub const EPERM: u32 = 1; +pub const ENOENT: u32 = 2; +pub const ESRCH: u32 = 3; +pub const EINTR: u32 = 4; +pub const EIO: u32 = 5; +pub const ENXIO: u32 = 6; +pub const E2BIG: u32 = 7; +pub const ENOEXEC: u32 = 8; +pub const EBADF: u32 = 9; +pub const ECHILD: u32 = 10; +pub const EAGAIN: u32 = 11; +pub const ENOMEM: u32 = 12; +pub const EACCES: u32 = 13; +pub const EFAULT: u32 = 14; +pub const ENOTBLK: u32 = 15; +pub const EBUSY: u32 = 16; +pub const EEXIST: u32 = 17; +pub const EXDEV: u32 = 18; +pub const ENODEV: u32 = 19; +pub const ENOTDIR: u32 = 20; +pub const EISDIR: u32 = 21; +pub const EINVAL: u32 = 22; +pub const ENFILE: u32 = 23; +pub const EMFILE: u32 = 24; +pub const ENOTTY: u32 = 25; +pub const ETXTBSY: u32 = 26; +pub const EFBIG: u32 = 27; +pub const ENOSPC: u32 = 28; +pub const ESPIPE: u32 = 29; +pub const EROFS: u32 = 30; +pub const EMLINK: u32 = 31; +pub const EPIPE: u32 = 32; +pub const EDOM: u32 = 33; +pub const ERANGE: u32 = 34; +pub const EDEADLK: u32 = 35; +pub const ENAMETOOLONG: u32 = 36; +pub const ENOLCK: u32 = 37; +pub const ENOSYS: u32 = 38; +pub const ENOTEMPTY: u32 = 39; +pub const ELOOP: u32 = 40; +pub const EWOULDBLOCK: u32 = 11; +pub const ENOMSG: u32 = 42; +pub const EIDRM: u32 = 43; +pub const ECHRNG: u32 = 44; +pub const EL2NSYNC: u32 = 45; +pub const EL3HLT: u32 = 46; +pub const EL3RST: u32 = 47; +pub const ELNRNG: u32 = 48; +pub const EUNATCH: u32 = 49; +pub const ENOCSI: u32 = 50; +pub const EL2HLT: u32 = 51; +pub const EBADE: u32 = 52; +pub const EBADR: u32 = 53; +pub const EXFULL: u32 = 54; +pub const ENOANO: u32 = 55; +pub const EBADRQC: u32 = 56; +pub const EBADSLT: u32 = 57; +pub const EDEADLOCK: u32 = 35; +pub const EBFONT: u32 = 59; +pub const ENOSTR: u32 = 60; +pub const ENODATA: u32 = 61; +pub const ETIME: u32 = 62; +pub const ENOSR: u32 = 63; +pub const ENONET: u32 = 64; +pub const ENOPKG: u32 = 65; +pub const EREMOTE: u32 = 66; +pub const ENOLINK: u32 = 67; +pub const EADV: u32 = 68; +pub const ESRMNT: u32 = 69; +pub const ECOMM: u32 = 70; +pub const EPROTO: u32 = 71; +pub const EMULTIHOP: u32 = 72; +pub const EDOTDOT: u32 = 73; +pub const EBADMSG: u32 = 74; +pub const EOVERFLOW: u32 = 75; +pub const ENOTUNIQ: u32 = 76; +pub const EBADFD: u32 = 77; +pub const EREMCHG: u32 = 78; +pub const ELIBACC: u32 = 79; +pub const ELIBBAD: u32 = 80; +pub const ELIBSCN: u32 = 81; +pub const ELIBMAX: u32 = 82; +pub const ELIBEXEC: u32 = 83; +pub const EILSEQ: u32 = 84; +pub const ERESTART: u32 = 85; +pub const ESTRPIPE: u32 = 86; +pub const EUSERS: u32 = 87; +pub const ENOTSOCK: u32 = 88; +pub const EDESTADDRREQ: u32 = 89; +pub const EMSGSIZE: u32 = 90; +pub const EPROTOTYPE: u32 = 91; +pub const ENOPROTOOPT: u32 = 92; +pub const EPROTONOSUPPORT: u32 = 93; +pub const ESOCKTNOSUPPORT: u32 = 94; +pub const EOPNOTSUPP: u32 = 95; +pub const EPFNOSUPPORT: u32 = 96; +pub const EAFNOSUPPORT: u32 = 97; +pub const EADDRINUSE: u32 = 98; +pub const EADDRNOTAVAIL: u32 = 99; +pub const ENETDOWN: u32 = 100; +pub const ENETUNREACH: u32 = 101; +pub const ENETRESET: u32 = 102; +pub const ECONNABORTED: u32 = 103; +pub const ECONNRESET: u32 = 104; +pub const ENOBUFS: u32 = 105; +pub const EISCONN: u32 = 106; +pub const ENOTCONN: u32 = 107; +pub const ESHUTDOWN: u32 = 108; +pub const ETOOMANYREFS: u32 = 109; +pub const ETIMEDOUT: u32 = 110; +pub const ECONNREFUSED: u32 = 111; +pub const EHOSTDOWN: u32 = 112; +pub const EHOSTUNREACH: u32 = 113; +pub const EALREADY: u32 = 114; +pub const EINPROGRESS: u32 = 115; +pub const ESTALE: u32 = 116; +pub const EUCLEAN: u32 = 117; +pub const ENOTNAM: u32 = 118; +pub const ENAVAIL: u32 = 119; +pub const EISNAM: u32 = 120; +pub const EREMOTEIO: u32 = 121; +pub const EDQUOT: u32 = 122; +pub const ENOMEDIUM: u32 = 123; +pub const EMEDIUMTYPE: u32 = 124; +pub const ECANCELED: u32 = 125; +pub const ENOKEY: u32 = 126; +pub const EKEYEXPIRED: u32 = 127; +pub const EKEYREVOKED: u32 = 128; +pub const EKEYREJECTED: u32 = 129; +pub const EOWNERDEAD: u32 = 130; +pub const ENOTRECOVERABLE: u32 = 131; +pub const ERFKILL: u32 = 132; +pub const EHWPOISON: u32 = 133; +pub const ENOTSUP: u32 = 95; +pub const _TIME_H: u32 = 1; +pub const _BITS_TIME_H: u32 = 1; +pub const CLOCK_REALTIME: u32 = 0; +pub const CLOCK_MONOTONIC: u32 = 1; +pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2; +pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3; +pub const CLOCK_MONOTONIC_RAW: u32 = 4; +pub const CLOCK_REALTIME_COARSE: u32 = 5; +pub const CLOCK_MONOTONIC_COARSE: u32 = 6; +pub const CLOCK_BOOTTIME: u32 = 7; +pub const CLOCK_REALTIME_ALARM: u32 = 8; +pub const CLOCK_BOOTTIME_ALARM: u32 = 9; +pub const CLOCK_TAI: u32 = 11; +pub const TIMER_ABSTIME: u32 = 1; +pub const __struct_tm_defined: u32 = 1; +pub const __itimerspec_defined: u32 = 1; +pub const TIME_UTC: u32 = 1; +pub const _SYS_TIME_H: u32 = 1; +pub const _SYS_STAT_H: u32 = 1; +pub const _BITS_STAT_H: u32 = 1; +pub const _STAT_VER_KERNEL: u32 = 0; +pub const _STAT_VER_LINUX: u32 = 1; +pub const _MKNOD_VER_LINUX: u32 = 0; +pub const _STAT_VER: u32 = 1; +pub const __S_IFMT: u32 = 61440; +pub const __S_IFDIR: u32 = 16384; +pub const __S_IFCHR: u32 = 8192; +pub const __S_IFBLK: u32 = 24576; +pub const __S_IFREG: u32 = 32768; +pub const __S_IFIFO: u32 = 4096; +pub const __S_IFLNK: u32 = 40960; +pub const __S_IFSOCK: u32 = 49152; +pub const __S_ISUID: u32 = 2048; +pub const __S_ISGID: u32 = 1024; +pub const __S_ISVTX: u32 = 512; +pub const __S_IREAD: u32 = 256; +pub const __S_IWRITE: u32 = 128; +pub const __S_IEXEC: u32 = 64; +pub const UTIME_NOW: u32 = 1073741823; +pub const UTIME_OMIT: u32 = 1073741822; +pub const S_IFMT: u32 = 61440; +pub const S_IFDIR: u32 = 16384; +pub const S_IFCHR: u32 = 8192; +pub const S_IFBLK: u32 = 24576; +pub const S_IFREG: u32 = 32768; +pub const S_IFIFO: u32 = 4096; +pub const S_IFLNK: u32 = 40960; +pub const S_IFSOCK: u32 = 49152; +pub const S_ISUID: u32 = 2048; +pub const S_ISGID: u32 = 1024; +pub const S_ISVTX: u32 = 512; +pub const S_IRUSR: u32 = 256; +pub const S_IWUSR: u32 = 128; +pub const S_IXUSR: u32 = 64; +pub const S_IRWXU: u32 = 448; +pub const S_IREAD: u32 = 256; +pub const S_IWRITE: u32 = 128; +pub const S_IEXEC: u32 = 64; +pub const S_IRGRP: u32 = 32; +pub const S_IWGRP: u32 = 16; +pub const S_IXGRP: u32 = 8; +pub const S_IRWXG: u32 = 56; +pub const S_IROTH: u32 = 4; +pub const S_IWOTH: u32 = 2; +pub const S_IXOTH: u32 = 1; +pub const S_IRWXO: u32 = 7; +pub const ACCESSPERMS: u32 = 511; +pub const ALLPERMS: u32 = 4095; +pub const DEFFILEMODE: u32 = 438; +pub const S_BLKSIZE: u32 = 512; +pub const _MKNOD_VER: u32 = 0; +pub const _UNISTD_H: u32 = 1; +pub const _POSIX_VERSION: u32 = 200809; +pub const __POSIX2_THIS_VERSION: u32 = 200809; +pub const _POSIX2_VERSION: u32 = 200809; +pub const _POSIX2_C_VERSION: u32 = 200809; +pub const _POSIX2_C_BIND: u32 = 200809; +pub const _POSIX2_C_DEV: u32 = 200809; +pub const _POSIX2_SW_DEV: u32 = 200809; +pub const _POSIX2_LOCALEDEF: u32 = 200809; +pub const _XOPEN_VERSION: u32 = 700; +pub const _XOPEN_XCU_VERSION: u32 = 4; +pub const _XOPEN_XPG2: u32 = 1; +pub const _XOPEN_XPG3: u32 = 1; +pub const _XOPEN_XPG4: u32 = 1; +pub const _XOPEN_UNIX: u32 = 1; +pub const _XOPEN_CRYPT: u32 = 1; +pub const _XOPEN_ENH_I18N: u32 = 1; +pub const _XOPEN_LEGACY: u32 = 1; +pub const _BITS_POSIX_OPT_H: u32 = 1; +pub const _POSIX_JOB_CONTROL: u32 = 1; +pub const _POSIX_SAVED_IDS: u32 = 1; +pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809; +pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809; +pub const _POSIX_FSYNC: u32 = 200809; +pub const _POSIX_MAPPED_FILES: u32 = 200809; +pub const _POSIX_MEMLOCK: u32 = 200809; +pub const _POSIX_MEMLOCK_RANGE: u32 = 200809; +pub const _POSIX_MEMORY_PROTECTION: u32 = 200809; +pub const _POSIX_CHOWN_RESTRICTED: u32 = 0; +pub const _POSIX_VDISABLE: u8 = 0u8; +pub const _POSIX_NO_TRUNC: u32 = 1; +pub const _XOPEN_REALTIME: u32 = 1; +pub const _XOPEN_REALTIME_THREADS: u32 = 1; +pub const _XOPEN_SHM: u32 = 1; +pub const _POSIX_THREADS: u32 = 200809; +pub const _POSIX_REENTRANT_FUNCTIONS: u32 = 1; +pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809; +pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809; +pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809; +pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809; +pub const _POSIX_THREAD_PRIO_INHERIT: u32 = 200809; +pub const _POSIX_THREAD_PRIO_PROTECT: u32 = 200809; +pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: u32 = 200809; +pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1; +pub const _POSIX_SEMAPHORES: u32 = 200809; +pub const _POSIX_REALTIME_SIGNALS: u32 = 200809; +pub const _POSIX_ASYNCHRONOUS_IO: u32 = 200809; +pub const _POSIX_ASYNC_IO: u32 = 1; +pub const _LFS_ASYNCHRONOUS_IO: u32 = 1; +pub const _POSIX_PRIORITIZED_IO: u32 = 200809; +pub const _LFS64_ASYNCHRONOUS_IO: u32 = 1; +pub const _LFS_LARGEFILE: u32 = 1; +pub const _LFS64_LARGEFILE: u32 = 1; +pub const _LFS64_STDIO: u32 = 1; +pub const _POSIX_SHARED_MEMORY_OBJECTS: u32 = 200809; +pub const _POSIX_CPUTIME: u32 = 0; +pub const _POSIX_THREAD_CPUTIME: u32 = 0; +pub const _POSIX_REGEXP: u32 = 1; +pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809; +pub const _POSIX_SHELL: u32 = 1; +pub const _POSIX_TIMEOUTS: u32 = 200809; +pub const _POSIX_SPIN_LOCKS: u32 = 200809; +pub const _POSIX_SPAWN: u32 = 200809; +pub const _POSIX_TIMERS: u32 = 200809; +pub const _POSIX_BARRIERS: u32 = 200809; +pub const _POSIX_MESSAGE_PASSING: u32 = 200809; +pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809; +pub const _POSIX_MONOTONIC_CLOCK: u32 = 0; +pub const _POSIX_CLOCK_SELECTION: u32 = 200809; +pub const _POSIX_ADVISORY_INFO: u32 = 200809; +pub const _POSIX_IPV6: u32 = 200809; +pub const _POSIX_RAW_SOCKETS: u32 = 200809; +pub const _POSIX2_CHAR_TERM: u32 = 200809; +pub const _POSIX_SPORADIC_SERVER: i32 = -1; +pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1; +pub const _POSIX_TRACE: i32 = -1; +pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1; +pub const _POSIX_TRACE_INHERIT: i32 = -1; +pub const _POSIX_TRACE_LOG: i32 = -1; +pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1; +pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1; +pub const _POSIX_V6_LPBIG_OFFBIG: i32 = -1; +pub const _XBS5_LPBIG_OFFBIG: i32 = -1; +pub const _POSIX_V7_LP64_OFF64: u32 = 1; +pub const _POSIX_V6_LP64_OFF64: u32 = 1; +pub const _XBS5_LP64_OFF64: u32 = 1; +pub const __ILP32_OFF32_CFLAGS: &'static [u8; 5usize] = b"-m32\0"; +pub const __ILP32_OFF32_LDFLAGS: &'static [u8; 5usize] = b"-m32\0"; +pub const __ILP32_OFFBIG_CFLAGS: &'static [u8; 48usize] = + b"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64\0"; +pub const __ILP32_OFFBIG_LDFLAGS: &'static [u8; 5usize] = b"-m32\0"; +pub const __LP64_OFF64_CFLAGS: &'static [u8; 5usize] = b"-m64\0"; +pub const __LP64_OFF64_LDFLAGS: &'static [u8; 5usize] = b"-m64\0"; +pub const STDIN_FILENO: u32 = 0; +pub const STDOUT_FILENO: u32 = 1; +pub const STDERR_FILENO: u32 = 2; +pub const R_OK: u32 = 4; +pub const W_OK: u32 = 2; +pub const X_OK: u32 = 1; +pub const F_OK: u32 = 0; +pub const L_SET: u32 = 0; +pub const L_INCR: u32 = 1; +pub const L_XTND: u32 = 2; +pub const _GETOPT_POSIX_H: u32 = 1; +pub const _GETOPT_CORE_H: u32 = 1; +pub const F_ULOCK: u32 = 0; +pub const F_LOCK: u32 = 1; +pub const F_TLOCK: u32 = 2; +pub const F_TEST: u32 = 3; +pub const _DIRENT_H: u32 = 1; +pub const _DIRENT_MATCHES_DIRENT64: u32 = 1; +pub const _BITS_POSIX1_LIM_H: u32 = 1; +pub const _POSIX_AIO_LISTIO_MAX: u32 = 2; +pub const _POSIX_AIO_MAX: u32 = 1; +pub const _POSIX_ARG_MAX: u32 = 4096; +pub const _POSIX_CHILD_MAX: u32 = 25; +pub const _POSIX_DELAYTIMER_MAX: u32 = 32; +pub const _POSIX_HOST_NAME_MAX: u32 = 255; +pub const _POSIX_LINK_MAX: u32 = 8; +pub const _POSIX_LOGIN_NAME_MAX: u32 = 9; +pub const _POSIX_MAX_CANON: u32 = 255; +pub const _POSIX_MAX_INPUT: u32 = 255; +pub const _POSIX_MQ_OPEN_MAX: u32 = 8; +pub const _POSIX_MQ_PRIO_MAX: u32 = 32; +pub const _POSIX_NAME_MAX: u32 = 14; +pub const _POSIX_NGROUPS_MAX: u32 = 8; +pub const _POSIX_OPEN_MAX: u32 = 20; +pub const _POSIX_PATH_MAX: u32 = 256; +pub const _POSIX_PIPE_BUF: u32 = 512; +pub const _POSIX_RE_DUP_MAX: u32 = 255; +pub const _POSIX_RTSIG_MAX: u32 = 8; +pub const _POSIX_SEM_NSEMS_MAX: u32 = 256; +pub const _POSIX_SEM_VALUE_MAX: u32 = 32767; +pub const _POSIX_SIGQUEUE_MAX: u32 = 32; +pub const _POSIX_SSIZE_MAX: u32 = 32767; +pub const _POSIX_STREAM_MAX: u32 = 8; +pub const _POSIX_SYMLINK_MAX: u32 = 255; +pub const _POSIX_SYMLOOP_MAX: u32 = 8; +pub const _POSIX_TIMER_MAX: u32 = 32; +pub const _POSIX_TTY_NAME_MAX: u32 = 9; +pub const _POSIX_TZNAME_MAX: u32 = 6; +pub const _POSIX_CLOCKRES_MIN: u32 = 20000000; +pub const NR_OPEN: u32 = 1024; +pub const NGROUPS_MAX: u32 = 65536; +pub const ARG_MAX: u32 = 131072; +pub const LINK_MAX: u32 = 127; +pub const MAX_CANON: u32 = 255; +pub const MAX_INPUT: u32 = 255; +pub const NAME_MAX: u32 = 255; +pub const PATH_MAX: u32 = 4096; +pub const PIPE_BUF: u32 = 4096; +pub const XATTR_NAME_MAX: u32 = 255; +pub const XATTR_SIZE_MAX: u32 = 65536; +pub const XATTR_LIST_MAX: u32 = 65536; +pub const RTSIG_MAX: u32 = 32; +pub const _POSIX_THREAD_KEYS_MAX: u32 = 128; +pub const PTHREAD_KEYS_MAX: u32 = 1024; +pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4; +pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4; +pub const _POSIX_THREAD_THREADS_MAX: u32 = 64; +pub const AIO_PRIO_DELTA_MAX: u32 = 20; +pub const PTHREAD_STACK_MIN: u32 = 16384; +pub const DELAYTIMER_MAX: u32 = 2147483647; +pub const TTY_NAME_MAX: u32 = 32; +pub const LOGIN_NAME_MAX: u32 = 256; +pub const HOST_NAME_MAX: u32 = 64; +pub const MQ_PRIO_MAX: u32 = 32768; +pub const SEM_VALUE_MAX: u32 = 2147483647; +pub const MAXNAMLEN: u32 = 255; +pub const _FCNTL_H: u32 = 1; +pub const __O_LARGEFILE: u32 = 0; +pub const F_GETLK64: u32 = 5; +pub const F_SETLK64: u32 = 6; +pub const F_SETLKW64: u32 = 7; +pub const O_ACCMODE: u32 = 3; +pub const O_RDONLY: u32 = 0; +pub const O_WRONLY: u32 = 1; +pub const O_RDWR: u32 = 2; +pub const O_CREAT: u32 = 64; +pub const O_EXCL: u32 = 128; +pub const O_NOCTTY: u32 = 256; +pub const O_TRUNC: u32 = 512; +pub const O_APPEND: u32 = 1024; +pub const O_NONBLOCK: u32 = 2048; +pub const O_NDELAY: u32 = 2048; +pub const O_SYNC: u32 = 1052672; +pub const O_FSYNC: u32 = 1052672; +pub const O_ASYNC: u32 = 8192; +pub const __O_DIRECTORY: u32 = 65536; +pub const __O_NOFOLLOW: u32 = 131072; +pub const __O_CLOEXEC: u32 = 524288; +pub const __O_DIRECT: u32 = 16384; +pub const __O_NOATIME: u32 = 262144; +pub const __O_PATH: u32 = 2097152; +pub const __O_DSYNC: u32 = 4096; +pub const __O_TMPFILE: u32 = 4259840; +pub const F_GETLK: u32 = 5; +pub const F_SETLK: u32 = 6; +pub const F_SETLKW: u32 = 7; +pub const O_DIRECTORY: u32 = 65536; +pub const O_NOFOLLOW: u32 = 131072; +pub const O_CLOEXEC: u32 = 524288; +pub const O_DSYNC: u32 = 4096; +pub const O_RSYNC: u32 = 1052672; +pub const F_DUPFD: u32 = 0; +pub const F_GETFD: u32 = 1; +pub const F_SETFD: u32 = 2; +pub const F_GETFL: u32 = 3; +pub const F_SETFL: u32 = 4; +pub const __F_SETOWN: u32 = 8; +pub const __F_GETOWN: u32 = 9; +pub const F_SETOWN: u32 = 8; +pub const F_GETOWN: u32 = 9; +pub const __F_SETSIG: u32 = 10; +pub const __F_GETSIG: u32 = 11; +pub const __F_SETOWN_EX: u32 = 15; +pub const __F_GETOWN_EX: u32 = 16; +pub const F_DUPFD_CLOEXEC: u32 = 1030; +pub const FD_CLOEXEC: u32 = 1; +pub const F_RDLCK: u32 = 0; +pub const F_WRLCK: u32 = 1; +pub const F_UNLCK: u32 = 2; +pub const F_EXLCK: u32 = 4; +pub const F_SHLCK: u32 = 8; +pub const LOCK_SH: u32 = 1; +pub const LOCK_EX: u32 = 2; +pub const LOCK_NB: u32 = 4; +pub const LOCK_UN: u32 = 8; +pub const FAPPEND: u32 = 1024; +pub const FFSYNC: u32 = 1052672; +pub const FASYNC: u32 = 8192; +pub const FNONBLOCK: u32 = 2048; +pub const FNDELAY: u32 = 2048; +pub const __POSIX_FADV_DONTNEED: u32 = 4; +pub const __POSIX_FADV_NOREUSE: u32 = 5; +pub const POSIX_FADV_NORMAL: u32 = 0; +pub const POSIX_FADV_RANDOM: u32 = 1; +pub const POSIX_FADV_SEQUENTIAL: u32 = 2; +pub const POSIX_FADV_WILLNEED: u32 = 3; +pub const POSIX_FADV_DONTNEED: u32 = 4; +pub const POSIX_FADV_NOREUSE: u32 = 5; +pub const AT_FDCWD: i32 = -100; +pub const AT_SYMLINK_NOFOLLOW: u32 = 256; +pub const AT_REMOVEDIR: u32 = 512; +pub const AT_SYMLINK_FOLLOW: u32 = 1024; +pub const AT_EACCESS: u32 = 512; +pub const G_GNUC_FUNCTION: &'static [u8; 1usize] = b"\0"; +pub const G_GNUC_PRETTY_FUNCTION: &'static [u8; 1usize] = b"\0"; +pub const G_ANALYZER_ANALYZING: u32 = 0; +pub const FALSE: u32 = 0; +pub const _LIBC_LIMITS_H_: u32 = 1; +pub const MB_LEN_MAX: u32 = 16; +pub const _BITS_POSIX2_LIM_H: u32 = 1; +pub const _POSIX2_BC_BASE_MAX: u32 = 99; +pub const _POSIX2_BC_DIM_MAX: u32 = 2048; +pub const _POSIX2_BC_SCALE_MAX: u32 = 99; +pub const _POSIX2_BC_STRING_MAX: u32 = 1000; +pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2; +pub const _POSIX2_EXPR_NEST_MAX: u32 = 32; +pub const _POSIX2_LINE_MAX: u32 = 2048; +pub const _POSIX2_RE_DUP_MAX: u32 = 255; +pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14; +pub const BC_BASE_MAX: u32 = 99; +pub const BC_DIM_MAX: u32 = 2048; +pub const BC_SCALE_MAX: u32 = 99; +pub const BC_STRING_MAX: u32 = 1000; +pub const COLL_WEIGHTS_MAX: u32 = 255; +pub const EXPR_NEST_MAX: u32 = 32; +pub const LINE_MAX: u32 = 2048; +pub const CHARCLASS_NAME_MAX: u32 = 2048; +pub const RE_DUP_MAX: u32 = 32767; +pub const G_GINT16_MODIFIER: &'static [u8; 2usize] = b"h\0"; +pub const G_GINT16_FORMAT: &'static [u8; 3usize] = b"hi\0"; +pub const G_GUINT16_FORMAT: &'static [u8; 3usize] = b"hu\0"; +pub const G_GINT32_MODIFIER: &'static [u8; 1usize] = b"\0"; +pub const G_GINT32_FORMAT: &'static [u8; 2usize] = b"i\0"; +pub const G_GUINT32_FORMAT: &'static [u8; 2usize] = b"u\0"; +pub const G_HAVE_GINT64: u32 = 1; +pub const G_GINT64_MODIFIER: &'static [u8; 2usize] = b"l\0"; +pub const G_GINT64_FORMAT: &'static [u8; 3usize] = b"li\0"; +pub const G_GUINT64_FORMAT: &'static [u8; 3usize] = b"lu\0"; +pub const GLIB_SIZEOF_VOID_P: u32 = 8; +pub const GLIB_SIZEOF_LONG: u32 = 8; +pub const GLIB_SIZEOF_SIZE_T: u32 = 8; +pub const GLIB_SIZEOF_SSIZE_T: u32 = 8; +pub const G_GSIZE_MODIFIER: &'static [u8; 2usize] = b"l\0"; +pub const G_GSSIZE_MODIFIER: &'static [u8; 2usize] = b"l\0"; +pub const G_GSIZE_FORMAT: &'static [u8; 3usize] = b"lu\0"; +pub const G_GSSIZE_FORMAT: &'static [u8; 3usize] = b"li\0"; +pub const G_GOFFSET_MODIFIER: &'static [u8; 2usize] = b"l\0"; +pub const G_GOFFSET_FORMAT: &'static [u8; 3usize] = b"li\0"; +pub const G_POLLFD_FORMAT: &'static [u8; 3usize] = b"%d\0"; +pub const G_GINTPTR_MODIFIER: &'static [u8; 2usize] = b"l\0"; +pub const G_GINTPTR_FORMAT: &'static [u8; 3usize] = b"li\0"; +pub const G_GUINTPTR_FORMAT: &'static [u8; 3usize] = b"lu\0"; +pub const GLIB_MAJOR_VERSION: u32 = 2; +pub const GLIB_MINOR_VERSION: u32 = 56; +pub const GLIB_MICRO_VERSION: u32 = 4; +pub const G_VA_COPY_AS_ARRAY: u32 = 1; +pub const G_HAVE_ISO_VARARGS: u32 = 1; +pub const G_HAVE_GNUC_VARARGS: u32 = 1; +pub const G_HAVE_GROWING_STACK: u32 = 0; +pub const G_HAVE_GNUC_VISIBILITY: u32 = 1; +pub const G_MODULE_SUFFIX: &'static [u8; 3usize] = b"so\0"; +pub const G_PID_FORMAT: &'static [u8; 2usize] = b"i\0"; +pub const GLIB_SYSDEF_AF_UNIX: u32 = 1; +pub const GLIB_SYSDEF_AF_INET: u32 = 2; +pub const GLIB_SYSDEF_AF_INET6: u32 = 10; +pub const GLIB_SYSDEF_MSG_OOB: u32 = 1; +pub const GLIB_SYSDEF_MSG_PEEK: u32 = 2; +pub const GLIB_SYSDEF_MSG_DONTROUTE: u32 = 4; +pub const G_DIR_SEPARATOR: u8 = 47u8; +pub const G_DIR_SEPARATOR_S: &'static [u8; 2usize] = b"/\0"; +pub const G_SEARCHPATH_SEPARATOR: u8 = 58u8; +pub const G_SEARCHPATH_SEPARATOR_S: &'static [u8; 2usize] = b":\0"; +pub const G_E: f64 = 2.718281828459045; +pub const G_LN2: f64 = 0.6931471805599453; +pub const G_LN10: f64 = 2.302585092994046; +pub const G_PI: f64 = 3.141592653589793; +pub const G_PI_2: f64 = 1.5707963267948966; +pub const G_PI_4: f64 = 0.7853981633974483; +pub const G_SQRT2: f64 = 1.4142135623730951; +pub const G_LITTLE_ENDIAN: u32 = 1234; +pub const G_BIG_ENDIAN: u32 = 4321; +pub const G_PDP_ENDIAN: u32 = 3412; +pub const G_IEEE754_FLOAT_BIAS: u32 = 127; +pub const G_IEEE754_DOUBLE_BIAS: u32 = 1023; +pub const G_LOG_2_BASE_10: f64 = 0.3010299956639812; +pub const _BITS_SIGNUM_H: u32 = 1; +pub const _BITS_SIGNUM_GENERIC_H: u32 = 1; +pub const SIGINT: u32 = 2; +pub const SIGILL: u32 = 4; +pub const SIGABRT: u32 = 6; +pub const SIGFPE: u32 = 8; +pub const SIGSEGV: u32 = 11; +pub const SIGTERM: u32 = 15; +pub const SIGHUP: u32 = 1; +pub const SIGQUIT: u32 = 3; +pub const SIGTRAP: u32 = 5; +pub const SIGKILL: u32 = 9; +pub const SIGBUS: u32 = 10; +pub const SIGSYS: u32 = 12; +pub const SIGPIPE: u32 = 13; +pub const SIGALRM: u32 = 14; +pub const SIGURG: u32 = 16; +pub const SIGSTOP: u32 = 17; +pub const SIGTSTP: u32 = 18; +pub const SIGCONT: u32 = 19; +pub const SIGCHLD: u32 = 20; +pub const SIGTTIN: u32 = 21; +pub const SIGTTOU: u32 = 22; +pub const SIGPOLL: u32 = 23; +pub const SIGXCPU: u32 = 24; +pub const SIGXFSZ: u32 = 25; +pub const SIGVTALRM: u32 = 26; +pub const SIGPROF: u32 = 27; +pub const SIGUSR1: u32 = 30; +pub const SIGUSR2: u32 = 31; +pub const SIGWINCH: u32 = 28; +pub const SIGIO: u32 = 23; +pub const SIGIOT: u32 = 6; +pub const SIGCLD: u32 = 20; +pub const __SIGRTMIN: u32 = 32; +pub const __SIGRTMAX: u32 = 32; +pub const _NSIG: u32 = 33; +pub const SIGSTKFLT: u32 = 16; +pub const SIGPWR: u32 = 30; +pub const __sig_atomic_t_defined: u32 = 1; +pub const __siginfo_t_defined: u32 = 1; +pub const __SI_MAX_SIZE: u32 = 128; +pub const _BITS_SIGINFO_ARCH_H: u32 = 1; +pub const __SI_ERRNO_THEN_CODE: u32 = 1; +pub const __SI_HAVE_SIGSYS: u32 = 1; +pub const _BITS_SIGINFO_CONSTS_H: u32 = 1; +pub const __SI_ASYNCIO_AFTER_SIGIO: u32 = 1; +pub const __sigevent_t_defined: u32 = 1; +pub const __SIGEV_MAX_SIZE: u32 = 64; +pub const _BITS_SIGEVENT_CONSTS_H: u32 = 1; +pub const NSIG: u32 = 33; +pub const SA_NOCLDSTOP: u32 = 1; +pub const SA_NOCLDWAIT: u32 = 2; +pub const SA_SIGINFO: u32 = 4; +pub const SA_ONSTACK: u32 = 134217728; +pub const SA_RESTART: u32 = 268435456; +pub const SA_NODEFER: u32 = 1073741824; +pub const SA_RESETHAND: u32 = 2147483648; +pub const SA_INTERRUPT: u32 = 536870912; +pub const SA_NOMASK: u32 = 1073741824; +pub const SA_ONESHOT: u32 = 2147483648; +pub const SA_STACK: u32 = 134217728; +pub const SIG_BLOCK: u32 = 0; +pub const SIG_UNBLOCK: u32 = 1; +pub const SIG_SETMASK: u32 = 2; +pub const _BITS_SIGCONTEXT_H: u32 = 1; +pub const FP_XSTATE_MAGIC1: u32 = 1179670611; +pub const FP_XSTATE_MAGIC2: u32 = 1179670597; +pub const __stack_t_defined: u32 = 1; +pub const _SYS_UCONTEXT_H: u32 = 1; +pub const __NGREG: u32 = 23; +pub const NGREG: u32 = 23; +pub const _BITS_SIGSTACK_H: u32 = 1; +pub const MINSIGSTKSZ: u32 = 2048; +pub const SIGSTKSZ: u32 = 8192; +pub const _BITS_SS_FLAGS_H: u32 = 1; +pub const __sigstack_defined: u32 = 1; +pub const _BITS_SIGTHREAD_H: u32 = 1; +pub const G_DATALIST_FLAGS_MASK: u32 = 3; +pub const G_DATE_BAD_JULIAN: u32 = 0; +pub const G_DATE_BAD_DAY: u32 = 0; +pub const G_DATE_BAD_YEAR: u32 = 0; +pub const G_MEM_ALIGN: u32 = 8; +pub const G_HOOK_FLAG_USER_SHIFT: u32 = 4; +pub const G_PRIORITY_HIGH: i32 = -100; +pub const G_PRIORITY_DEFAULT: u32 = 0; +pub const G_PRIORITY_HIGH_IDLE: u32 = 100; +pub const G_PRIORITY_DEFAULT_IDLE: u32 = 200; +pub const G_PRIORITY_LOW: u32 = 300; +pub const G_SOURCE_REMOVE: u32 = 0; +pub const G_UNICHAR_MAX_DECOMPOSITION_LENGTH: u32 = 18; +pub const G_KEY_FILE_DESKTOP_GROUP: &'static [u8; 14usize] = b"Desktop Entry\0"; +pub const G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX: &'static [u8; 15usize] = b"Desktop Action\0"; +pub const G_KEY_FILE_DESKTOP_KEY_TYPE: &'static [u8; 5usize] = b"Type\0"; +pub const G_KEY_FILE_DESKTOP_KEY_VERSION: &'static [u8; 8usize] = b"Version\0"; +pub const G_KEY_FILE_DESKTOP_KEY_NAME: &'static [u8; 5usize] = b"Name\0"; +pub const G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME: &'static [u8; 12usize] = b"GenericName\0"; +pub const G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY: &'static [u8; 10usize] = b"NoDisplay\0"; +pub const G_KEY_FILE_DESKTOP_KEY_COMMENT: &'static [u8; 8usize] = b"Comment\0"; +pub const G_KEY_FILE_DESKTOP_KEY_ICON: &'static [u8; 5usize] = b"Icon\0"; +pub const G_KEY_FILE_DESKTOP_KEY_HIDDEN: &'static [u8; 7usize] = b"Hidden\0"; +pub const G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN: &'static [u8; 11usize] = b"OnlyShowIn\0"; +pub const G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN: &'static [u8; 10usize] = b"NotShowIn\0"; +pub const G_KEY_FILE_DESKTOP_KEY_TRY_EXEC: &'static [u8; 8usize] = b"TryExec\0"; +pub const G_KEY_FILE_DESKTOP_KEY_EXEC: &'static [u8; 5usize] = b"Exec\0"; +pub const G_KEY_FILE_DESKTOP_KEY_PATH: &'static [u8; 5usize] = b"Path\0"; +pub const G_KEY_FILE_DESKTOP_KEY_TERMINAL: &'static [u8; 9usize] = b"Terminal\0"; +pub const G_KEY_FILE_DESKTOP_KEY_MIME_TYPE: &'static [u8; 9usize] = b"MimeType\0"; +pub const G_KEY_FILE_DESKTOP_KEY_CATEGORIES: &'static [u8; 11usize] = b"Categories\0"; +pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY: &'static [u8; 14usize] = b"StartupNotify\0"; +pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS: &'static [u8; 15usize] = b"StartupWMClass\0"; +pub const G_KEY_FILE_DESKTOP_KEY_URL: &'static [u8; 4usize] = b"URL\0"; +pub const G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE: &'static [u8; 16usize] = b"DBusActivatable\0"; +pub const G_KEY_FILE_DESKTOP_KEY_ACTIONS: &'static [u8; 8usize] = b"Actions\0"; +pub const G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN: &'static [u8; 23usize] = + b"X-GNOME-Gettext-Domain\0"; +pub const G_KEY_FILE_DESKTOP_KEY_FULLNAME: &'static [u8; 17usize] = b"X-GNOME-FullName\0"; +pub const G_KEY_FILE_DESKTOP_KEY_KEYWORDS: &'static [u8; 9usize] = b"Keywords\0"; +pub const G_KEY_FILE_DESKTOP_TYPE_APPLICATION: &'static [u8; 12usize] = b"Application\0"; +pub const G_KEY_FILE_DESKTOP_TYPE_LINK: &'static [u8; 5usize] = b"Link\0"; +pub const G_KEY_FILE_DESKTOP_TYPE_DIRECTORY: &'static [u8; 10usize] = b"Directory\0"; +pub const G_LOG_LEVEL_USER_SHIFT: u32 = 8; +pub const G_OPTION_REMAINING: &'static [u8; 1usize] = b"\0"; +pub const G_CSET_A_2_Z: &'static [u8; 27usize] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\0"; +pub const G_CSET_a_2_z: &'static [u8; 27usize] = b"abcdefghijklmnopqrstuvwxyz\0"; +pub const G_CSET_DIGITS: &'static [u8; 11usize] = b"0123456789\0"; +pub const G_CSET_LATINC: [u8; 31usize] = [ + 192u8, 193u8, 194u8, 195u8, 196u8, 197u8, 198u8, 199u8, 200u8, 201u8, 202u8, 203u8, 204u8, + 205u8, 206u8, 207u8, 208u8, 209u8, 210u8, 211u8, 212u8, 213u8, 214u8, 216u8, 217u8, 218u8, + 219u8, 220u8, 221u8, 222u8, 0u8, +]; +pub const G_CSET_LATINS: [u8; 33usize] = [ + 223u8, 224u8, 225u8, 226u8, 227u8, 228u8, 229u8, 230u8, 231u8, 232u8, 233u8, 234u8, 235u8, + 236u8, 237u8, 238u8, 239u8, 240u8, 241u8, 242u8, 243u8, 244u8, 245u8, 246u8, 248u8, 249u8, + 250u8, 251u8, 252u8, 253u8, 254u8, 255u8, 0u8, +]; +pub const G_STR_DELIMITERS: &'static [u8; 8usize] = b"_-|> <.\0"; +pub const G_ASCII_DTOSTR_BUF_SIZE: u32 = 39; +pub const G_USEC_PER_SEC: u32 = 1000000; +pub const G_URI_RESERVED_CHARS_GENERIC_DELIMITERS: &'static [u8; 8usize] = b":/?#[]@\0"; +pub const G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS: &'static [u8; 12usize] = b"!$&'()*+,;=\0"; +pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT: &'static [u8; 14usize] = b"!$&'()*+,;=:@\0"; +pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH: &'static [u8; 15usize] = b"!$&'()*+,;=:@/\0"; +pub const G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO: &'static [u8; 13usize] = b"!$&'()*+,;=:\0"; +pub const G_ALLOC_ONLY: u32 = 1; +pub const G_ALLOC_AND_FREE: u32 = 2; +pub const G_ALLOCATOR_LIST: u32 = 1; +pub const G_ALLOCATOR_SLIST: u32 = 2; +pub const G_ALLOCATOR_NODE: u32 = 3; +pub const _PTHREAD_H: u32 = 1; +pub const _SCHED_H: u32 = 1; +pub const _BITS_SCHED_H: u32 = 1; +pub const SCHED_OTHER: u32 = 0; +pub const SCHED_FIFO: u32 = 1; +pub const SCHED_RR: u32 = 2; +pub const _BITS_CPU_SET_H: u32 = 1; +pub const __CPU_SETSIZE: u32 = 1024; +pub const _BITS_SETJMP_H: u32 = 1; +pub const PTHREAD_ONCE_INIT: u32 = 0; +pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1; +pub const PRIuUOFF_T: &'static [u8; 3usize] = b"lu\0"; +pub const G_INPUT_READ: u32 = 1; +pub const G_INPUT_WRITE: u32 = 2; +pub const SIGNAL_PRIORITY_LOW: u32 = 100; +pub const SIGNAL_PRIORITY_DEFAULT: u32 = 0; +pub const SIGNAL_PRIORITY_HIGH: i32 = -100; +pub const SIGNAL_MAX_ARGUMENTS: u32 = 6; +pub const IRSSI_GUI_NONE: u32 = 0; +pub const IRSSI_GUI_TEXT: u32 = 1; +pub const IRSSI_GUI_GTK: u32 = 2; +pub const IRSSI_GUI_GNOME: u32 = 3; +pub const IRSSI_GUI_QT: u32 = 4; +pub const IRSSI_GUI_KDE: u32 = 5; +pub type __u_char = ::std::os::raw::c_uchar; +pub type __u_short = ::std::os::raw::c_ushort; +pub type __u_int = ::std::os::raw::c_uint; +pub type __u_long = ::std::os::raw::c_ulong; +pub type __int8_t = ::std::os::raw::c_schar; +pub type __uint8_t = ::std::os::raw::c_uchar; +pub type __int16_t = ::std::os::raw::c_short; +pub type __uint16_t = ::std::os::raw::c_ushort; +pub type __int32_t = ::std::os::raw::c_int; +pub type __uint32_t = ::std::os::raw::c_uint; +pub type __int64_t = ::std::os::raw::c_long; +pub type __uint64_t = ::std::os::raw::c_ulong; +pub type __quad_t = ::std::os::raw::c_long; +pub type __u_quad_t = ::std::os::raw::c_ulong; +pub type __intmax_t = ::std::os::raw::c_long; +pub type __uintmax_t = ::std::os::raw::c_ulong; +pub type __dev_t = ::std::os::raw::c_ulong; +pub type __uid_t = ::std::os::raw::c_uint; +pub type __gid_t = ::std::os::raw::c_uint; +pub type __ino_t = ::std::os::raw::c_ulong; +pub type __ino64_t = ::std::os::raw::c_ulong; +pub type __mode_t = ::std::os::raw::c_uint; +pub type __nlink_t = ::std::os::raw::c_ulong; +pub type __off_t = ::std::os::raw::c_long; +pub type __off64_t = ::std::os::raw::c_long; +pub type __pid_t = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __fsid_t { + pub __val: [::std::os::raw::c_int; 2usize], +} +#[test] +fn bindgen_test_layout___fsid_t() { + assert_eq!( + ::std::mem::size_of::<__fsid_t>(), + 8usize, + concat!("Size of: ", stringify!(__fsid_t)) + ); + assert_eq!( + ::std::mem::align_of::<__fsid_t>(), + 4usize, + concat!("Alignment of ", stringify!(__fsid_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__fsid_t), + "::", + stringify!(__val) + ) + ); +} +pub type __clock_t = ::std::os::raw::c_long; +pub type __rlim_t = ::std::os::raw::c_ulong; +pub type __rlim64_t = ::std::os::raw::c_ulong; +pub type __id_t = ::std::os::raw::c_uint; +pub type __time_t = ::std::os::raw::c_long; +pub type __useconds_t = ::std::os::raw::c_uint; +pub type __suseconds_t = ::std::os::raw::c_long; +pub type __daddr_t = ::std::os::raw::c_int; +pub type __key_t = ::std::os::raw::c_int; +pub type __clockid_t = ::std::os::raw::c_int; +pub type __timer_t = *mut ::std::os::raw::c_void; +pub type __blksize_t = ::std::os::raw::c_long; +pub type __blkcnt_t = ::std::os::raw::c_long; +pub type __blkcnt64_t = ::std::os::raw::c_long; +pub type __fsblkcnt_t = ::std::os::raw::c_ulong; +pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; +pub type __fsfilcnt_t = ::std::os::raw::c_ulong; +pub type __fsfilcnt64_t = ::std::os::raw::c_ulong; +pub type __fsword_t = ::std::os::raw::c_long; +pub type __ssize_t = ::std::os::raw::c_long; +pub type __syscall_slong_t = ::std::os::raw::c_long; +pub type __syscall_ulong_t = ::std::os::raw::c_ulong; +pub type __loff_t = __off64_t; +pub type __caddr_t = *mut ::std::os::raw::c_char; +pub type __intptr_t = ::std::os::raw::c_long; +pub type __socklen_t = ::std::os::raw::c_uint; +pub type __sig_atomic_t = ::std::os::raw::c_int; +pub type __FILE = _IO_FILE; +pub type FILE = _IO_FILE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __mbstate_t { + pub __count: ::std::os::raw::c_int, + pub __value: __mbstate_t__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __mbstate_t__bindgen_ty_1 { + pub __wch: ::std::os::raw::c_uint, + pub __wchb: [::std::os::raw::c_char; 4usize], + _bindgen_union_align: u32, +} +#[test] +fn bindgen_test_layout___mbstate_t__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wch as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__mbstate_t__bindgen_ty_1), + "::", + stringify!(__wch) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wchb as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__mbstate_t__bindgen_ty_1), + "::", + stringify!(__wchb) + ) + ); +} +#[test] +fn bindgen_test_layout___mbstate_t() { + assert_eq!( + ::std::mem::size_of::<__mbstate_t>(), + 8usize, + concat!("Size of: ", stringify!(__mbstate_t)) + ); + assert_eq!( + ::std::mem::align_of::<__mbstate_t>(), + 4usize, + concat!("Alignment of ", stringify!(__mbstate_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__count as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__mbstate_t), + "::", + stringify!(__count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__value as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__mbstate_t), + "::", + stringify!(__value) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _G_fpos_t { + pub __pos: __off_t, + pub __state: __mbstate_t, +} +#[test] +fn bindgen_test_layout__G_fpos_t() { + assert_eq!( + ::std::mem::size_of::<_G_fpos_t>(), + 16usize, + concat!("Size of: ", stringify!(_G_fpos_t)) + ); + assert_eq!( + ::std::mem::align_of::<_G_fpos_t>(), + 8usize, + concat!("Alignment of ", stringify!(_G_fpos_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__pos as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_G_fpos_t), + "::", + stringify!(__pos) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__state as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_G_fpos_t), + "::", + stringify!(__state) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _G_fpos64_t { + pub __pos: __off64_t, + pub __state: __mbstate_t, +} +#[test] +fn bindgen_test_layout__G_fpos64_t() { + assert_eq!( + ::std::mem::size_of::<_G_fpos64_t>(), + 16usize, + concat!("Size of: ", stringify!(_G_fpos64_t)) + ); + assert_eq!( + ::std::mem::align_of::<_G_fpos64_t>(), + 8usize, + concat!("Alignment of ", stringify!(_G_fpos64_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__pos as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_G_fpos64_t), + "::", + stringify!(__pos) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__state as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_G_fpos64_t), + "::", + stringify!(__state) + ) + ); +} +pub type va_list = __builtin_va_list; +pub type __gnuc_va_list = __builtin_va_list; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_jump_t { + _unused: [u8; 0], +} +pub type _IO_lock_t = ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_marker { + pub _next: *mut _IO_marker, + pub _sbuf: *mut _IO_FILE, + pub _pos: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__IO_marker() { + assert_eq!( + ::std::mem::size_of::<_IO_marker>(), + 24usize, + concat!("Size of: ", stringify!(_IO_marker)) + ); + assert_eq!( + ::std::mem::align_of::<_IO_marker>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_marker)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_marker>()))._next as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IO_marker), + "::", + stringify!(_next) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_marker>()))._sbuf as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IO_marker), + "::", + stringify!(_sbuf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_marker>()))._pos as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IO_marker), + "::", + stringify!(_pos) + ) + ); +} +pub const __codecvt_result___codecvt_ok: __codecvt_result = 0; +pub const __codecvt_result___codecvt_partial: __codecvt_result = 1; +pub const __codecvt_result___codecvt_error: __codecvt_result = 2; +pub const __codecvt_result___codecvt_noconv: __codecvt_result = 3; +pub type __codecvt_result = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_FILE { + pub _flags: ::std::os::raw::c_int, + pub _IO_read_ptr: *mut ::std::os::raw::c_char, + pub _IO_read_end: *mut ::std::os::raw::c_char, + pub _IO_read_base: *mut ::std::os::raw::c_char, + pub _IO_write_base: *mut ::std::os::raw::c_char, + pub _IO_write_ptr: *mut ::std::os::raw::c_char, + pub _IO_write_end: *mut ::std::os::raw::c_char, + pub _IO_buf_base: *mut ::std::os::raw::c_char, + pub _IO_buf_end: *mut ::std::os::raw::c_char, + pub _IO_save_base: *mut ::std::os::raw::c_char, + pub _IO_backup_base: *mut ::std::os::raw::c_char, + pub _IO_save_end: *mut ::std::os::raw::c_char, + pub _markers: *mut _IO_marker, + pub _chain: *mut _IO_FILE, + pub _fileno: ::std::os::raw::c_int, + pub _flags2: ::std::os::raw::c_int, + pub _old_offset: __off_t, + pub _cur_column: ::std::os::raw::c_ushort, + pub _vtable_offset: ::std::os::raw::c_schar, + pub _shortbuf: [::std::os::raw::c_char; 1usize], + pub _lock: *mut _IO_lock_t, + pub _offset: __off64_t, + pub __pad1: *mut ::std::os::raw::c_void, + pub __pad2: *mut ::std::os::raw::c_void, + pub __pad3: *mut ::std::os::raw::c_void, + pub __pad4: *mut ::std::os::raw::c_void, + pub __pad5: usize, + pub _mode: ::std::os::raw::c_int, + pub _unused2: [::std::os::raw::c_char; 20usize], +} +#[test] +fn bindgen_test_layout__IO_FILE() { + assert_eq!( + ::std::mem::size_of::<_IO_FILE>(), + 216usize, + concat!("Size of: ", stringify!(_IO_FILE)) + ); + assert_eq!( + ::std::mem::align_of::<_IO_FILE>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_FILE)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_read_ptr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_read_end) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_read_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_write_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_write_ptr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_write_end) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_buf_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_buf_end) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_save_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_backup_base) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_IO_save_end) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_markers) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_chain) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_fileno) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_flags2) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_old_offset) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_cur_column) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize }, + 130usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_vtable_offset) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize }, + 131usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_shortbuf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_lock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_offset) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad1 as *const _ as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(__pad1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad2 as *const _ as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(__pad2) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad3 as *const _ as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(__pad3) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad4 as *const _ as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(__pad4) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(__pad5) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_mode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_IO_FILE), + "::", + stringify!(_unused2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_FILE_plus { + _unused: [u8; 0], +} +extern "C" { + pub static mut _IO_2_1_stdin_: _IO_FILE_plus; +} +extern "C" { + pub static mut _IO_2_1_stdout_: _IO_FILE_plus; +} +extern "C" { + pub static mut _IO_2_1_stderr_: _IO_FILE_plus; +} +pub type __io_read_fn = ::std::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *mut ::std::os::raw::c_char, + __nbytes: usize, + ) -> __ssize_t, +>; +pub type __io_write_fn = ::std::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *const ::std::os::raw::c_char, + __n: usize, + ) -> __ssize_t, +>; +pub type __io_seek_fn = ::std::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __pos: *mut __off64_t, + __w: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, +>; +pub type __io_close_fn = ::std::option::Option< + unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn __underflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __uflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __overflow(arg1: *mut _IO_FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_getc(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_putc(__c: ::std::os::raw::c_int, __fp: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_feof(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_ferror(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_peekc_locked(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_flockfile(arg1: *mut _IO_FILE); +} +extern "C" { + pub fn _IO_funlockfile(arg1: *mut _IO_FILE); +} +extern "C" { + pub fn _IO_ftrylockfile(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_vfscanf( + arg1: *mut _IO_FILE, + arg2: *const ::std::os::raw::c_char, + arg3: *mut __va_list_tag, + arg4: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_vfprintf( + arg1: *mut _IO_FILE, + arg2: *const ::std::os::raw::c_char, + arg3: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _IO_padn(arg1: *mut _IO_FILE, arg2: ::std::os::raw::c_int, arg3: __ssize_t) + -> __ssize_t; +} +extern "C" { + pub fn _IO_sgetn(arg1: *mut _IO_FILE, arg2: *mut ::std::os::raw::c_void, arg3: usize) -> usize; +} +extern "C" { + pub fn _IO_seekoff( + arg1: *mut _IO_FILE, + arg2: __off64_t, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + ) -> __off64_t; +} +extern "C" { + pub fn _IO_seekpos( + arg1: *mut _IO_FILE, + arg2: __off64_t, + arg3: ::std::os::raw::c_int, + ) -> __off64_t; +} +extern "C" { + pub fn _IO_free_backup_area(arg1: *mut _IO_FILE); +} +pub type off_t = __off_t; +pub type fpos_t = _G_fpos_t; +extern "C" { + pub static mut stdin: *mut _IO_FILE; +} +extern "C" { + pub static mut stdout: *mut _IO_FILE; +} +extern "C" { + pub static mut stderr: *mut _IO_FILE; +} +extern "C" { + pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn rename( + __old: *const ::std::os::raw::c_char, + __new: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn renameat( + __oldfd: ::std::os::raw::c_int, + __old: *const ::std::os::raw::c_char, + __newfd: ::std::os::raw::c_int, + __new: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn tmpfile() -> *mut FILE; +} +extern "C" { + pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn tempnam( + __dir: *const ::std::os::raw::c_char, + __pfx: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fopen( + __filename: *const ::std::os::raw::c_char, + __modes: *const ::std::os::raw::c_char, + ) -> *mut FILE; +} +extern "C" { + pub fn freopen( + __filename: *const ::std::os::raw::c_char, + __modes: *const ::std::os::raw::c_char, + __stream: *mut FILE, + ) -> *mut FILE; +} +extern "C" { + pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char) + -> *mut FILE; +} +extern "C" { + pub fn fmemopen( + __s: *mut ::std::os::raw::c_void, + __len: usize, + __modes: *const ::std::os::raw::c_char, + ) -> *mut FILE; +} +extern "C" { + pub fn open_memstream( + __bufloc: *mut *mut ::std::os::raw::c_char, + __sizeloc: *mut usize, + ) -> *mut FILE; +} +extern "C" { + pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char); +} +extern "C" { + pub fn setvbuf( + __stream: *mut FILE, + __buf: *mut ::std::os::raw::c_char, + __modes: ::std::os::raw::c_int, + __n: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize); +} +extern "C" { + pub fn setlinebuf(__stream: *mut FILE); +} +extern "C" { + pub fn fprintf( + __stream: *mut FILE, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sprintf( + __s: *mut ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vfprintf( + __s: *mut FILE, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vprintf( + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vsprintf( + __s: *mut ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn snprintf( + __s: *mut ::std::os::raw::c_char, + __maxlen: ::std::os::raw::c_ulong, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vsnprintf( + __s: *mut ::std::os::raw::c_char, + __maxlen: ::std::os::raw::c_ulong, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vdprintf( + __fd: ::std::os::raw::c_int, + __fmt: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn dprintf( + __fd: ::std::os::raw::c_int, + __fmt: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fscanf( + __stream: *mut FILE, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sscanf( + __s: *const ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}__isoc99_fscanf"] + pub fn fscanf1( + __stream: *mut FILE, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}__isoc99_scanf"] + pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}__isoc99_sscanf"] + pub fn sscanf1( + __s: *const ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vfscanf( + __s: *mut FILE, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vscanf( + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vsscanf( + __s: *const ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}__isoc99_vfscanf"] + pub fn vfscanf1( + __s: *mut FILE, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}__isoc99_vscanf"] + pub fn vscanf1( + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}__isoc99_vsscanf"] + pub fn vsscanf1( + __s: *const ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getchar() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getchar_unlocked() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fgets( + __s: *mut ::std::os::raw::c_char, + __n: ::std::os::raw::c_int, + __stream: *mut FILE, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __getdelim( + __lineptr: *mut *mut ::std::os::raw::c_char, + __n: *mut usize, + __delimiter: ::std::os::raw::c_int, + __stream: *mut FILE, + ) -> __ssize_t; +} +extern "C" { + pub fn getdelim( + __lineptr: *mut *mut ::std::os::raw::c_char, + __n: *mut usize, + __delimiter: ::std::os::raw::c_int, + __stream: *mut FILE, + ) -> __ssize_t; +} +extern "C" { + pub fn getline( + __lineptr: *mut *mut ::std::os::raw::c_char, + __n: *mut usize, + __stream: *mut FILE, + ) -> __ssize_t; +} +extern "C" { + pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fread( + __ptr: *mut ::std::os::raw::c_void, + __size: usize, + __n: usize, + __stream: *mut FILE, + ) -> usize; +} +extern "C" { + pub fn fwrite( + __ptr: *const ::std::os::raw::c_void, + __size: usize, + __n: usize, + __s: *mut FILE, + ) -> usize; +} +extern "C" { + pub fn fread_unlocked( + __ptr: *mut ::std::os::raw::c_void, + __size: usize, + __n: usize, + __stream: *mut FILE, + ) -> usize; +} +extern "C" { + pub fn fwrite_unlocked( + __ptr: *const ::std::os::raw::c_void, + __size: usize, + __n: usize, + __stream: *mut FILE, + ) -> usize; +} +extern "C" { + pub fn fseek( + __stream: *mut FILE, + __off: ::std::os::raw::c_long, + __whence: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn rewind(__stream: *mut FILE); +} +extern "C" { + pub fn fseeko( + __stream: *mut FILE, + __off: __off_t, + __whence: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ftello(__stream: *mut FILE) -> __off_t; +} +extern "C" { + pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clearerr(__stream: *mut FILE); +} +extern "C" { + pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clearerr_unlocked(__stream: *mut FILE); +} +extern "C" { + pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn perror(__s: *const ::std::os::raw::c_char); +} +extern "C" { + pub static mut sys_nerr: ::std::os::raw::c_int; +} +extern "C" { + pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize]; +} +extern "C" { + pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn popen( + __command: *const ::std::os::raw::c_char, + __modes: *const ::std::os::raw::c_char, + ) -> *mut FILE; +} +extern "C" { + pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn flockfile(__stream: *mut FILE); +} +extern "C" { + pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn funlockfile(__stream: *mut FILE); +} +pub type wchar_t = ::std::os::raw::c_int; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct max_align_t { + pub __clang_max_align_nonce1: ::std::os::raw::c_longlong, + pub __bindgen_padding_0: u64, + pub __clang_max_align_nonce2: u128, +} +#[test] +fn bindgen_test_layout_max_align_t() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(max_align_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 16usize, + concat!("Alignment of ", stringify!(max_align_t)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).__clang_max_align_nonce1 as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(max_align_t), + "::", + stringify!(__clang_max_align_nonce1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).__clang_max_align_nonce2 as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(max_align_t), + "::", + stringify!(__clang_max_align_nonce2) + ) + ); +} +pub const _ISupper: _bindgen_ty_1 = 256; +pub const _ISlower: _bindgen_ty_1 = 512; +pub const _ISalpha: _bindgen_ty_1 = 1024; +pub const _ISdigit: _bindgen_ty_1 = 2048; +pub const _ISxdigit: _bindgen_ty_1 = 4096; +pub const _ISspace: _bindgen_ty_1 = 8192; +pub const _ISprint: _bindgen_ty_1 = 16384; +pub const _ISgraph: _bindgen_ty_1 = 32768; +pub const _ISblank: _bindgen_ty_1 = 1; +pub const _IScntrl: _bindgen_ty_1 = 2; +pub const _ISpunct: _bindgen_ty_1 = 4; +pub const _ISalnum: _bindgen_ty_1 = 8; +pub type _bindgen_ty_1 = u32; +extern "C" { + pub fn __ctype_b_loc() -> *mut *const ::std::os::raw::c_ushort; +} +extern "C" { + pub fn __ctype_tolower_loc() -> *mut *const __int32_t; +} +extern "C" { + pub fn __ctype_toupper_loc() -> *mut *const __int32_t; +} +extern "C" { + pub fn isalnum(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isalpha(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iscntrl(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isdigit(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn islower(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isgraph(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isprint(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ispunct(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isspace(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isupper(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isxdigit(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn tolower(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn toupper(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isblank(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isascii(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn toascii(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _toupper(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _tolower(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __locale_struct { + pub __locales: [*mut __locale_data; 13usize], + pub __ctype_b: *const ::std::os::raw::c_ushort, + pub __ctype_tolower: *const ::std::os::raw::c_int, + pub __ctype_toupper: *const ::std::os::raw::c_int, + pub __names: [*const ::std::os::raw::c_char; 13usize], +} +#[test] +fn bindgen_test_layout___locale_struct() { + assert_eq!( + ::std::mem::size_of::<__locale_struct>(), + 232usize, + concat!("Size of: ", stringify!(__locale_struct)) + ); + assert_eq!( + ::std::mem::align_of::<__locale_struct>(), + 8usize, + concat!("Alignment of ", stringify!(__locale_struct)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__locale_struct>())).__locales as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__locale_struct), + "::", + stringify!(__locales) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_b as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(__locale_struct), + "::", + stringify!(__ctype_b) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_tolower as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(__locale_struct), + "::", + stringify!(__ctype_tolower) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_toupper as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(__locale_struct), + "::", + stringify!(__ctype_toupper) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__locale_struct>())).__names as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(__locale_struct), + "::", + stringify!(__names) + ) + ); +} +pub type __locale_t = *mut __locale_struct; +pub type locale_t = __locale_t; +extern "C" { + pub fn isalnum_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isalpha_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iscntrl_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isdigit_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn islower_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isgraph_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isprint_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ispunct_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isspace_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isupper_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isxdigit_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isblank_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __tolower_l(__c: ::std::os::raw::c_int, __l: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn tolower_l(__c: ::std::os::raw::c_int, __l: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __toupper_l(__c: ::std::os::raw::c_int, __l: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn toupper_l(__c: ::std::os::raw::c_int, __l: locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memcpy( + __dest: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memmove( + __dest: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memccpy( + __dest: *mut ::std::os::raw::c_void, + __src: *const ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __n: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memset( + __s: *mut ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memcmp( + __s1: *const ::std::os::raw::c_void, + __s2: *const ::std::os::raw::c_void, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memchr( + __s: *const ::std::os::raw::c_void, + __c: ::std::os::raw::c_int, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strcpy( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncpy( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcat( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncat( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strncmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcoll( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strxfrm( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strcoll_l( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __l: locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strxfrm_l( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: usize, + __l: locale_t, + ) -> usize; +} +extern "C" { + pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strndup( + __string: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strchr( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strrchr( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcspn( + __s: *const ::std::os::raw::c_char, + __reject: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strspn( + __s: *const ::std::os::raw::c_char, + __accept: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strpbrk( + __s: *const ::std::os::raw::c_char, + __accept: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strstr( + __haystack: *const ::std::os::raw::c_char, + __needle: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strtok( + __s: *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __strtok_r( + __s: *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, + __save_ptr: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strtok_r( + __s: *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, + __save_ptr: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize; +} +extern "C" { + pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + #[link_name = "\u{1}__xpg_strerror_r"] + pub fn strerror_r( + __errnum: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __buflen: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strerror_l( + __errnum: ::std::os::raw::c_int, + __l: locale_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn bcmp( + __s1: *const ::std::os::raw::c_void, + __s2: *const ::std::os::raw::c_void, + __n: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn bcopy( + __src: *const ::std::os::raw::c_void, + __dest: *mut ::std::os::raw::c_void, + __n: usize, + ); +} +extern "C" { + pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong); +} +extern "C" { + pub fn index( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn rindex( + __s: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcasecmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strncasecmp( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcasecmp_l( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __loc: locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strncasecmp_l( + __s1: *const ::std::os::raw::c_char, + __s2: *const ::std::os::raw::c_char, + __n: usize, + __loc: locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize); +} +extern "C" { + pub fn strsep( + __stringp: *mut *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __stpcpy( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn stpcpy( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __stpncpy( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn stpncpy( + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, + __n: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_char; +} +pub const idtype_t_P_ALL: idtype_t = 0; +pub const idtype_t_P_PID: idtype_t = 1; +pub const idtype_t_P_PGID: idtype_t = 2; +pub type idtype_t = u32; +pub type _Float32 = f32; +pub type _Float64 = f64; +pub type _Float32x = f64; +pub type _Float64x = u128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct div_t { + pub quot: ::std::os::raw::c_int, + pub rem: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_div_t() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(div_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(div_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(div_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(div_t), + "::", + stringify!(rem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_ldiv_t() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(ldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ldiv_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ldiv_t), + "::", + stringify!(rem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct lldiv_t { + pub quot: ::std::os::raw::c_longlong, + pub rem: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout_lldiv_t() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(lldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(lldiv_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).quot as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(lldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rem as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(lldiv_t), + "::", + stringify!(rem) + ) + ); +} +extern "C" { + pub fn __ctype_get_mb_cur_max() -> usize; +} +extern "C" { + pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64; +} +extern "C" { + pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtod( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn strtof( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + ) -> f32; +} +extern "C" { + pub fn strtold( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + ) -> u128; +} +extern "C" { + pub fn strtol( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn strtoul( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strtoq( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtouq( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn strtoll( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtoull( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +} +pub type u_char = __u_char; +pub type u_short = __u_short; +pub type u_int = __u_int; +pub type u_long = __u_long; +pub type quad_t = __quad_t; +pub type u_quad_t = __u_quad_t; +pub type fsid_t = __fsid_t; +pub type loff_t = __loff_t; +pub type ino_t = __ino_t; +pub type dev_t = __dev_t; +pub type gid_t = __gid_t; +pub type mode_t = __mode_t; +pub type nlink_t = __nlink_t; +pub type uid_t = __uid_t; +pub type pid_t = __pid_t; +pub type id_t = __id_t; +pub type daddr_t = __daddr_t; +pub type caddr_t = __caddr_t; +pub type key_t = __key_t; +pub type clock_t = __clock_t; +pub type clockid_t = __clockid_t; +pub type time_t = __time_t; +pub type timer_t = __timer_t; +pub type ulong = ::std::os::raw::c_ulong; +pub type ushort = ::std::os::raw::c_ushort; +pub type uint = ::std::os::raw::c_uint; +pub type u_int8_t = ::std::os::raw::c_uchar; +pub type u_int16_t = ::std::os::raw::c_ushort; +pub type u_int32_t = ::std::os::raw::c_uint; +pub type u_int64_t = ::std::os::raw::c_ulong; +pub type register_t = ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __sigset_t { + pub __val: [::std::os::raw::c_ulong; 16usize], +} +#[test] +fn bindgen_test_layout___sigset_t() { + assert_eq!( + ::std::mem::size_of::<__sigset_t>(), + 128usize, + concat!("Size of: ", stringify!(__sigset_t)) + ); + assert_eq!( + ::std::mem::align_of::<__sigset_t>(), + 8usize, + concat!("Alignment of ", stringify!(__sigset_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__sigset_t), + "::", + stringify!(__val) + ) + ); +} +pub type sigset_t = __sigset_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timeval { + pub tv_sec: __time_t, + pub tv_usec: __suseconds_t, +} +#[test] +fn bindgen_test_layout_timeval() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(timeval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(timeval)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tv_sec as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tv_usec as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_usec) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { + pub tv_sec: __time_t, + pub tv_nsec: __syscall_slong_t, +} +#[test] +fn bindgen_test_layout_timespec() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(timespec)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(timespec)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tv_sec as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timespec), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tv_nsec as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(timespec), + "::", + stringify!(tv_nsec) + ) + ); +} +pub type suseconds_t = __suseconds_t; +pub type __fd_mask = ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fd_set { + pub __fds_bits: [__fd_mask; 16usize], +} +#[test] +fn bindgen_test_layout_fd_set() { + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(fd_set)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(fd_set)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__fds_bits as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(fd_set), + "::", + stringify!(__fds_bits) + ) + ); +} +pub type fd_mask = __fd_mask; +extern "C" { + pub fn select( + __nfds: ::std::os::raw::c_int, + __readfds: *mut fd_set, + __writefds: *mut fd_set, + __exceptfds: *mut fd_set, + __timeout: *mut timeval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pselect( + __nfds: ::std::os::raw::c_int, + __readfds: *mut fd_set, + __writefds: *mut fd_set, + __exceptfds: *mut fd_set, + __timeout: *const timespec, + __sigmask: *const __sigset_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn gnu_dev_major(__dev: __dev_t) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn gnu_dev_minor(__dev: __dev_t) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn gnu_dev_makedev( + __major: ::std::os::raw::c_uint, + __minor: ::std::os::raw::c_uint, + ) -> __dev_t; +} +pub type blksize_t = __blksize_t; +pub type blkcnt_t = __blkcnt_t; +pub type fsblkcnt_t = __fsblkcnt_t; +pub type fsfilcnt_t = __fsfilcnt_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_rwlock_arch_t { + pub __readers: ::std::os::raw::c_uint, + pub __writers: ::std::os::raw::c_uint, + pub __wrphase_futex: ::std::os::raw::c_uint, + pub __writers_futex: ::std::os::raw::c_uint, + pub __pad3: ::std::os::raw::c_uint, + pub __pad4: ::std::os::raw::c_uint, + pub __cur_writer: ::std::os::raw::c_int, + pub __shared: ::std::os::raw::c_int, + pub __rwelision: ::std::os::raw::c_schar, + pub __pad1: [::std::os::raw::c_uchar; 7usize], + pub __pad2: ::std::os::raw::c_ulong, + pub __flags: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___pthread_rwlock_arch_t() { + assert_eq!( + ::std::mem::size_of::<__pthread_rwlock_arch_t>(), + 56usize, + concat!("Size of: ", stringify!(__pthread_rwlock_arch_t)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_rwlock_arch_t>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__readers) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__writers) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__wrphase_futex) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _ as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__writers_futex) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__pad3) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__pad4) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__cur_writer) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__shared) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__rwelision) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__pad1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__pad2) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(__pthread_rwlock_arch_t), + "::", + stringify!(__flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_internal_list { + pub __prev: *mut __pthread_internal_list, + pub __next: *mut __pthread_internal_list, +} +#[test] +fn bindgen_test_layout___pthread_internal_list() { + assert_eq!( + ::std::mem::size_of::<__pthread_internal_list>(), + 16usize, + concat!("Size of: ", stringify!(__pthread_internal_list)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_internal_list>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_internal_list)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_internal_list), + "::", + stringify!(__prev) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__pthread_internal_list), + "::", + stringify!(__next) + ) + ); +} +pub type __pthread_list_t = __pthread_internal_list; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_mutex_s { + pub __lock: ::std::os::raw::c_int, + pub __count: ::std::os::raw::c_uint, + pub __owner: ::std::os::raw::c_int, + pub __nusers: ::std::os::raw::c_uint, + pub __kind: ::std::os::raw::c_int, + pub __spins: ::std::os::raw::c_short, + pub __elision: ::std::os::raw::c_short, + pub __list: __pthread_list_t, +} +#[test] +fn bindgen_test_layout___pthread_mutex_s() { + assert_eq!( + ::std::mem::size_of::<__pthread_mutex_s>(), + 40usize, + concat!("Size of: ", stringify!(__pthread_mutex_s)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_mutex_s>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_mutex_s)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__lock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__owner) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__nusers) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__kind) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__spins) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__elision) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__pthread_mutex_s), + "::", + stringify!(__list) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __pthread_cond_s { + pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1, + pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2, + pub __g_refs: [::std::os::raw::c_uint; 2usize], + pub __g_size: [::std::os::raw::c_uint; 2usize], + pub __g1_orig_size: ::std::os::raw::c_uint, + pub __wrefs: ::std::os::raw::c_uint, + pub __g_signals: [::std::os::raw::c_uint; 2usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __pthread_cond_s__bindgen_ty_1 { + pub __wseq: ::std::os::raw::c_ulonglong, + pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1, + _bindgen_union_align: u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { + pub __low: ::std::os::raw::c_uint, + pub __high: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low + as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__low) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high + as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__high) + ) + ); +} +#[test] +fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_1), + "::", + stringify!(__wseq) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_1), + "::", + stringify!(__wseq32) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __pthread_cond_s__bindgen_ty_2 { + pub __g1_start: ::std::os::raw::c_ulonglong, + pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1, + _bindgen_union_align: u64, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { + pub __low: ::std::os::raw::c_uint, + pub __high: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low + as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(__low) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high + as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(__high) + ) + ); +} +#[test] +fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_2), + "::", + stringify!(__g1_start) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s__bindgen_ty_2), + "::", + stringify!(__g1_start32) + ) + ); +} +#[test] +fn bindgen_test_layout___pthread_cond_s() { + assert_eq!( + ::std::mem::size_of::<__pthread_cond_s>(), + 48usize, + concat!("Size of: ", stringify!(__pthread_cond_s)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_cond_s>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_cond_s)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s), + "::", + stringify!(__g_refs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s), + "::", + stringify!(__g_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s), + "::", + stringify!(__g1_orig_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s), + "::", + stringify!(__wrefs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cond_s), + "::", + stringify!(__g_signals) + ) + ); +} +pub type pthread_t = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_mutexattr_t { + pub __size: [::std::os::raw::c_char; 4usize], + pub __align: ::std::os::raw::c_int, + _bindgen_union_align: u32, +} +#[test] +fn bindgen_test_layout_pthread_mutexattr_t() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(pthread_mutexattr_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(pthread_mutexattr_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_mutexattr_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_mutexattr_t), + "::", + stringify!(__align) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_condattr_t { + pub __size: [::std::os::raw::c_char; 4usize], + pub __align: ::std::os::raw::c_int, + _bindgen_union_align: u32, +} +#[test] +fn bindgen_test_layout_pthread_condattr_t() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(pthread_condattr_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(pthread_condattr_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_condattr_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_condattr_t), + "::", + stringify!(__align) + ) + ); +} +pub type pthread_key_t = ::std::os::raw::c_uint; +pub type pthread_once_t = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_attr_t { + pub __size: [::std::os::raw::c_char; 56usize], + pub __align: ::std::os::raw::c_long, + _bindgen_union_align: [u64; 7usize], +} +#[test] +fn bindgen_test_layout_pthread_attr_t() { + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(pthread_attr_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pthread_attr_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_attr_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_attr_t), + "::", + stringify!(__align) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_mutex_t { + pub __data: __pthread_mutex_s, + pub __size: [::std::os::raw::c_char; 40usize], + pub __align: ::std::os::raw::c_long, + _bindgen_union_align: [u64; 5usize], +} +#[test] +fn bindgen_test_layout_pthread_mutex_t() { + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(pthread_mutex_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pthread_mutex_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_mutex_t), + "::", + stringify!(__data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_mutex_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_mutex_t), + "::", + stringify!(__align) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_cond_t { + pub __data: __pthread_cond_s, + pub __size: [::std::os::raw::c_char; 48usize], + pub __align: ::std::os::raw::c_longlong, + _bindgen_union_align: [u64; 6usize], +} +#[test] +fn bindgen_test_layout_pthread_cond_t() { + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(pthread_cond_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pthread_cond_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_cond_t), + "::", + stringify!(__data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_cond_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_cond_t), + "::", + stringify!(__align) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_rwlock_t { + pub __data: __pthread_rwlock_arch_t, + pub __size: [::std::os::raw::c_char; 56usize], + pub __align: ::std::os::raw::c_long, + _bindgen_union_align: [u64; 7usize], +} +#[test] +fn bindgen_test_layout_pthread_rwlock_t() { + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(pthread_rwlock_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pthread_rwlock_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_rwlock_t), + "::", + stringify!(__data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_rwlock_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_rwlock_t), + "::", + stringify!(__align) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_rwlockattr_t { + pub __size: [::std::os::raw::c_char; 8usize], + pub __align: ::std::os::raw::c_long, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout_pthread_rwlockattr_t() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(pthread_rwlockattr_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pthread_rwlockattr_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_rwlockattr_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_rwlockattr_t), + "::", + stringify!(__align) + ) + ); +} +pub type pthread_spinlock_t = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_barrier_t { + pub __size: [::std::os::raw::c_char; 32usize], + pub __align: ::std::os::raw::c_long, + _bindgen_union_align: [u64; 4usize], +} +#[test] +fn bindgen_test_layout_pthread_barrier_t() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(pthread_barrier_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pthread_barrier_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_barrier_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_barrier_t), + "::", + stringify!(__align) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union pthread_barrierattr_t { + pub __size: [::std::os::raw::c_char; 4usize], + pub __align: ::std::os::raw::c_int, + _bindgen_union_align: u32, +} +#[test] +fn bindgen_test_layout_pthread_barrierattr_t() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(pthread_barrierattr_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(pthread_barrierattr_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__size as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_barrierattr_t), + "::", + stringify!(__size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__align as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pthread_barrierattr_t), + "::", + stringify!(__align) + ) + ); +} +extern "C" { + pub fn random() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn srandom(__seed: ::std::os::raw::c_uint); +} +extern "C" { + pub fn initstate( + __seed: ::std::os::raw::c_uint, + __statebuf: *mut ::std::os::raw::c_char, + __statelen: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct random_data { + pub fptr: *mut i32, + pub rptr: *mut i32, + pub state: *mut i32, + pub rand_type: ::std::os::raw::c_int, + pub rand_deg: ::std::os::raw::c_int, + pub rand_sep: ::std::os::raw::c_int, + pub end_ptr: *mut i32, +} +#[test] +fn bindgen_test_layout_random_data() { + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(random_data)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(random_data)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).fptr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(fptr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rptr as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(rptr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).state as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(state) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rand_type as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(rand_type) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rand_deg as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(rand_deg) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rand_sep as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(rand_sep) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).end_ptr as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(random_data), + "::", + stringify!(end_ptr) + ) + ); +} +extern "C" { + pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn srandom_r( + __seed: ::std::os::raw::c_uint, + __buf: *mut random_data, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn initstate_r( + __seed: ::std::os::raw::c_uint, + __statebuf: *mut ::std::os::raw::c_char, + __statelen: usize, + __buf: *mut random_data, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setstate_r( + __statebuf: *mut ::std::os::raw::c_char, + __buf: *mut random_data, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn rand() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn srand(__seed: ::std::os::raw::c_uint); +} +extern "C" { + pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn drand48() -> f64; +} +extern "C" { + pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64; +} +extern "C" { + pub fn lrand48() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn mrand48() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn srand48(__seedval: ::std::os::raw::c_long); +} +extern "C" { + pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; +} +extern "C" { + pub fn lcong48(__param: *mut ::std::os::raw::c_ushort); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct drand48_data { + pub __x: [::std::os::raw::c_ushort; 3usize], + pub __old_x: [::std::os::raw::c_ushort; 3usize], + pub __c: ::std::os::raw::c_ushort, + pub __init: ::std::os::raw::c_ushort, + pub __a: ::std::os::raw::c_ulonglong, +} +#[test] +fn bindgen_test_layout_drand48_data() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(drand48_data)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(drand48_data)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(drand48_data), + "::", + stringify!(__x) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__old_x as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(drand48_data), + "::", + stringify!(__old_x) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__c as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(drand48_data), + "::", + stringify!(__c) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__init as *const _ as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(drand48_data), + "::", + stringify!(__init) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__a as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(drand48_data), + "::", + stringify!(__a) + ) + ); +} +extern "C" { + pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn erand48_r( + __xsubi: *mut ::std::os::raw::c_ushort, + __buffer: *mut drand48_data, + __result: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lrand48_r( + __buffer: *mut drand48_data, + __result: *mut ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn nrand48_r( + __xsubi: *mut ::std::os::raw::c_ushort, + __buffer: *mut drand48_data, + __result: *mut ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mrand48_r( + __buffer: *mut drand48_data, + __result: *mut ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn jrand48_r( + __xsubi: *mut ::std::os::raw::c_ushort, + __buffer: *mut drand48_data, + __result: *mut ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn srand48_r( + __seedval: ::std::os::raw::c_long, + __buffer: *mut drand48_data, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn seed48_r( + __seed16v: *mut ::std::os::raw::c_ushort, + __buffer: *mut drand48_data, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lcong48_r( + __param: *mut ::std::os::raw::c_ushort, + __buffer: *mut drand48_data, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn calloc( + __nmemb: ::std::os::raw::c_ulong, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn realloc( + __ptr: *mut ::std::os::raw::c_void, + __size: ::std::os::raw::c_ulong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn free(__ptr: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn posix_memalign( + __memptr: *mut *mut ::std::os::raw::c_void, + __alignment: usize, + __size: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn abort(); +} +extern "C" { + pub fn atexit(__func: ::std::option::Option) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn at_quick_exit( + __func: ::std::option::Option, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn on_exit( + __func: ::std::option::Option< + unsafe extern "C" fn( + __status: ::std::os::raw::c_int, + __arg: *mut ::std::os::raw::c_void, + ), + >, + __arg: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn exit(__status: ::std::os::raw::c_int); +} +extern "C" { + pub fn quick_exit(__status: ::std::os::raw::c_int); +} +extern "C" { + pub fn _Exit(__status: ::std::os::raw::c_int); +} +extern "C" { + pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setenv( + __name: *const ::std::os::raw::c_char, + __value: *const ::std::os::raw::c_char, + __replace: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clearenv() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mkstemps( + __template: *mut ::std::os::raw::c_char, + __suffixlen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn realpath( + __name: *const ::std::os::raw::c_char, + __resolved: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +pub type __compar_fn_t = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn bsearch( + __key: *const ::std::os::raw::c_void, + __base: *const ::std::os::raw::c_void, + __nmemb: usize, + __size: usize, + __compar: __compar_fn_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn qsort( + __base: *mut ::std::os::raw::c_void, + __nmemb: usize, + __size: usize, + __compar: __compar_fn_t, + ); +} +extern "C" { + pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t; +} +extern "C" { + pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t; +} +extern "C" { + pub fn lldiv( + __numer: ::std::os::raw::c_longlong, + __denom: ::std::os::raw::c_longlong, + ) -> lldiv_t; +} +extern "C" { + pub fn ecvt( + __value: f64, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn fcvt( + __value: f64, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn gcvt( + __value: f64, + __ndigit: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn qecvt( + __value: u128, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn qfcvt( + __value: u128, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn qgcvt( + __value: u128, + __ndigit: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ecvt_r( + __value: f64, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fcvt_r( + __value: f64, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn qecvt_r( + __value: u128, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn qfcvt_r( + __value: u128, + __ndigit: ::std::os::raw::c_int, + __decpt: *mut ::std::os::raw::c_int, + __sign: *mut ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mbtowc( + __pwc: *mut wchar_t, + __s: *const ::std::os::raw::c_char, + __n: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize; +} +extern "C" { + pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize; +} +extern "C" { + pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getsubopt( + __optionp: *mut *mut ::std::os::raw::c_char, + __tokens: *const *mut ::std::os::raw::c_char, + __valuep: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __errno_location() -> *mut ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tm { + pub tm_sec: ::std::os::raw::c_int, + pub tm_min: ::std::os::raw::c_int, + pub tm_hour: ::std::os::raw::c_int, + pub tm_mday: ::std::os::raw::c_int, + pub tm_mon: ::std::os::raw::c_int, + pub tm_year: ::std::os::raw::c_int, + pub tm_wday: ::std::os::raw::c_int, + pub tm_yday: ::std::os::raw::c_int, + pub tm_isdst: ::std::os::raw::c_int, + pub tm_gmtoff: ::std::os::raw::c_long, + pub tm_zone: *const ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout_tm() { + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tm)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tm)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_sec as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_sec) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_min as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_min) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_hour as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_hour) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_mday as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_mday) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_mon as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_mon) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_year as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_year) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_wday as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_wday) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_yday as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_yday) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_isdst as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_isdst) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_gmtoff as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_gmtoff) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tm_zone as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_zone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct itimerspec { + pub it_interval: timespec, + pub it_value: timespec, +} +#[test] +fn bindgen_test_layout_itimerspec() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(itimerspec)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(itimerspec)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).it_interval as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(itimerspec), + "::", + stringify!(it_interval) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).it_value as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(itimerspec), + "::", + stringify!(it_value) + ) + ); +} +extern "C" { + pub fn clock() -> clock_t; +} +extern "C" { + pub fn time(__timer: *mut time_t) -> time_t; +} +extern "C" { + pub fn difftime(__time1: time_t, __time0: time_t) -> f64; +} +extern "C" { + pub fn mktime(__tp: *mut tm) -> time_t; +} +extern "C" { + pub fn strftime( + __s: *mut ::std::os::raw::c_char, + __maxsize: usize, + __format: *const ::std::os::raw::c_char, + __tp: *const tm, + ) -> usize; +} +extern "C" { + pub fn strftime_l( + __s: *mut ::std::os::raw::c_char, + __maxsize: usize, + __format: *const ::std::os::raw::c_char, + __tp: *const tm, + __loc: locale_t, + ) -> usize; +} +extern "C" { + pub fn gmtime(__timer: *const time_t) -> *mut tm; +} +extern "C" { + pub fn localtime(__timer: *const time_t) -> *mut tm; +} +extern "C" { + pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm; +} +extern "C" { + pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm; +} +extern "C" { + pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn asctime_r( + __tp: *const tm, + __buf: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ctime_r( + __timer: *const time_t, + __buf: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize]; +} +extern "C" { + pub static mut __daylight: ::std::os::raw::c_int; +} +extern "C" { + pub static mut __timezone: ::std::os::raw::c_long; +} +extern "C" { + pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize]; +} +extern "C" { + pub fn tzset(); +} +extern "C" { + pub static mut daylight: ::std::os::raw::c_int; +} +extern "C" { + pub static mut timezone: ::std::os::raw::c_long; +} +extern "C" { + pub fn stime(__when: *const time_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timegm(__tp: *mut tm) -> time_t; +} +extern "C" { + pub fn timelocal(__tp: *mut tm) -> time_t; +} +extern "C" { + pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn nanosleep( + __requested_time: *const timespec, + __remaining: *mut timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clock_nanosleep( + __clock_id: clockid_t, + __flags: ::std::os::raw::c_int, + __req: *const timespec, + __rem: *mut timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timer_create( + __clock_id: clockid_t, + __evp: *mut sigevent, + __timerid: *mut timer_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timer_settime( + __timerid: timer_t, + __flags: ::std::os::raw::c_int, + __value: *const itimerspec, + __ovalue: *mut itimerspec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn timespec_get( + __ts: *mut timespec, + __base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timezone { + pub tz_minuteswest: ::std::os::raw::c_int, + pub tz_dsttime: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_timezone() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(timezone)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(timezone)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tz_minuteswest as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timezone), + "::", + stringify!(tz_minuteswest) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).tz_dsttime as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(timezone), + "::", + stringify!(tz_dsttime) + ) + ); +} +pub type __timezone_ptr_t = *mut timezone; +extern "C" { + pub fn gettimeofday(__tv: *mut timeval, __tz: __timezone_ptr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn adjtime(__delta: *const timeval, __olddelta: *mut timeval) -> ::std::os::raw::c_int; +} +pub const __itimer_which_ITIMER_REAL: __itimer_which = 0; +pub const __itimer_which_ITIMER_VIRTUAL: __itimer_which = 1; +pub const __itimer_which_ITIMER_PROF: __itimer_which = 2; +pub type __itimer_which = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct itimerval { + pub it_interval: timeval, + pub it_value: timeval, +} +#[test] +fn bindgen_test_layout_itimerval() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(itimerval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(itimerval)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).it_interval as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(itimerval), + "::", + stringify!(it_interval) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).it_value as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(itimerval), + "::", + stringify!(it_value) + ) + ); +} +pub type __itimer_which_t = ::std::os::raw::c_int; +extern "C" { + pub fn getitimer(__which: __itimer_which_t, __value: *mut itimerval) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setitimer( + __which: __itimer_which_t, + __new: *const itimerval, + __old: *mut itimerval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn utimes( + __file: *const ::std::os::raw::c_char, + __tvp: *const timeval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lutimes( + __file: *const ::std::os::raw::c_char, + __tvp: *const timeval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn futimes(__fd: ::std::os::raw::c_int, __tvp: *const timeval) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct stat { + pub st_dev: __dev_t, + pub st_ino: __ino_t, + pub st_nlink: __nlink_t, + pub st_mode: __mode_t, + pub st_uid: __uid_t, + pub st_gid: __gid_t, + pub __pad0: ::std::os::raw::c_int, + pub st_rdev: __dev_t, + pub st_size: __off_t, + pub st_blksize: __blksize_t, + pub st_blocks: __blkcnt_t, + pub st_atim: timespec, + pub st_mtim: timespec, + pub st_ctim: timespec, + pub __glibc_reserved: [__syscall_slong_t; 3usize], +} +#[test] +fn bindgen_test_layout_stat() { + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(stat)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(stat)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_dev as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_dev) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_ino as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_ino) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_nlink as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_nlink) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_mode as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_mode) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_uid as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_uid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_gid as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_gid) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__pad0 as *const _ as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(__pad0) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_rdev as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_rdev) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_size as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_blksize as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_blksize) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_blocks as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_blocks) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_atim as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_atim) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_mtim as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_mtim) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).st_ctim as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(st_ctim) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__glibc_reserved as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(stat), + "::", + stringify!(__glibc_reserved) + ) + ); +} +extern "C" { + pub fn stat(__file: *const ::std::os::raw::c_char, __buf: *mut stat) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fstat(__fd: ::std::os::raw::c_int, __buf: *mut stat) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fstatat( + __fd: ::std::os::raw::c_int, + __file: *const ::std::os::raw::c_char, + __buf: *mut stat, + __flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstat(__file: *const ::std::os::raw::c_char, __buf: *mut stat) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn chmod(__file: *const ::std::os::raw::c_char, __mode: __mode_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lchmod(__file: *const ::std::os::raw::c_char, __mode: __mode_t) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fchmod(__fd: ::std::os::raw::c_int, __mode: __mode_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fchmodat( + __fd: ::std::os::raw::c_int, + __file: *const ::std::os::raw::c_char, + __mode: __mode_t, + __flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn umask(__mask: __mode_t) -> __mode_t; +} +extern "C" { + pub fn mkdir(__path: *const ::std::os::raw::c_char, __mode: __mode_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mkdirat( + __fd: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __mode: __mode_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mknod( + __path: *const ::std::os::raw::c_char, + __mode: __mode_t, + __dev: __dev_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mknodat( + __fd: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __mode: __mode_t, + __dev: __dev_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mkfifo(__path: *const ::std::os::raw::c_char, __mode: __mode_t) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mkfifoat( + __fd: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __mode: __mode_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn utimensat( + __fd: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __times: *const timespec, + __flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn futimens(__fd: ::std::os::raw::c_int, __times: *const timespec) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __fxstat( + __ver: ::std::os::raw::c_int, + __fildes: ::std::os::raw::c_int, + __stat_buf: *mut stat, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __xstat( + __ver: ::std::os::raw::c_int, + __filename: *const ::std::os::raw::c_char, + __stat_buf: *mut stat, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __lxstat( + __ver: ::std::os::raw::c_int, + __filename: *const ::std::os::raw::c_char, + __stat_buf: *mut stat, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __fxstatat( + __ver: ::std::os::raw::c_int, + __fildes: ::std::os::raw::c_int, + __filename: *const ::std::os::raw::c_char, + __stat_buf: *mut stat, + __flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __xmknod( + __ver: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __mode: __mode_t, + __dev: *mut __dev_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __xmknodat( + __ver: ::std::os::raw::c_int, + __fd: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __mode: __mode_t, + __dev: *mut __dev_t, + ) -> ::std::os::raw::c_int; +} +pub type useconds_t = __useconds_t; +pub type socklen_t = __socklen_t; +extern "C" { + pub fn access( + __name: *const ::std::os::raw::c_char, + __type: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn faccessat( + __fd: ::std::os::raw::c_int, + __file: *const ::std::os::raw::c_char, + __type: ::std::os::raw::c_int, + __flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lseek( + __fd: ::std::os::raw::c_int, + __offset: __off_t, + __whence: ::std::os::raw::c_int, + ) -> __off_t; +} +extern "C" { + pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn read( + __fd: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_void, + __nbytes: usize, + ) -> isize; +} +extern "C" { + pub fn write( + __fd: ::std::os::raw::c_int, + __buf: *const ::std::os::raw::c_void, + __n: usize, + ) -> isize; +} +extern "C" { + pub fn pread( + __fd: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_void, + __nbytes: usize, + __offset: __off_t, + ) -> isize; +} +extern "C" { + pub fn pwrite( + __fd: ::std::os::raw::c_int, + __buf: *const ::std::os::raw::c_void, + __n: usize, + __offset: __off_t, + ) -> isize; +} +extern "C" { + pub fn pipe(__pipedes: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn ualarm(__value: __useconds_t, __interval: __useconds_t) -> __useconds_t; +} +extern "C" { + pub fn usleep(__useconds: __useconds_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pause() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn chown( + __file: *const ::std::os::raw::c_char, + __owner: __uid_t, + __group: __gid_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fchown( + __fd: ::std::os::raw::c_int, + __owner: __uid_t, + __group: __gid_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lchown( + __file: *const ::std::os::raw::c_char, + __owner: __uid_t, + __group: __gid_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fchownat( + __fd: ::std::os::raw::c_int, + __file: *const ::std::os::raw::c_char, + __owner: __uid_t, + __group: __gid_t, + __flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getcwd(__buf: *mut ::std::os::raw::c_char, __size: usize) + -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn getwd(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn dup(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn dup2(__fd: ::std::os::raw::c_int, __fd2: ::std::os::raw::c_int) + -> ::std::os::raw::c_int; +} +extern "C" { + pub static mut __environ: *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn execve( + __path: *const ::std::os::raw::c_char, + __argv: *const *mut ::std::os::raw::c_char, + __envp: *const *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fexecve( + __fd: ::std::os::raw::c_int, + __argv: *const *mut ::std::os::raw::c_char, + __envp: *const *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn execv( + __path: *const ::std::os::raw::c_char, + __argv: *const *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn execle( + __path: *const ::std::os::raw::c_char, + __arg: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn execl( + __path: *const ::std::os::raw::c_char, + __arg: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn execvp( + __file: *const ::std::os::raw::c_char, + __argv: *const *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn execlp( + __file: *const ::std::os::raw::c_char, + __arg: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn nice(__inc: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _exit(__status: ::std::os::raw::c_int); +} +pub const _PC_LINK_MAX: _bindgen_ty_2 = 0; +pub const _PC_MAX_CANON: _bindgen_ty_2 = 1; +pub const _PC_MAX_INPUT: _bindgen_ty_2 = 2; +pub const _PC_NAME_MAX: _bindgen_ty_2 = 3; +pub const _PC_PATH_MAX: _bindgen_ty_2 = 4; +pub const _PC_PIPE_BUF: _bindgen_ty_2 = 5; +pub const _PC_CHOWN_RESTRICTED: _bindgen_ty_2 = 6; +pub const _PC_NO_TRUNC: _bindgen_ty_2 = 7; +pub const _PC_VDISABLE: _bindgen_ty_2 = 8; +pub const _PC_SYNC_IO: _bindgen_ty_2 = 9; +pub const _PC_ASYNC_IO: _bindgen_ty_2 = 10; +pub const _PC_PRIO_IO: _bindgen_ty_2 = 11; +pub const _PC_SOCK_MAXBUF: _bindgen_ty_2 = 12; +pub const _PC_FILESIZEBITS: _bindgen_ty_2 = 13; +pub const _PC_REC_INCR_XFER_SIZE: _bindgen_ty_2 = 14; +pub const _PC_REC_MAX_XFER_SIZE: _bindgen_ty_2 = 15; +pub const _PC_REC_MIN_XFER_SIZE: _bindgen_ty_2 = 16; +pub const _PC_REC_XFER_ALIGN: _bindgen_ty_2 = 17; +pub const _PC_ALLOC_SIZE_MIN: _bindgen_ty_2 = 18; +pub const _PC_SYMLINK_MAX: _bindgen_ty_2 = 19; +pub const _PC_2_SYMLINKS: _bindgen_ty_2 = 20; +pub type _bindgen_ty_2 = u32; +pub const _SC_ARG_MAX: _bindgen_ty_3 = 0; +pub const _SC_CHILD_MAX: _bindgen_ty_3 = 1; +pub const _SC_CLK_TCK: _bindgen_ty_3 = 2; +pub const _SC_NGROUPS_MAX: _bindgen_ty_3 = 3; +pub const _SC_OPEN_MAX: _bindgen_ty_3 = 4; +pub const _SC_STREAM_MAX: _bindgen_ty_3 = 5; +pub const _SC_TZNAME_MAX: _bindgen_ty_3 = 6; +pub const _SC_JOB_CONTROL: _bindgen_ty_3 = 7; +pub const _SC_SAVED_IDS: _bindgen_ty_3 = 8; +pub const _SC_REALTIME_SIGNALS: _bindgen_ty_3 = 9; +pub const _SC_PRIORITY_SCHEDULING: _bindgen_ty_3 = 10; +pub const _SC_TIMERS: _bindgen_ty_3 = 11; +pub const _SC_ASYNCHRONOUS_IO: _bindgen_ty_3 = 12; +pub const _SC_PRIORITIZED_IO: _bindgen_ty_3 = 13; +pub const _SC_SYNCHRONIZED_IO: _bindgen_ty_3 = 14; +pub const _SC_FSYNC: _bindgen_ty_3 = 15; +pub const _SC_MAPPED_FILES: _bindgen_ty_3 = 16; +pub const _SC_MEMLOCK: _bindgen_ty_3 = 17; +pub const _SC_MEMLOCK_RANGE: _bindgen_ty_3 = 18; +pub const _SC_MEMORY_PROTECTION: _bindgen_ty_3 = 19; +pub const _SC_MESSAGE_PASSING: _bindgen_ty_3 = 20; +pub const _SC_SEMAPHORES: _bindgen_ty_3 = 21; +pub const _SC_SHARED_MEMORY_OBJECTS: _bindgen_ty_3 = 22; +pub const _SC_AIO_LISTIO_MAX: _bindgen_ty_3 = 23; +pub const _SC_AIO_MAX: _bindgen_ty_3 = 24; +pub const _SC_AIO_PRIO_DELTA_MAX: _bindgen_ty_3 = 25; +pub const _SC_DELAYTIMER_MAX: _bindgen_ty_3 = 26; +pub const _SC_MQ_OPEN_MAX: _bindgen_ty_3 = 27; +pub const _SC_MQ_PRIO_MAX: _bindgen_ty_3 = 28; +pub const _SC_VERSION: _bindgen_ty_3 = 29; +pub const _SC_PAGESIZE: _bindgen_ty_3 = 30; +pub const _SC_RTSIG_MAX: _bindgen_ty_3 = 31; +pub const _SC_SEM_NSEMS_MAX: _bindgen_ty_3 = 32; +pub const _SC_SEM_VALUE_MAX: _bindgen_ty_3 = 33; +pub const _SC_SIGQUEUE_MAX: _bindgen_ty_3 = 34; +pub const _SC_TIMER_MAX: _bindgen_ty_3 = 35; +pub const _SC_BC_BASE_MAX: _bindgen_ty_3 = 36; +pub const _SC_BC_DIM_MAX: _bindgen_ty_3 = 37; +pub const _SC_BC_SCALE_MAX: _bindgen_ty_3 = 38; +pub const _SC_BC_STRING_MAX: _bindgen_ty_3 = 39; +pub const _SC_COLL_WEIGHTS_MAX: _bindgen_ty_3 = 40; +pub const _SC_EQUIV_CLASS_MAX: _bindgen_ty_3 = 41; +pub const _SC_EXPR_NEST_MAX: _bindgen_ty_3 = 42; +pub const _SC_LINE_MAX: _bindgen_ty_3 = 43; +pub const _SC_RE_DUP_MAX: _bindgen_ty_3 = 44; +pub const _SC_CHARCLASS_NAME_MAX: _bindgen_ty_3 = 45; +pub const _SC_2_VERSION: _bindgen_ty_3 = 46; +pub const _SC_2_C_BIND: _bindgen_ty_3 = 47; +pub const _SC_2_C_DEV: _bindgen_ty_3 = 48; +pub const _SC_2_FORT_DEV: _bindgen_ty_3 = 49; +pub const _SC_2_FORT_RUN: _bindgen_ty_3 = 50; +pub const _SC_2_SW_DEV: _bindgen_ty_3 = 51; +pub const _SC_2_LOCALEDEF: _bindgen_ty_3 = 52; +pub const _SC_PII: _bindgen_ty_3 = 53; +pub const _SC_PII_XTI: _bindgen_ty_3 = 54; +pub const _SC_PII_SOCKET: _bindgen_ty_3 = 55; +pub const _SC_PII_INTERNET: _bindgen_ty_3 = 56; +pub const _SC_PII_OSI: _bindgen_ty_3 = 57; +pub const _SC_POLL: _bindgen_ty_3 = 58; +pub const _SC_SELECT: _bindgen_ty_3 = 59; +pub const _SC_UIO_MAXIOV: _bindgen_ty_3 = 60; +pub const _SC_IOV_MAX: _bindgen_ty_3 = 60; +pub const _SC_PII_INTERNET_STREAM: _bindgen_ty_3 = 61; +pub const _SC_PII_INTERNET_DGRAM: _bindgen_ty_3 = 62; +pub const _SC_PII_OSI_COTS: _bindgen_ty_3 = 63; +pub const _SC_PII_OSI_CLTS: _bindgen_ty_3 = 64; +pub const _SC_PII_OSI_M: _bindgen_ty_3 = 65; +pub const _SC_T_IOV_MAX: _bindgen_ty_3 = 66; +pub const _SC_THREADS: _bindgen_ty_3 = 67; +pub const _SC_THREAD_SAFE_FUNCTIONS: _bindgen_ty_3 = 68; +pub const _SC_GETGR_R_SIZE_MAX: _bindgen_ty_3 = 69; +pub const _SC_GETPW_R_SIZE_MAX: _bindgen_ty_3 = 70; +pub const _SC_LOGIN_NAME_MAX: _bindgen_ty_3 = 71; +pub const _SC_TTY_NAME_MAX: _bindgen_ty_3 = 72; +pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: _bindgen_ty_3 = 73; +pub const _SC_THREAD_KEYS_MAX: _bindgen_ty_3 = 74; +pub const _SC_THREAD_STACK_MIN: _bindgen_ty_3 = 75; +pub const _SC_THREAD_THREADS_MAX: _bindgen_ty_3 = 76; +pub const _SC_THREAD_ATTR_STACKADDR: _bindgen_ty_3 = 77; +pub const _SC_THREAD_ATTR_STACKSIZE: _bindgen_ty_3 = 78; +pub const _SC_THREAD_PRIORITY_SCHEDULING: _bindgen_ty_3 = 79; +pub const _SC_THREAD_PRIO_INHERIT: _bindgen_ty_3 = 80; +pub const _SC_THREAD_PRIO_PROTECT: _bindgen_ty_3 = 81; +pub const _SC_THREAD_PROCESS_SHARED: _bindgen_ty_3 = 82; +pub const _SC_NPROCESSORS_CONF: _bindgen_ty_3 = 83; +pub const _SC_NPROCESSORS_ONLN: _bindgen_ty_3 = 84; +pub const _SC_PHYS_PAGES: _bindgen_ty_3 = 85; +pub const _SC_AVPHYS_PAGES: _bindgen_ty_3 = 86; +pub const _SC_ATEXIT_MAX: _bindgen_ty_3 = 87; +pub const _SC_PASS_MAX: _bindgen_ty_3 = 88; +pub const _SC_XOPEN_VERSION: _bindgen_ty_3 = 89; +pub const _SC_XOPEN_XCU_VERSION: _bindgen_ty_3 = 90; +pub const _SC_XOPEN_UNIX: _bindgen_ty_3 = 91; +pub const _SC_XOPEN_CRYPT: _bindgen_ty_3 = 92; +pub const _SC_XOPEN_ENH_I18N: _bindgen_ty_3 = 93; +pub const _SC_XOPEN_SHM: _bindgen_ty_3 = 94; +pub const _SC_2_CHAR_TERM: _bindgen_ty_3 = 95; +pub const _SC_2_C_VERSION: _bindgen_ty_3 = 96; +pub const _SC_2_UPE: _bindgen_ty_3 = 97; +pub const _SC_XOPEN_XPG2: _bindgen_ty_3 = 98; +pub const _SC_XOPEN_XPG3: _bindgen_ty_3 = 99; +pub const _SC_XOPEN_XPG4: _bindgen_ty_3 = 100; +pub const _SC_CHAR_BIT: _bindgen_ty_3 = 101; +pub const _SC_CHAR_MAX: _bindgen_ty_3 = 102; +pub const _SC_CHAR_MIN: _bindgen_ty_3 = 103; +pub const _SC_INT_MAX: _bindgen_ty_3 = 104; +pub const _SC_INT_MIN: _bindgen_ty_3 = 105; +pub const _SC_LONG_BIT: _bindgen_ty_3 = 106; +pub const _SC_WORD_BIT: _bindgen_ty_3 = 107; +pub const _SC_MB_LEN_MAX: _bindgen_ty_3 = 108; +pub const _SC_NZERO: _bindgen_ty_3 = 109; +pub const _SC_SSIZE_MAX: _bindgen_ty_3 = 110; +pub const _SC_SCHAR_MAX: _bindgen_ty_3 = 111; +pub const _SC_SCHAR_MIN: _bindgen_ty_3 = 112; +pub const _SC_SHRT_MAX: _bindgen_ty_3 = 113; +pub const _SC_SHRT_MIN: _bindgen_ty_3 = 114; +pub const _SC_UCHAR_MAX: _bindgen_ty_3 = 115; +pub const _SC_UINT_MAX: _bindgen_ty_3 = 116; +pub const _SC_ULONG_MAX: _bindgen_ty_3 = 117; +pub const _SC_USHRT_MAX: _bindgen_ty_3 = 118; +pub const _SC_NL_ARGMAX: _bindgen_ty_3 = 119; +pub const _SC_NL_LANGMAX: _bindgen_ty_3 = 120; +pub const _SC_NL_MSGMAX: _bindgen_ty_3 = 121; +pub const _SC_NL_NMAX: _bindgen_ty_3 = 122; +pub const _SC_NL_SETMAX: _bindgen_ty_3 = 123; +pub const _SC_NL_TEXTMAX: _bindgen_ty_3 = 124; +pub const _SC_XBS5_ILP32_OFF32: _bindgen_ty_3 = 125; +pub const _SC_XBS5_ILP32_OFFBIG: _bindgen_ty_3 = 126; +pub const _SC_XBS5_LP64_OFF64: _bindgen_ty_3 = 127; +pub const _SC_XBS5_LPBIG_OFFBIG: _bindgen_ty_3 = 128; +pub const _SC_XOPEN_LEGACY: _bindgen_ty_3 = 129; +pub const _SC_XOPEN_REALTIME: _bindgen_ty_3 = 130; +pub const _SC_XOPEN_REALTIME_THREADS: _bindgen_ty_3 = 131; +pub const _SC_ADVISORY_INFO: _bindgen_ty_3 = 132; +pub const _SC_BARRIERS: _bindgen_ty_3 = 133; +pub const _SC_BASE: _bindgen_ty_3 = 134; +pub const _SC_C_LANG_SUPPORT: _bindgen_ty_3 = 135; +pub const _SC_C_LANG_SUPPORT_R: _bindgen_ty_3 = 136; +pub const _SC_CLOCK_SELECTION: _bindgen_ty_3 = 137; +pub const _SC_CPUTIME: _bindgen_ty_3 = 138; +pub const _SC_THREAD_CPUTIME: _bindgen_ty_3 = 139; +pub const _SC_DEVICE_IO: _bindgen_ty_3 = 140; +pub const _SC_DEVICE_SPECIFIC: _bindgen_ty_3 = 141; +pub const _SC_DEVICE_SPECIFIC_R: _bindgen_ty_3 = 142; +pub const _SC_FD_MGMT: _bindgen_ty_3 = 143; +pub const _SC_FIFO: _bindgen_ty_3 = 144; +pub const _SC_PIPE: _bindgen_ty_3 = 145; +pub const _SC_FILE_ATTRIBUTES: _bindgen_ty_3 = 146; +pub const _SC_FILE_LOCKING: _bindgen_ty_3 = 147; +pub const _SC_FILE_SYSTEM: _bindgen_ty_3 = 148; +pub const _SC_MONOTONIC_CLOCK: _bindgen_ty_3 = 149; +pub const _SC_MULTI_PROCESS: _bindgen_ty_3 = 150; +pub const _SC_SINGLE_PROCESS: _bindgen_ty_3 = 151; +pub const _SC_NETWORKING: _bindgen_ty_3 = 152; +pub const _SC_READER_WRITER_LOCKS: _bindgen_ty_3 = 153; +pub const _SC_SPIN_LOCKS: _bindgen_ty_3 = 154; +pub const _SC_REGEXP: _bindgen_ty_3 = 155; +pub const _SC_REGEX_VERSION: _bindgen_ty_3 = 156; +pub const _SC_SHELL: _bindgen_ty_3 = 157; +pub const _SC_SIGNALS: _bindgen_ty_3 = 158; +pub const _SC_SPAWN: _bindgen_ty_3 = 159; +pub const _SC_SPORADIC_SERVER: _bindgen_ty_3 = 160; +pub const _SC_THREAD_SPORADIC_SERVER: _bindgen_ty_3 = 161; +pub const _SC_SYSTEM_DATABASE: _bindgen_ty_3 = 162; +pub const _SC_SYSTEM_DATABASE_R: _bindgen_ty_3 = 163; +pub const _SC_TIMEOUTS: _bindgen_ty_3 = 164; +pub const _SC_TYPED_MEMORY_OBJECTS: _bindgen_ty_3 = 165; +pub const _SC_USER_GROUPS: _bindgen_ty_3 = 166; +pub const _SC_USER_GROUPS_R: _bindgen_ty_3 = 167; +pub const _SC_2_PBS: _bindgen_ty_3 = 168; +pub const _SC_2_PBS_ACCOUNTING: _bindgen_ty_3 = 169; +pub const _SC_2_PBS_LOCATE: _bindgen_ty_3 = 170; +pub const _SC_2_PBS_MESSAGE: _bindgen_ty_3 = 171; +pub const _SC_2_PBS_TRACK: _bindgen_ty_3 = 172; +pub const _SC_SYMLOOP_MAX: _bindgen_ty_3 = 173; +pub const _SC_STREAMS: _bindgen_ty_3 = 174; +pub const _SC_2_PBS_CHECKPOINT: _bindgen_ty_3 = 175; +pub const _SC_V6_ILP32_OFF32: _bindgen_ty_3 = 176; +pub const _SC_V6_ILP32_OFFBIG: _bindgen_ty_3 = 177; +pub const _SC_V6_LP64_OFF64: _bindgen_ty_3 = 178; +pub const _SC_V6_LPBIG_OFFBIG: _bindgen_ty_3 = 179; +pub const _SC_HOST_NAME_MAX: _bindgen_ty_3 = 180; +pub const _SC_TRACE: _bindgen_ty_3 = 181; +pub const _SC_TRACE_EVENT_FILTER: _bindgen_ty_3 = 182; +pub const _SC_TRACE_INHERIT: _bindgen_ty_3 = 183; +pub const _SC_TRACE_LOG: _bindgen_ty_3 = 184; +pub const _SC_LEVEL1_ICACHE_SIZE: _bindgen_ty_3 = 185; +pub const _SC_LEVEL1_ICACHE_ASSOC: _bindgen_ty_3 = 186; +pub const _SC_LEVEL1_ICACHE_LINESIZE: _bindgen_ty_3 = 187; +pub const _SC_LEVEL1_DCACHE_SIZE: _bindgen_ty_3 = 188; +pub const _SC_LEVEL1_DCACHE_ASSOC: _bindgen_ty_3 = 189; +pub const _SC_LEVEL1_DCACHE_LINESIZE: _bindgen_ty_3 = 190; +pub const _SC_LEVEL2_CACHE_SIZE: _bindgen_ty_3 = 191; +pub const _SC_LEVEL2_CACHE_ASSOC: _bindgen_ty_3 = 192; +pub const _SC_LEVEL2_CACHE_LINESIZE: _bindgen_ty_3 = 193; +pub const _SC_LEVEL3_CACHE_SIZE: _bindgen_ty_3 = 194; +pub const _SC_LEVEL3_CACHE_ASSOC: _bindgen_ty_3 = 195; +pub const _SC_LEVEL3_CACHE_LINESIZE: _bindgen_ty_3 = 196; +pub const _SC_LEVEL4_CACHE_SIZE: _bindgen_ty_3 = 197; +pub const _SC_LEVEL4_CACHE_ASSOC: _bindgen_ty_3 = 198; +pub const _SC_LEVEL4_CACHE_LINESIZE: _bindgen_ty_3 = 199; +pub const _SC_IPV6: _bindgen_ty_3 = 235; +pub const _SC_RAW_SOCKETS: _bindgen_ty_3 = 236; +pub const _SC_V7_ILP32_OFF32: _bindgen_ty_3 = 237; +pub const _SC_V7_ILP32_OFFBIG: _bindgen_ty_3 = 238; +pub const _SC_V7_LP64_OFF64: _bindgen_ty_3 = 239; +pub const _SC_V7_LPBIG_OFFBIG: _bindgen_ty_3 = 240; +pub const _SC_SS_REPL_MAX: _bindgen_ty_3 = 241; +pub const _SC_TRACE_EVENT_NAME_MAX: _bindgen_ty_3 = 242; +pub const _SC_TRACE_NAME_MAX: _bindgen_ty_3 = 243; +pub const _SC_TRACE_SYS_MAX: _bindgen_ty_3 = 244; +pub const _SC_TRACE_USER_EVENT_MAX: _bindgen_ty_3 = 245; +pub const _SC_XOPEN_STREAMS: _bindgen_ty_3 = 246; +pub const _SC_THREAD_ROBUST_PRIO_INHERIT: _bindgen_ty_3 = 247; +pub const _SC_THREAD_ROBUST_PRIO_PROTECT: _bindgen_ty_3 = 248; +pub type _bindgen_ty_3 = u32; +pub const _CS_PATH: _bindgen_ty_4 = 0; +pub const _CS_V6_WIDTH_RESTRICTED_ENVS: _bindgen_ty_4 = 1; +pub const _CS_GNU_LIBC_VERSION: _bindgen_ty_4 = 2; +pub const _CS_GNU_LIBPTHREAD_VERSION: _bindgen_ty_4 = 3; +pub const _CS_V5_WIDTH_RESTRICTED_ENVS: _bindgen_ty_4 = 4; +pub const _CS_V7_WIDTH_RESTRICTED_ENVS: _bindgen_ty_4 = 5; +pub const _CS_LFS_CFLAGS: _bindgen_ty_4 = 1000; +pub const _CS_LFS_LDFLAGS: _bindgen_ty_4 = 1001; +pub const _CS_LFS_LIBS: _bindgen_ty_4 = 1002; +pub const _CS_LFS_LINTFLAGS: _bindgen_ty_4 = 1003; +pub const _CS_LFS64_CFLAGS: _bindgen_ty_4 = 1004; +pub const _CS_LFS64_LDFLAGS: _bindgen_ty_4 = 1005; +pub const _CS_LFS64_LIBS: _bindgen_ty_4 = 1006; +pub const _CS_LFS64_LINTFLAGS: _bindgen_ty_4 = 1007; +pub const _CS_XBS5_ILP32_OFF32_CFLAGS: _bindgen_ty_4 = 1100; +pub const _CS_XBS5_ILP32_OFF32_LDFLAGS: _bindgen_ty_4 = 1101; +pub const _CS_XBS5_ILP32_OFF32_LIBS: _bindgen_ty_4 = 1102; +pub const _CS_XBS5_ILP32_OFF32_LINTFLAGS: _bindgen_ty_4 = 1103; +pub const _CS_XBS5_ILP32_OFFBIG_CFLAGS: _bindgen_ty_4 = 1104; +pub const _CS_XBS5_ILP32_OFFBIG_LDFLAGS: _bindgen_ty_4 = 1105; +pub const _CS_XBS5_ILP32_OFFBIG_LIBS: _bindgen_ty_4 = 1106; +pub const _CS_XBS5_ILP32_OFFBIG_LINTFLAGS: _bindgen_ty_4 = 1107; +pub const _CS_XBS5_LP64_OFF64_CFLAGS: _bindgen_ty_4 = 1108; +pub const _CS_XBS5_LP64_OFF64_LDFLAGS: _bindgen_ty_4 = 1109; +pub const _CS_XBS5_LP64_OFF64_LIBS: _bindgen_ty_4 = 1110; +pub const _CS_XBS5_LP64_OFF64_LINTFLAGS: _bindgen_ty_4 = 1111; +pub const _CS_XBS5_LPBIG_OFFBIG_CFLAGS: _bindgen_ty_4 = 1112; +pub const _CS_XBS5_LPBIG_OFFBIG_LDFLAGS: _bindgen_ty_4 = 1113; +pub const _CS_XBS5_LPBIG_OFFBIG_LIBS: _bindgen_ty_4 = 1114; +pub const _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: _bindgen_ty_4 = 1115; +pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: _bindgen_ty_4 = 1116; +pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: _bindgen_ty_4 = 1117; +pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: _bindgen_ty_4 = 1118; +pub const _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS: _bindgen_ty_4 = 1119; +pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: _bindgen_ty_4 = 1120; +pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: _bindgen_ty_4 = 1121; +pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: _bindgen_ty_4 = 1122; +pub const _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS: _bindgen_ty_4 = 1123; +pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: _bindgen_ty_4 = 1124; +pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: _bindgen_ty_4 = 1125; +pub const _CS_POSIX_V6_LP64_OFF64_LIBS: _bindgen_ty_4 = 1126; +pub const _CS_POSIX_V6_LP64_OFF64_LINTFLAGS: _bindgen_ty_4 = 1127; +pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: _bindgen_ty_4 = 1128; +pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: _bindgen_ty_4 = 1129; +pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: _bindgen_ty_4 = 1130; +pub const _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS: _bindgen_ty_4 = 1131; +pub const _CS_POSIX_V7_ILP32_OFF32_CFLAGS: _bindgen_ty_4 = 1132; +pub const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS: _bindgen_ty_4 = 1133; +pub const _CS_POSIX_V7_ILP32_OFF32_LIBS: _bindgen_ty_4 = 1134; +pub const _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS: _bindgen_ty_4 = 1135; +pub const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS: _bindgen_ty_4 = 1136; +pub const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS: _bindgen_ty_4 = 1137; +pub const _CS_POSIX_V7_ILP32_OFFBIG_LIBS: _bindgen_ty_4 = 1138; +pub const _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS: _bindgen_ty_4 = 1139; +pub const _CS_POSIX_V7_LP64_OFF64_CFLAGS: _bindgen_ty_4 = 1140; +pub const _CS_POSIX_V7_LP64_OFF64_LDFLAGS: _bindgen_ty_4 = 1141; +pub const _CS_POSIX_V7_LP64_OFF64_LIBS: _bindgen_ty_4 = 1142; +pub const _CS_POSIX_V7_LP64_OFF64_LINTFLAGS: _bindgen_ty_4 = 1143; +pub const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS: _bindgen_ty_4 = 1144; +pub const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS: _bindgen_ty_4 = 1145; +pub const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS: _bindgen_ty_4 = 1146; +pub const _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS: _bindgen_ty_4 = 1147; +pub const _CS_V6_ENV: _bindgen_ty_4 = 1148; +pub const _CS_V7_ENV: _bindgen_ty_4 = 1149; +pub type _bindgen_ty_4 = u32; +extern "C" { + pub fn pathconf( + __path: *const ::std::os::raw::c_char, + __name: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn fpathconf( + __fd: ::std::os::raw::c_int, + __name: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn confstr( + __name: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> usize; +} +extern "C" { + pub fn getpid() -> __pid_t; +} +extern "C" { + pub fn getppid() -> __pid_t; +} +extern "C" { + pub fn getpgrp() -> __pid_t; +} +extern "C" { + pub fn __getpgid(__pid: __pid_t) -> __pid_t; +} +extern "C" { + pub fn getpgid(__pid: __pid_t) -> __pid_t; +} +extern "C" { + pub fn setpgid(__pid: __pid_t, __pgid: __pid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setpgrp() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setsid() -> __pid_t; +} +extern "C" { + pub fn getsid(__pid: __pid_t) -> __pid_t; +} +extern "C" { + pub fn getuid() -> __uid_t; +} +extern "C" { + pub fn geteuid() -> __uid_t; +} +extern "C" { + pub fn getgid() -> __gid_t; +} +extern "C" { + pub fn getegid() -> __gid_t; +} +extern "C" { + pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut __gid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setuid(__uid: __uid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setreuid(__ruid: __uid_t, __euid: __uid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn seteuid(__uid: __uid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setgid(__gid: __gid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setregid(__rgid: __gid_t, __egid: __gid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setegid(__gid: __gid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fork() -> __pid_t; +} +extern "C" { + pub fn vfork() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ttyname_r( + __fd: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __buflen: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ttyslot() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn link( + __from: *const ::std::os::raw::c_char, + __to: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn linkat( + __fromfd: ::std::os::raw::c_int, + __from: *const ::std::os::raw::c_char, + __tofd: ::std::os::raw::c_int, + __to: *const ::std::os::raw::c_char, + __flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn symlink( + __from: *const ::std::os::raw::c_char, + __to: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn readlink( + __path: *const ::std::os::raw::c_char, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> isize; +} +extern "C" { + pub fn symlinkat( + __from: *const ::std::os::raw::c_char, + __tofd: ::std::os::raw::c_int, + __to: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn readlinkat( + __fd: ::std::os::raw::c_int, + __path: *const ::std::os::raw::c_char, + __buf: *mut ::std::os::raw::c_char, + __len: usize, + ) -> isize; +} +extern "C" { + pub fn unlink(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn unlinkat( + __fd: ::std::os::raw::c_int, + __name: *const ::std::os::raw::c_char, + __flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> __pid_t; +} +extern "C" { + pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pgrp_id: __pid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getlogin() -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn getlogin_r( + __name: *mut ::std::os::raw::c_char, + __name_len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setlogin(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub static mut optarg: *mut ::std::os::raw::c_char; +} +extern "C" { + pub static mut optind: ::std::os::raw::c_int; +} +extern "C" { + pub static mut opterr: ::std::os::raw::c_int; +} +extern "C" { + pub static mut optopt: ::std::os::raw::c_int; +} +extern "C" { + pub fn getopt( + ___argc: ::std::os::raw::c_int, + ___argv: *const *mut ::std::os::raw::c_char, + __shortopts: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn gethostname(__name: *mut ::std::os::raw::c_char, __len: usize) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sethostname( + __name: *const ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sethostid(__id: ::std::os::raw::c_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getdomainname( + __name: *mut ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setdomainname( + __name: *const ::std::os::raw::c_char, + __len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn vhangup() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn revoke(__file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn profil( + __sample_buffer: *mut ::std::os::raw::c_ushort, + __size: usize, + __offset: usize, + __scale: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn acct(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getusershell() -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn endusershell(); +} +extern "C" { + pub fn setusershell(); +} +extern "C" { + pub fn daemon( + __nochdir: ::std::os::raw::c_int, + __noclose: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getpass(__prompt: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn gethostid() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn sync(); +} +extern "C" { + pub fn getpagesize() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getdtablesize() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn truncate( + __file: *const ::std::os::raw::c_char, + __length: __off_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: __off_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sbrk(__delta: isize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn syscall(__sysno: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn lockf( + __fd: ::std::os::raw::c_int, + __cmd: ::std::os::raw::c_int, + __len: __off_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn fdatasync(__fildes: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getentropy( + __buffer: *mut ::std::os::raw::c_void, + __length: usize, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct dirent { + pub d_ino: __ino_t, + pub d_off: __off_t, + pub d_reclen: ::std::os::raw::c_ushort, + pub d_type: ::std::os::raw::c_uchar, + pub d_name: [::std::os::raw::c_char; 256usize], +} +#[test] +fn bindgen_test_layout_dirent() { + assert_eq!( + ::std::mem::size_of::(), + 280usize, + concat!("Size of: ", stringify!(dirent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(dirent)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).d_ino as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(dirent), + "::", + stringify!(d_ino) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).d_off as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(dirent), + "::", + stringify!(d_off) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).d_reclen as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(dirent), + "::", + stringify!(d_reclen) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).d_type as *const _ as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(dirent), + "::", + stringify!(d_type) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).d_name as *const _ as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(dirent), + "::", + stringify!(d_name) + ) + ); +} +pub const DT_UNKNOWN: _bindgen_ty_5 = 0; +pub const DT_FIFO: _bindgen_ty_5 = 1; +pub const DT_CHR: _bindgen_ty_5 = 2; +pub const DT_DIR: _bindgen_ty_5 = 4; +pub const DT_BLK: _bindgen_ty_5 = 6; +pub const DT_REG: _bindgen_ty_5 = 8; +pub const DT_LNK: _bindgen_ty_5 = 10; +pub const DT_SOCK: _bindgen_ty_5 = 12; +pub const DT_WHT: _bindgen_ty_5 = 14; +pub type _bindgen_ty_5 = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __dirstream { + _unused: [u8; 0], +} +pub type DIR = __dirstream; +extern "C" { + pub fn opendir(__name: *const ::std::os::raw::c_char) -> *mut DIR; +} +extern "C" { + pub fn fdopendir(__fd: ::std::os::raw::c_int) -> *mut DIR; +} +extern "C" { + pub fn closedir(__dirp: *mut DIR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn readdir(__dirp: *mut DIR) -> *mut dirent; +} +extern "C" { + pub fn readdir_r( + __dirp: *mut DIR, + __entry: *mut dirent, + __result: *mut *mut dirent, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn rewinddir(__dirp: *mut DIR); +} +extern "C" { + pub fn seekdir(__dirp: *mut DIR, __pos: ::std::os::raw::c_long); +} +extern "C" { + pub fn telldir(__dirp: *mut DIR) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn dirfd(__dirp: *mut DIR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn scandir( + __dir: *const ::std::os::raw::c_char, + __namelist: *mut *mut *mut dirent, + __selector: ::std::option::Option< + unsafe extern "C" fn(arg1: *const dirent) -> ::std::os::raw::c_int, + >, + __cmp: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut *const dirent, + arg2: *mut *const dirent, + ) -> ::std::os::raw::c_int, + >, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn alphasort(__e1: *mut *const dirent, __e2: *mut *const dirent) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getdirentries( + __fd: ::std::os::raw::c_int, + __buf: *mut ::std::os::raw::c_char, + __nbytes: usize, + __basep: *mut __off_t, + ) -> __ssize_t; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct flock { + pub l_type: ::std::os::raw::c_short, + pub l_whence: ::std::os::raw::c_short, + pub l_start: __off_t, + pub l_len: __off_t, + pub l_pid: __pid_t, +} +#[test] +fn bindgen_test_layout_flock() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(flock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(flock)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).l_type as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(flock), + "::", + stringify!(l_type) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).l_whence as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(flock), + "::", + stringify!(l_whence) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).l_start as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(flock), + "::", + stringify!(l_start) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).l_len as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(flock), + "::", + stringify!(l_len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).l_pid as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(flock), + "::", + stringify!(l_pid) + ) + ); +} +extern "C" { + pub fn fcntl( + __fd: ::std::os::raw::c_int, + __cmd: ::std::os::raw::c_int, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn open( + __file: *const ::std::os::raw::c_char, + __oflag: ::std::os::raw::c_int, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn openat( + __fd: ::std::os::raw::c_int, + __file: *const ::std::os::raw::c_char, + __oflag: ::std::os::raw::c_int, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn creat(__file: *const ::std::os::raw::c_char, __mode: mode_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn posix_fadvise( + __fd: ::std::os::raw::c_int, + __offset: off_t, + __len: off_t, + __advise: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn posix_fallocate( + __fd: ::std::os::raw::c_int, + __offset: off_t, + __len: off_t, + ) -> ::std::os::raw::c_int; +} +pub type gint8 = ::std::os::raw::c_schar; +pub type guint8 = ::std::os::raw::c_uchar; +pub type gint16 = ::std::os::raw::c_short; +pub type guint16 = ::std::os::raw::c_ushort; +pub type gint32 = ::std::os::raw::c_int; +pub type guint32 = ::std::os::raw::c_uint; +pub type gint64 = ::std::os::raw::c_long; +pub type guint64 = ::std::os::raw::c_ulong; +pub type gssize = ::std::os::raw::c_long; +pub type gsize = ::std::os::raw::c_ulong; +pub type goffset = gint64; +pub type gintptr = ::std::os::raw::c_long; +pub type guintptr = ::std::os::raw::c_ulong; +pub type GPid = ::std::os::raw::c_int; +pub type gchar = ::std::os::raw::c_char; +pub type gshort = ::std::os::raw::c_short; +pub type glong = ::std::os::raw::c_long; +pub type gint = ::std::os::raw::c_int; +pub type gboolean = gint; +pub type guchar = ::std::os::raw::c_uchar; +pub type gushort = ::std::os::raw::c_ushort; +pub type gulong = ::std::os::raw::c_ulong; +pub type guint = ::std::os::raw::c_uint; +pub type gfloat = f32; +pub type gdouble = f64; +pub type gpointer = *mut ::std::os::raw::c_void; +pub type gconstpointer = *const ::std::os::raw::c_void; +pub type GCompareFunc = + ::std::option::Option gint>; +pub type GCompareDataFunc = ::std::option::Option< + unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gint, +>; +pub type GEqualFunc = + ::std::option::Option gboolean>; +pub type GDestroyNotify = ::std::option::Option; +pub type GFunc = ::std::option::Option; +pub type GHashFunc = ::std::option::Option guint>; +pub type GHFunc = ::std::option::Option< + unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer), +>; +#[doc = " GFreeFunc:"] +#[doc = " @data: a data pointer"] +#[doc = ""] +#[doc = " Declares a type of function which takes an arbitrary"] +#[doc = " data pointer argument and has no return value. It is"] +#[doc = " not currently used in GLib or GTK+."] +pub type GFreeFunc = ::std::option::Option; +#[doc = " GTranslateFunc:"] +#[doc = " @str: the untranslated string"] +#[doc = " @data: user data specified when installing the function, e.g."] +#[doc = " in g_option_group_set_translate_func()"] +#[doc = ""] +#[doc = " The type of functions which are used to translate user-visible"] +#[doc = " strings, for output."] +#[doc = ""] +#[doc = " Returns: a translation of the string for the current locale."] +#[doc = " The returned string is owned by GLib and must not be freed."] +pub type GTranslateFunc = + ::std::option::Option *const gchar>; +pub type GDoubleIEEE754 = _GDoubleIEEE754; +pub type GFloatIEEE754 = _GFloatIEEE754; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GFloatIEEE754 { + pub v_float: gfloat, + pub mpn: _GFloatIEEE754__bindgen_ty_1, + _bindgen_union_align: u32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _GFloatIEEE754__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>, +} +#[test] +fn bindgen_test_layout__GFloatIEEE754__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GFloatIEEE754__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_GFloatIEEE754__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_GFloatIEEE754__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_GFloatIEEE754__bindgen_ty_1)) + ); +} +impl _GFloatIEEE754__bindgen_ty_1 { + #[inline] + pub fn mantissa(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 23u8) as u32) } + } + #[inline] + pub fn set_mantissa(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 23u8, val as u64) + } + } + #[inline] + pub fn biased_exponent(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 8u8) as u32) } + } + #[inline] + pub fn set_biased_exponent(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 8u8, val as u64) + } + } + #[inline] + pub fn sign(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_sign(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + mantissa: guint, + biased_exponent: guint, + sign: guint, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 23u8, { + let mantissa: u32 = unsafe { ::std::mem::transmute(mantissa) }; + mantissa as u64 + }); + __bindgen_bitfield_unit.set(23usize, 8u8, { + let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) }; + biased_exponent as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let sign: u32 = unsafe { ::std::mem::transmute(sign) }; + sign as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__GFloatIEEE754() { + assert_eq!( + ::std::mem::size_of::<_GFloatIEEE754>(), + 4usize, + concat!("Size of: ", stringify!(_GFloatIEEE754)) + ); + assert_eq!( + ::std::mem::align_of::<_GFloatIEEE754>(), + 4usize, + concat!("Alignment of ", stringify!(_GFloatIEEE754)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GFloatIEEE754>())).v_float as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GFloatIEEE754), + "::", + stringify!(v_float) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GFloatIEEE754>())).mpn as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GFloatIEEE754), + "::", + stringify!(mpn) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GDoubleIEEE754 { + pub v_double: gdouble, + pub mpn: _GDoubleIEEE754__bindgen_ty_1, + _bindgen_union_align: u64, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _GDoubleIEEE754__bindgen_ty_1 { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>, +} +#[test] +fn bindgen_test_layout__GDoubleIEEE754__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GDoubleIEEE754__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_GDoubleIEEE754__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_GDoubleIEEE754__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_GDoubleIEEE754__bindgen_ty_1)) + ); +} +impl _GDoubleIEEE754__bindgen_ty_1 { + #[inline] + pub fn mantissa_low(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) } + } + #[inline] + pub fn set_mantissa_low(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 32u8, val as u64) + } + } + #[inline] + pub fn mantissa_high(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 20u8) as u32) } + } + #[inline] + pub fn set_mantissa_high(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(32usize, 20u8, val as u64) + } + } + #[inline] + pub fn biased_exponent(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(52usize, 11u8) as u32) } + } + #[inline] + pub fn set_biased_exponent(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(52usize, 11u8, val as u64) + } + } + #[inline] + pub fn sign(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(63usize, 1u8) as u32) } + } + #[inline] + pub fn set_sign(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(63usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + mantissa_low: guint, + mantissa_high: guint, + biased_exponent: guint, + sign: guint, + ) -> __BindgenBitfieldUnit<[u8; 8usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 32u8, { + let mantissa_low: u32 = unsafe { ::std::mem::transmute(mantissa_low) }; + mantissa_low as u64 + }); + __bindgen_bitfield_unit.set(32usize, 20u8, { + let mantissa_high: u32 = unsafe { ::std::mem::transmute(mantissa_high) }; + mantissa_high as u64 + }); + __bindgen_bitfield_unit.set(52usize, 11u8, { + let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) }; + biased_exponent as u64 + }); + __bindgen_bitfield_unit.set(63usize, 1u8, { + let sign: u32 = unsafe { ::std::mem::transmute(sign) }; + sign as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__GDoubleIEEE754() { + assert_eq!( + ::std::mem::size_of::<_GDoubleIEEE754>(), + 8usize, + concat!("Size of: ", stringify!(_GDoubleIEEE754)) + ); + assert_eq!( + ::std::mem::align_of::<_GDoubleIEEE754>(), + 8usize, + concat!("Alignment of ", stringify!(_GDoubleIEEE754)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GDoubleIEEE754>())).v_double as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDoubleIEEE754), + "::", + stringify!(v_double) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GDoubleIEEE754>())).mpn as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDoubleIEEE754), + "::", + stringify!(mpn) + ) + ); +} +pub type GTimeVal = _GTimeVal; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GTimeVal { + pub tv_sec: glong, + pub tv_usec: glong, +} +#[test] +fn bindgen_test_layout__GTimeVal() { + assert_eq!( + ::std::mem::size_of::<_GTimeVal>(), + 16usize, + concat!("Size of: ", stringify!(_GTimeVal)) + ); + assert_eq!( + ::std::mem::align_of::<_GTimeVal>(), + 8usize, + concat!("Alignment of ", stringify!(_GTimeVal)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTimeVal>())).tv_sec as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTimeVal), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTimeVal>())).tv_usec as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GTimeVal), + "::", + stringify!(tv_usec) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GBytes { + _unused: [u8; 0], +} +pub type GBytes = _GBytes; +pub type GArray = _GArray; +pub type GByteArray = _GByteArray; +pub type GPtrArray = _GPtrArray; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GArray { + pub data: *mut gchar, + pub len: guint, +} +#[test] +fn bindgen_test_layout__GArray() { + assert_eq!( + ::std::mem::size_of::<_GArray>(), + 16usize, + concat!("Size of: ", stringify!(_GArray)) + ); + assert_eq!( + ::std::mem::align_of::<_GArray>(), + 8usize, + concat!("Alignment of ", stringify!(_GArray)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GArray>())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GArray), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GArray>())).len as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GArray), + "::", + stringify!(len) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GByteArray { + pub data: *mut guint8, + pub len: guint, +} +#[test] +fn bindgen_test_layout__GByteArray() { + assert_eq!( + ::std::mem::size_of::<_GByteArray>(), + 16usize, + concat!("Size of: ", stringify!(_GByteArray)) + ); + assert_eq!( + ::std::mem::align_of::<_GByteArray>(), + 8usize, + concat!("Alignment of ", stringify!(_GByteArray)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GByteArray>())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GByteArray), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GByteArray>())).len as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GByteArray), + "::", + stringify!(len) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GPtrArray { + pub pdata: *mut gpointer, + pub len: guint, +} +#[test] +fn bindgen_test_layout__GPtrArray() { + assert_eq!( + ::std::mem::size_of::<_GPtrArray>(), + 16usize, + concat!("Size of: ", stringify!(_GPtrArray)) + ); + assert_eq!( + ::std::mem::align_of::<_GPtrArray>(), + 8usize, + concat!("Alignment of ", stringify!(_GPtrArray)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPtrArray>())).pdata as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GPtrArray), + "::", + stringify!(pdata) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPtrArray>())).len as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GPtrArray), + "::", + stringify!(len) + ) + ); +} +extern "C" { + pub fn g_array_new( + zero_terminated: gboolean, + clear_: gboolean, + element_size: guint, + ) -> *mut GArray; +} +extern "C" { + pub fn g_array_sized_new( + zero_terminated: gboolean, + clear_: gboolean, + element_size: guint, + reserved_size: guint, + ) -> *mut GArray; +} +extern "C" { + pub fn g_array_free(array: *mut GArray, free_segment: gboolean) -> *mut gchar; +} +extern "C" { + pub fn g_array_ref(array: *mut GArray) -> *mut GArray; +} +extern "C" { + pub fn g_array_unref(array: *mut GArray); +} +extern "C" { + pub fn g_array_get_element_size(array: *mut GArray) -> guint; +} +extern "C" { + pub fn g_array_append_vals(array: *mut GArray, data: gconstpointer, len: guint) -> *mut GArray; +} +extern "C" { + pub fn g_array_prepend_vals(array: *mut GArray, data: gconstpointer, len: guint) + -> *mut GArray; +} +extern "C" { + pub fn g_array_insert_vals( + array: *mut GArray, + index_: guint, + data: gconstpointer, + len: guint, + ) -> *mut GArray; +} +extern "C" { + pub fn g_array_set_size(array: *mut GArray, length: guint) -> *mut GArray; +} +extern "C" { + pub fn g_array_remove_index(array: *mut GArray, index_: guint) -> *mut GArray; +} +extern "C" { + pub fn g_array_remove_index_fast(array: *mut GArray, index_: guint) -> *mut GArray; +} +extern "C" { + pub fn g_array_remove_range(array: *mut GArray, index_: guint, length: guint) -> *mut GArray; +} +extern "C" { + pub fn g_array_sort(array: *mut GArray, compare_func: GCompareFunc); +} +extern "C" { + pub fn g_array_sort_with_data( + array: *mut GArray, + compare_func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_array_set_clear_func(array: *mut GArray, clear_func: GDestroyNotify); +} +extern "C" { + pub fn g_ptr_array_new() -> *mut GPtrArray; +} +extern "C" { + pub fn g_ptr_array_new_with_free_func(element_free_func: GDestroyNotify) -> *mut GPtrArray; +} +extern "C" { + pub fn g_ptr_array_sized_new(reserved_size: guint) -> *mut GPtrArray; +} +extern "C" { + pub fn g_ptr_array_new_full( + reserved_size: guint, + element_free_func: GDestroyNotify, + ) -> *mut GPtrArray; +} +extern "C" { + pub fn g_ptr_array_free(array: *mut GPtrArray, free_seg: gboolean) -> *mut gpointer; +} +extern "C" { + pub fn g_ptr_array_ref(array: *mut GPtrArray) -> *mut GPtrArray; +} +extern "C" { + pub fn g_ptr_array_unref(array: *mut GPtrArray); +} +extern "C" { + pub fn g_ptr_array_set_free_func(array: *mut GPtrArray, element_free_func: GDestroyNotify); +} +extern "C" { + pub fn g_ptr_array_set_size(array: *mut GPtrArray, length: gint); +} +extern "C" { + pub fn g_ptr_array_remove_index(array: *mut GPtrArray, index_: guint) -> gpointer; +} +extern "C" { + pub fn g_ptr_array_remove_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer; +} +extern "C" { + pub fn g_ptr_array_remove(array: *mut GPtrArray, data: gpointer) -> gboolean; +} +extern "C" { + pub fn g_ptr_array_remove_fast(array: *mut GPtrArray, data: gpointer) -> gboolean; +} +extern "C" { + pub fn g_ptr_array_remove_range( + array: *mut GPtrArray, + index_: guint, + length: guint, + ) -> *mut GPtrArray; +} +extern "C" { + pub fn g_ptr_array_add(array: *mut GPtrArray, data: gpointer); +} +extern "C" { + pub fn g_ptr_array_insert(array: *mut GPtrArray, index_: gint, data: gpointer); +} +extern "C" { + pub fn g_ptr_array_sort(array: *mut GPtrArray, compare_func: GCompareFunc); +} +extern "C" { + pub fn g_ptr_array_sort_with_data( + array: *mut GPtrArray, + compare_func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_ptr_array_foreach(array: *mut GPtrArray, func: GFunc, user_data: gpointer); +} +extern "C" { + pub fn g_ptr_array_find( + haystack: *mut GPtrArray, + needle: gconstpointer, + index_: *mut guint, + ) -> gboolean; +} +extern "C" { + pub fn g_ptr_array_find_with_equal_func( + haystack: *mut GPtrArray, + needle: gconstpointer, + equal_func: GEqualFunc, + index_: *mut guint, + ) -> gboolean; +} +extern "C" { + pub fn g_byte_array_new() -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_new_take(data: *mut guint8, len: gsize) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_sized_new(reserved_size: guint) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_free(array: *mut GByteArray, free_segment: gboolean) -> *mut guint8; +} +extern "C" { + pub fn g_byte_array_free_to_bytes(array: *mut GByteArray) -> *mut GBytes; +} +extern "C" { + pub fn g_byte_array_ref(array: *mut GByteArray) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_unref(array: *mut GByteArray); +} +extern "C" { + pub fn g_byte_array_append( + array: *mut GByteArray, + data: *const guint8, + len: guint, + ) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_prepend( + array: *mut GByteArray, + data: *const guint8, + len: guint, + ) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_set_size(array: *mut GByteArray, length: guint) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_remove_index(array: *mut GByteArray, index_: guint) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_remove_index_fast(array: *mut GByteArray, index_: guint) + -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_remove_range( + array: *mut GByteArray, + index_: guint, + length: guint, + ) -> *mut GByteArray; +} +extern "C" { + pub fn g_byte_array_sort(array: *mut GByteArray, compare_func: GCompareFunc); +} +extern "C" { + pub fn g_byte_array_sort_with_data( + array: *mut GByteArray, + compare_func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_atomic_int_get(atomic: *const gint) -> gint; +} +extern "C" { + pub fn g_atomic_int_set(atomic: *mut gint, newval: gint); +} +extern "C" { + pub fn g_atomic_int_inc(atomic: *mut gint); +} +extern "C" { + pub fn g_atomic_int_dec_and_test(atomic: *mut gint) -> gboolean; +} +extern "C" { + pub fn g_atomic_int_compare_and_exchange( + atomic: *mut gint, + oldval: gint, + newval: gint, + ) -> gboolean; +} +extern "C" { + pub fn g_atomic_int_add(atomic: *mut gint, val: gint) -> gint; +} +extern "C" { + pub fn g_atomic_int_and(atomic: *mut guint, val: guint) -> guint; +} +extern "C" { + pub fn g_atomic_int_or(atomic: *mut guint, val: guint) -> guint; +} +extern "C" { + pub fn g_atomic_int_xor(atomic: *mut guint, val: guint) -> guint; +} +extern "C" { + pub fn g_atomic_pointer_get(atomic: *const ::std::os::raw::c_void) -> gpointer; +} +extern "C" { + pub fn g_atomic_pointer_set(atomic: *mut ::std::os::raw::c_void, newval: gpointer); +} +extern "C" { + pub fn g_atomic_pointer_compare_and_exchange( + atomic: *mut ::std::os::raw::c_void, + oldval: gpointer, + newval: gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_atomic_pointer_add(atomic: *mut ::std::os::raw::c_void, val: gssize) -> gssize; +} +extern "C" { + pub fn g_atomic_pointer_and(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize; +} +extern "C" { + pub fn g_atomic_pointer_or(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize; +} +extern "C" { + pub fn g_atomic_pointer_xor(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize; +} +extern "C" { + pub fn g_atomic_int_exchange_and_add(atomic: *mut gint, val: gint) -> gint; +} +pub type GQuark = guint32; +extern "C" { + pub fn g_quark_try_string(string: *const gchar) -> GQuark; +} +extern "C" { + pub fn g_quark_from_static_string(string: *const gchar) -> GQuark; +} +extern "C" { + pub fn g_quark_from_string(string: *const gchar) -> GQuark; +} +extern "C" { + pub fn g_quark_to_string(quark: GQuark) -> *const gchar; +} +extern "C" { + pub fn g_intern_string(string: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_intern_static_string(string: *const gchar) -> *const gchar; +} +#[doc = " GError:"] +#[doc = " @domain: error domain, e.g. #G_FILE_ERROR"] +#[doc = " @code: error code, e.g. %G_FILE_ERROR_NOENT"] +#[doc = " @message: human-readable informative error message"] +#[doc = ""] +#[doc = " The `GError` structure contains information about"] +#[doc = " an error that has occurred."] +pub type GError = _GError; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GError { + pub domain: GQuark, + pub code: gint, + pub message: *mut gchar, +} +#[test] +fn bindgen_test_layout__GError() { + assert_eq!( + ::std::mem::size_of::<_GError>(), + 16usize, + concat!("Size of: ", stringify!(_GError)) + ); + assert_eq!( + ::std::mem::align_of::<_GError>(), + 8usize, + concat!("Alignment of ", stringify!(_GError)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GError>())).domain as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GError), + "::", + stringify!(domain) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GError>())).code as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GError), + "::", + stringify!(code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GError>())).message as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GError), + "::", + stringify!(message) + ) + ); +} +extern "C" { + pub fn g_error_new(domain: GQuark, code: gint, format: *const gchar, ...) -> *mut GError; +} +extern "C" { + pub fn g_error_new_literal(domain: GQuark, code: gint, message: *const gchar) -> *mut GError; +} +extern "C" { + pub fn g_error_new_valist( + domain: GQuark, + code: gint, + format: *const gchar, + args: *mut __va_list_tag, + ) -> *mut GError; +} +extern "C" { + pub fn g_error_free(error: *mut GError); +} +extern "C" { + pub fn g_error_copy(error: *const GError) -> *mut GError; +} +extern "C" { + pub fn g_error_matches(error: *const GError, domain: GQuark, code: gint) -> gboolean; +} +extern "C" { + pub fn g_set_error( + err: *mut *mut GError, + domain: GQuark, + code: gint, + format: *const gchar, + ... + ); +} +extern "C" { + pub fn g_set_error_literal( + err: *mut *mut GError, + domain: GQuark, + code: gint, + message: *const gchar, + ); +} +extern "C" { + pub fn g_propagate_error(dest: *mut *mut GError, src: *mut GError); +} +extern "C" { + pub fn g_clear_error(err: *mut *mut GError); +} +extern "C" { + pub fn g_prefix_error(err: *mut *mut GError, format: *const gchar, ...); +} +extern "C" { + pub fn g_propagate_prefixed_error( + dest: *mut *mut GError, + src: *mut GError, + format: *const gchar, + ... + ); +} +extern "C" { + pub fn g_get_user_name() -> *const gchar; +} +extern "C" { + pub fn g_get_real_name() -> *const gchar; +} +extern "C" { + pub fn g_get_home_dir() -> *const gchar; +} +extern "C" { + pub fn g_get_tmp_dir() -> *const gchar; +} +extern "C" { + pub fn g_get_host_name() -> *const gchar; +} +extern "C" { + pub fn g_get_prgname() -> *const gchar; +} +extern "C" { + pub fn g_set_prgname(prgname: *const gchar); +} +extern "C" { + pub fn g_get_application_name() -> *const gchar; +} +extern "C" { + pub fn g_set_application_name(application_name: *const gchar); +} +extern "C" { + pub fn g_reload_user_special_dirs_cache(); +} +extern "C" { + pub fn g_get_user_data_dir() -> *const gchar; +} +extern "C" { + pub fn g_get_user_config_dir() -> *const gchar; +} +extern "C" { + pub fn g_get_user_cache_dir() -> *const gchar; +} +extern "C" { + pub fn g_get_system_data_dirs() -> *const *const gchar; +} +extern "C" { + pub fn g_get_system_config_dirs() -> *const *const gchar; +} +extern "C" { + pub fn g_get_user_runtime_dir() -> *const gchar; +} +pub const GUserDirectory_G_USER_DIRECTORY_DESKTOP: GUserDirectory = 0; +pub const GUserDirectory_G_USER_DIRECTORY_DOCUMENTS: GUserDirectory = 1; +pub const GUserDirectory_G_USER_DIRECTORY_DOWNLOAD: GUserDirectory = 2; +pub const GUserDirectory_G_USER_DIRECTORY_MUSIC: GUserDirectory = 3; +pub const GUserDirectory_G_USER_DIRECTORY_PICTURES: GUserDirectory = 4; +pub const GUserDirectory_G_USER_DIRECTORY_PUBLIC_SHARE: GUserDirectory = 5; +pub const GUserDirectory_G_USER_DIRECTORY_TEMPLATES: GUserDirectory = 6; +pub const GUserDirectory_G_USER_DIRECTORY_VIDEOS: GUserDirectory = 7; +pub const GUserDirectory_G_USER_N_DIRECTORIES: GUserDirectory = 8; +#[doc = " GUserDirectory:"] +#[doc = " @G_USER_DIRECTORY_DESKTOP: the user's Desktop directory"] +#[doc = " @G_USER_DIRECTORY_DOCUMENTS: the user's Documents directory"] +#[doc = " @G_USER_DIRECTORY_DOWNLOAD: the user's Downloads directory"] +#[doc = " @G_USER_DIRECTORY_MUSIC: the user's Music directory"] +#[doc = " @G_USER_DIRECTORY_PICTURES: the user's Pictures directory"] +#[doc = " @G_USER_DIRECTORY_PUBLIC_SHARE: the user's shared directory"] +#[doc = " @G_USER_DIRECTORY_TEMPLATES: the user's Templates directory"] +#[doc = " @G_USER_DIRECTORY_VIDEOS: the user's Movies directory"] +#[doc = " @G_USER_N_DIRECTORIES: the number of enum values"] +#[doc = ""] +#[doc = " These are logical ids for special directories which are defined"] +#[doc = " depending on the platform used. You should use g_get_user_special_dir()"] +#[doc = " to retrieve the full path associated to the logical id."] +#[doc = ""] +#[doc = " The #GUserDirectory enumeration can be extended at later date. Not"] +#[doc = " every platform has a directory for every logical id in this"] +#[doc = " enumeration."] +#[doc = ""] +#[doc = " Since: 2.14"] +pub type GUserDirectory = u32; +extern "C" { + pub fn g_get_user_special_dir(directory: GUserDirectory) -> *const gchar; +} +#[doc = " GDebugKey:"] +#[doc = " @key: the string"] +#[doc = " @value: the flag"] +#[doc = ""] +#[doc = " Associates a string with a bit flag."] +#[doc = " Used in g_parse_debug_string()."] +pub type GDebugKey = _GDebugKey; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GDebugKey { + pub key: *const gchar, + pub value: guint, +} +#[test] +fn bindgen_test_layout__GDebugKey() { + assert_eq!( + ::std::mem::size_of::<_GDebugKey>(), + 16usize, + concat!("Size of: ", stringify!(_GDebugKey)) + ); + assert_eq!( + ::std::mem::align_of::<_GDebugKey>(), + 8usize, + concat!("Alignment of ", stringify!(_GDebugKey)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GDebugKey>())).key as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDebugKey), + "::", + stringify!(key) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GDebugKey>())).value as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GDebugKey), + "::", + stringify!(value) + ) + ); +} +extern "C" { + pub fn g_parse_debug_string( + string: *const gchar, + keys: *const GDebugKey, + nkeys: guint, + ) -> guint; +} +extern "C" { + pub fn g_snprintf(string: *mut gchar, n: gulong, format: *const gchar, ...) -> gint; +} +extern "C" { + pub fn g_vsnprintf( + string: *mut gchar, + n: gulong, + format: *const gchar, + args: *mut __va_list_tag, + ) -> gint; +} +extern "C" { + pub fn g_nullify_pointer(nullify_location: *mut gpointer); +} +pub const GFormatSizeFlags_G_FORMAT_SIZE_DEFAULT: GFormatSizeFlags = 0; +pub const GFormatSizeFlags_G_FORMAT_SIZE_LONG_FORMAT: GFormatSizeFlags = 1; +pub const GFormatSizeFlags_G_FORMAT_SIZE_IEC_UNITS: GFormatSizeFlags = 2; +pub const GFormatSizeFlags_G_FORMAT_SIZE_BITS: GFormatSizeFlags = 4; +pub type GFormatSizeFlags = u32; +extern "C" { + pub fn g_format_size_full(size: guint64, flags: GFormatSizeFlags) -> *mut gchar; +} +extern "C" { + pub fn g_format_size(size: guint64) -> *mut gchar; +} +extern "C" { + pub fn g_format_size_for_display(size: goffset) -> *mut gchar; +} +#[doc = " GVoidFunc:"] +#[doc = ""] +#[doc = " Declares a type of function which takes no arguments"] +#[doc = " and has no return value. It is used to specify the type"] +#[doc = " function passed to g_atexit()."] +pub type GVoidFunc = ::std::option::Option; +extern "C" { + pub fn g_atexit(func: GVoidFunc); +} +extern "C" { + pub fn g_find_program_in_path(program: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_bit_nth_lsf(mask: gulong, nth_bit: gint) -> gint; +} +extern "C" { + pub fn g_bit_nth_msf(mask: gulong, nth_bit: gint) -> gint; +} +extern "C" { + pub fn g_bit_storage(number: gulong) -> guint; +} +extern "C" { + pub fn g_thread_error_quark() -> GQuark; +} +pub const GThreadError_G_THREAD_ERROR_AGAIN: GThreadError = 0; +pub type GThreadError = u32; +pub type GThreadFunc = ::std::option::Option gpointer>; +pub type GThread = _GThread; +pub type GMutex = _GMutex; +pub type GRecMutex = _GRecMutex; +pub type GRWLock = _GRWLock; +pub type GCond = _GCond; +pub type GPrivate = _GPrivate; +pub type GOnce = _GOnce; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GMutex { + pub p: gpointer, + pub i: [guint; 2usize], + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout__GMutex() { + assert_eq!( + ::std::mem::size_of::<_GMutex>(), + 8usize, + concat!("Size of: ", stringify!(_GMutex)) + ); + assert_eq!( + ::std::mem::align_of::<_GMutex>(), + 8usize, + concat!("Alignment of ", stringify!(_GMutex)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMutex>())).p as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GMutex), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMutex>())).i as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GMutex), + "::", + stringify!(i) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRWLock { + pub p: gpointer, + pub i: [guint; 2usize], +} +#[test] +fn bindgen_test_layout__GRWLock() { + assert_eq!( + ::std::mem::size_of::<_GRWLock>(), + 16usize, + concat!("Size of: ", stringify!(_GRWLock)) + ); + assert_eq!( + ::std::mem::align_of::<_GRWLock>(), + 8usize, + concat!("Alignment of ", stringify!(_GRWLock)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GRWLock>())).p as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GRWLock), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GRWLock>())).i as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GRWLock), + "::", + stringify!(i) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GCond { + pub p: gpointer, + pub i: [guint; 2usize], +} +#[test] +fn bindgen_test_layout__GCond() { + assert_eq!( + ::std::mem::size_of::<_GCond>(), + 16usize, + concat!("Size of: ", stringify!(_GCond)) + ); + assert_eq!( + ::std::mem::align_of::<_GCond>(), + 8usize, + concat!("Alignment of ", stringify!(_GCond)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCond>())).p as *const _ as usize }, + 0usize, + concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(p)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCond>())).i as *const _ as usize }, + 8usize, + concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(i)) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRecMutex { + pub p: gpointer, + pub i: [guint; 2usize], +} +#[test] +fn bindgen_test_layout__GRecMutex() { + assert_eq!( + ::std::mem::size_of::<_GRecMutex>(), + 16usize, + concat!("Size of: ", stringify!(_GRecMutex)) + ); + assert_eq!( + ::std::mem::align_of::<_GRecMutex>(), + 8usize, + concat!("Alignment of ", stringify!(_GRecMutex)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GRecMutex>())).p as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GRecMutex), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GRecMutex>())).i as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GRecMutex), + "::", + stringify!(i) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GPrivate { + pub p: gpointer, + pub notify: GDestroyNotify, + pub future: [gpointer; 2usize], +} +#[test] +fn bindgen_test_layout__GPrivate() { + assert_eq!( + ::std::mem::size_of::<_GPrivate>(), + 32usize, + concat!("Size of: ", stringify!(_GPrivate)) + ); + assert_eq!( + ::std::mem::align_of::<_GPrivate>(), + 8usize, + concat!("Alignment of ", stringify!(_GPrivate)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPrivate>())).p as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GPrivate), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPrivate>())).notify as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GPrivate), + "::", + stringify!(notify) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPrivate>())).future as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GPrivate), + "::", + stringify!(future) + ) + ); +} +pub const GOnceStatus_G_ONCE_STATUS_NOTCALLED: GOnceStatus = 0; +pub const GOnceStatus_G_ONCE_STATUS_PROGRESS: GOnceStatus = 1; +pub const GOnceStatus_G_ONCE_STATUS_READY: GOnceStatus = 2; +pub type GOnceStatus = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GOnce { + pub status: GOnceStatus, + pub retval: gpointer, +} +#[test] +fn bindgen_test_layout__GOnce() { + assert_eq!( + ::std::mem::size_of::<_GOnce>(), + 16usize, + concat!("Size of: ", stringify!(_GOnce)) + ); + assert_eq!( + ::std::mem::align_of::<_GOnce>(), + 8usize, + concat!("Alignment of ", stringify!(_GOnce)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOnce>())).status as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GOnce), + "::", + stringify!(status) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOnce>())).retval as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GOnce), + "::", + stringify!(retval) + ) + ); +} +extern "C" { + pub fn g_thread_ref(thread: *mut GThread) -> *mut GThread; +} +extern "C" { + pub fn g_thread_unref(thread: *mut GThread); +} +extern "C" { + pub fn g_thread_new(name: *const gchar, func: GThreadFunc, data: gpointer) -> *mut GThread; +} +extern "C" { + pub fn g_thread_try_new( + name: *const gchar, + func: GThreadFunc, + data: gpointer, + error: *mut *mut GError, + ) -> *mut GThread; +} +extern "C" { + pub fn g_thread_self() -> *mut GThread; +} +extern "C" { + pub fn g_thread_exit(retval: gpointer); +} +extern "C" { + pub fn g_thread_join(thread: *mut GThread) -> gpointer; +} +extern "C" { + pub fn g_thread_yield(); +} +extern "C" { + pub fn g_mutex_init(mutex: *mut GMutex); +} +extern "C" { + pub fn g_mutex_clear(mutex: *mut GMutex); +} +extern "C" { + pub fn g_mutex_lock(mutex: *mut GMutex); +} +extern "C" { + pub fn g_mutex_trylock(mutex: *mut GMutex) -> gboolean; +} +extern "C" { + pub fn g_mutex_unlock(mutex: *mut GMutex); +} +extern "C" { + pub fn g_rw_lock_init(rw_lock: *mut GRWLock); +} +extern "C" { + pub fn g_rw_lock_clear(rw_lock: *mut GRWLock); +} +extern "C" { + pub fn g_rw_lock_writer_lock(rw_lock: *mut GRWLock); +} +extern "C" { + pub fn g_rw_lock_writer_trylock(rw_lock: *mut GRWLock) -> gboolean; +} +extern "C" { + pub fn g_rw_lock_writer_unlock(rw_lock: *mut GRWLock); +} +extern "C" { + pub fn g_rw_lock_reader_lock(rw_lock: *mut GRWLock); +} +extern "C" { + pub fn g_rw_lock_reader_trylock(rw_lock: *mut GRWLock) -> gboolean; +} +extern "C" { + pub fn g_rw_lock_reader_unlock(rw_lock: *mut GRWLock); +} +extern "C" { + pub fn g_rec_mutex_init(rec_mutex: *mut GRecMutex); +} +extern "C" { + pub fn g_rec_mutex_clear(rec_mutex: *mut GRecMutex); +} +extern "C" { + pub fn g_rec_mutex_lock(rec_mutex: *mut GRecMutex); +} +extern "C" { + pub fn g_rec_mutex_trylock(rec_mutex: *mut GRecMutex) -> gboolean; +} +extern "C" { + pub fn g_rec_mutex_unlock(rec_mutex: *mut GRecMutex); +} +extern "C" { + pub fn g_cond_init(cond: *mut GCond); +} +extern "C" { + pub fn g_cond_clear(cond: *mut GCond); +} +extern "C" { + pub fn g_cond_wait(cond: *mut GCond, mutex: *mut GMutex); +} +extern "C" { + pub fn g_cond_signal(cond: *mut GCond); +} +extern "C" { + pub fn g_cond_broadcast(cond: *mut GCond); +} +extern "C" { + pub fn g_cond_wait_until(cond: *mut GCond, mutex: *mut GMutex, end_time: gint64) -> gboolean; +} +extern "C" { + pub fn g_private_get(key: *mut GPrivate) -> gpointer; +} +extern "C" { + pub fn g_private_set(key: *mut GPrivate, value: gpointer); +} +extern "C" { + pub fn g_private_replace(key: *mut GPrivate, value: gpointer); +} +extern "C" { + pub fn g_once_impl(once: *mut GOnce, func: GThreadFunc, arg: gpointer) -> gpointer; +} +extern "C" { + pub fn g_once_init_enter(location: *mut ::std::os::raw::c_void) -> gboolean; +} +extern "C" { + pub fn g_once_init_leave(location: *mut ::std::os::raw::c_void, result: gsize); +} +extern "C" { + pub fn g_get_num_processors() -> guint; +} +#[doc = " GMutexLocker:"] +#[doc = ""] +#[doc = " Opaque type. See g_mutex_locker_new() for details."] +#[doc = " Since: 2.44"] +pub type GMutexLocker = ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GAsyncQueue { + _unused: [u8; 0], +} +pub type GAsyncQueue = _GAsyncQueue; +extern "C" { + pub fn g_async_queue_new() -> *mut GAsyncQueue; +} +extern "C" { + pub fn g_async_queue_new_full(item_free_func: GDestroyNotify) -> *mut GAsyncQueue; +} +extern "C" { + pub fn g_async_queue_lock(queue: *mut GAsyncQueue); +} +extern "C" { + pub fn g_async_queue_unlock(queue: *mut GAsyncQueue); +} +extern "C" { + pub fn g_async_queue_ref(queue: *mut GAsyncQueue) -> *mut GAsyncQueue; +} +extern "C" { + pub fn g_async_queue_unref(queue: *mut GAsyncQueue); +} +extern "C" { + pub fn g_async_queue_ref_unlocked(queue: *mut GAsyncQueue); +} +extern "C" { + pub fn g_async_queue_unref_and_unlock(queue: *mut GAsyncQueue); +} +extern "C" { + pub fn g_async_queue_push(queue: *mut GAsyncQueue, data: gpointer); +} +extern "C" { + pub fn g_async_queue_push_unlocked(queue: *mut GAsyncQueue, data: gpointer); +} +extern "C" { + pub fn g_async_queue_push_sorted( + queue: *mut GAsyncQueue, + data: gpointer, + func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_async_queue_push_sorted_unlocked( + queue: *mut GAsyncQueue, + data: gpointer, + func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_async_queue_pop(queue: *mut GAsyncQueue) -> gpointer; +} +extern "C" { + pub fn g_async_queue_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer; +} +extern "C" { + pub fn g_async_queue_try_pop(queue: *mut GAsyncQueue) -> gpointer; +} +extern "C" { + pub fn g_async_queue_try_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer; +} +extern "C" { + pub fn g_async_queue_timeout_pop(queue: *mut GAsyncQueue, timeout: guint64) -> gpointer; +} +extern "C" { + pub fn g_async_queue_timeout_pop_unlocked( + queue: *mut GAsyncQueue, + timeout: guint64, + ) -> gpointer; +} +extern "C" { + pub fn g_async_queue_length(queue: *mut GAsyncQueue) -> gint; +} +extern "C" { + pub fn g_async_queue_length_unlocked(queue: *mut GAsyncQueue) -> gint; +} +extern "C" { + pub fn g_async_queue_sort(queue: *mut GAsyncQueue, func: GCompareDataFunc, user_data: gpointer); +} +extern "C" { + pub fn g_async_queue_sort_unlocked( + queue: *mut GAsyncQueue, + func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_async_queue_remove(queue: *mut GAsyncQueue, item: gpointer) -> gboolean; +} +extern "C" { + pub fn g_async_queue_remove_unlocked(queue: *mut GAsyncQueue, item: gpointer) -> gboolean; +} +extern "C" { + pub fn g_async_queue_push_front(queue: *mut GAsyncQueue, item: gpointer); +} +extern "C" { + pub fn g_async_queue_push_front_unlocked(queue: *mut GAsyncQueue, item: gpointer); +} +extern "C" { + pub fn g_async_queue_timed_pop(queue: *mut GAsyncQueue, end_time: *mut GTimeVal) -> gpointer; +} +extern "C" { + pub fn g_async_queue_timed_pop_unlocked( + queue: *mut GAsyncQueue, + end_time: *mut GTimeVal, + ) -> gpointer; +} +pub type sig_atomic_t = __sig_atomic_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigval { + pub sival_int: ::std::os::raw::c_int, + pub sival_ptr: *mut ::std::os::raw::c_void, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout_sigval() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(sigval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigval)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sival_int as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigval), + "::", + stringify!(sival_int) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sival_ptr as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigval), + "::", + stringify!(sival_ptr) + ) + ); +} +pub type __sigval_t = sigval; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct siginfo_t { + pub si_signo: ::std::os::raw::c_int, + pub si_errno: ::std::os::raw::c_int, + pub si_code: ::std::os::raw::c_int, + pub __pad0: ::std::os::raw::c_int, + pub _sifields: siginfo_t__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union siginfo_t__bindgen_ty_1 { + pub _pad: [::std::os::raw::c_int; 28usize], + pub _kill: siginfo_t__bindgen_ty_1__bindgen_ty_1, + pub _timer: siginfo_t__bindgen_ty_1__bindgen_ty_2, + pub _rt: siginfo_t__bindgen_ty_1__bindgen_ty_3, + pub _sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_4, + pub _sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_5, + pub _sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_6, + pub _sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_7, + _bindgen_union_align: [u64; 14usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 { + pub si_pid: __pid_t, + pub si_uid: __uid_t, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_pid as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(si_pid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_uid as *const _ + as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(si_uid) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 { + pub si_tid: ::std::os::raw::c_int, + pub si_overrun: ::std::os::raw::c_int, + pub si_sigval: __sigval_t, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_tid as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(si_tid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_overrun as *const _ + as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(si_overrun) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_sigval as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(si_sigval) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 { + pub si_pid: __pid_t, + pub si_uid: __uid_t, + pub si_sigval: __sigval_t, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_pid as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(si_pid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_uid as *const _ + as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(si_uid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_sigval as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(si_sigval) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 { + pub si_pid: __pid_t, + pub si_uid: __uid_t, + pub si_status: ::std::os::raw::c_int, + pub si_utime: __clock_t, + pub si_stime: __clock_t, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_pid as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(si_pid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_uid as *const _ + as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(si_uid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_status as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(si_status) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_utime as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(si_utime) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_stime as *const _ + as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(si_stime) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 { + pub si_addr: *mut ::std::os::raw::c_void, + pub si_addr_lsb: ::std::os::raw::c_short, + pub _bounds: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 { + pub _addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + pub _pkey: __uint32_t, + _bindgen_union_align: [u64; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 { + pub _lower: *mut ::std::os::raw::c_void, + pub _upper: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::< + siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + >())) + ._lower as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_lower) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::< + siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1, + >())) + ._upper as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_upper) + ) + ); +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())) + ._addr_bnd as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1), + "::", + stringify!(_addr_bnd) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._pkey + as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1), + "::", + stringify!(_pkey) + ) + ); +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_addr as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5), + "::", + stringify!(si_addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_addr_lsb + as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5), + "::", + stringify!(si_addr_lsb) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._bounds as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5), + "::", + stringify!(_bounds) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 { + pub si_band: ::std::os::raw::c_long, + pub si_fd: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_band as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(si_band) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).si_fd as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(si_fd) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 { + pub _call_addr: *mut ::std::os::raw::c_void, + pub _syscall: ::std::os::raw::c_int, + pub _arch: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._call_addr as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(_call_addr) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._syscall as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(_syscall) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._arch as *const _ + as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7), + "::", + stringify!(_arch) + ) + ); +} +#[test] +fn bindgen_test_layout_siginfo_t__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._pad as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._kill as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_kill) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._timer as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_timer) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._rt as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_rt) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._sigchld as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_sigchld) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._sigfault as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_sigfault) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._sigpoll as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_sigpoll) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._sigsys as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t__bindgen_ty_1), + "::", + stringify!(_sigsys) + ) + ); +} +#[test] +fn bindgen_test_layout_siginfo_t() { + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(siginfo_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(siginfo_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).si_signo as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t), + "::", + stringify!(si_signo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).si_errno as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t), + "::", + stringify!(si_errno) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).si_code as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t), + "::", + stringify!(si_code) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__pad0 as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t), + "::", + stringify!(__pad0) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._sifields as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(siginfo_t), + "::", + stringify!(_sifields) + ) + ); +} +pub const SI_ASYNCNL: _bindgen_ty_6 = -60; +pub const SI_TKILL: _bindgen_ty_6 = -6; +pub const SI_SIGIO: _bindgen_ty_6 = -5; +pub const SI_ASYNCIO: _bindgen_ty_6 = -4; +pub const SI_MESGQ: _bindgen_ty_6 = -3; +pub const SI_TIMER: _bindgen_ty_6 = -2; +pub const SI_QUEUE: _bindgen_ty_6 = -1; +pub const SI_USER: _bindgen_ty_6 = 0; +pub const SI_KERNEL: _bindgen_ty_6 = 128; +pub type _bindgen_ty_6 = i32; +pub const ILL_ILLOPC: _bindgen_ty_7 = 1; +pub const ILL_ILLOPN: _bindgen_ty_7 = 2; +pub const ILL_ILLADR: _bindgen_ty_7 = 3; +pub const ILL_ILLTRP: _bindgen_ty_7 = 4; +pub const ILL_PRVOPC: _bindgen_ty_7 = 5; +pub const ILL_PRVREG: _bindgen_ty_7 = 6; +pub const ILL_COPROC: _bindgen_ty_7 = 7; +pub const ILL_BADSTK: _bindgen_ty_7 = 8; +pub type _bindgen_ty_7 = u32; +pub const FPE_INTDIV: _bindgen_ty_8 = 1; +pub const FPE_INTOVF: _bindgen_ty_8 = 2; +pub const FPE_FLTDIV: _bindgen_ty_8 = 3; +pub const FPE_FLTOVF: _bindgen_ty_8 = 4; +pub const FPE_FLTUND: _bindgen_ty_8 = 5; +pub const FPE_FLTRES: _bindgen_ty_8 = 6; +pub const FPE_FLTINV: _bindgen_ty_8 = 7; +pub const FPE_FLTSUB: _bindgen_ty_8 = 8; +pub type _bindgen_ty_8 = u32; +pub const SEGV_MAPERR: _bindgen_ty_9 = 1; +pub const SEGV_ACCERR: _bindgen_ty_9 = 2; +pub const SEGV_BNDERR: _bindgen_ty_9 = 3; +pub const SEGV_PKUERR: _bindgen_ty_9 = 4; +pub type _bindgen_ty_9 = u32; +pub const BUS_ADRALN: _bindgen_ty_10 = 1; +pub const BUS_ADRERR: _bindgen_ty_10 = 2; +pub const BUS_OBJERR: _bindgen_ty_10 = 3; +pub const BUS_MCEERR_AR: _bindgen_ty_10 = 4; +pub const BUS_MCEERR_AO: _bindgen_ty_10 = 5; +pub type _bindgen_ty_10 = u32; +pub const CLD_EXITED: _bindgen_ty_11 = 1; +pub const CLD_KILLED: _bindgen_ty_11 = 2; +pub const CLD_DUMPED: _bindgen_ty_11 = 3; +pub const CLD_TRAPPED: _bindgen_ty_11 = 4; +pub const CLD_STOPPED: _bindgen_ty_11 = 5; +pub const CLD_CONTINUED: _bindgen_ty_11 = 6; +pub type _bindgen_ty_11 = u32; +pub const POLL_IN: _bindgen_ty_12 = 1; +pub const POLL_OUT: _bindgen_ty_12 = 2; +pub const POLL_MSG: _bindgen_ty_12 = 3; +pub const POLL_ERR: _bindgen_ty_12 = 4; +pub const POLL_PRI: _bindgen_ty_12 = 5; +pub const POLL_HUP: _bindgen_ty_12 = 6; +pub type _bindgen_ty_12 = u32; +pub type sigval_t = __sigval_t; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigevent { + pub sigev_value: __sigval_t, + pub sigev_signo: ::std::os::raw::c_int, + pub sigev_notify: ::std::os::raw::c_int, + pub _sigev_un: sigevent__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigevent__bindgen_ty_1 { + pub _pad: [::std::os::raw::c_int; 12usize], + pub _tid: __pid_t, + pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1, + _bindgen_union_align: [u64; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigevent__bindgen_ty_1__bindgen_ty_1 { + pub _function: ::std::option::Option, + pub _attribute: *mut pthread_attr_t, +} +#[test] +fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(sigevent__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(sigevent__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._function as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigevent__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_function) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._attribute as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigevent__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_attribute) + ) + ); +} +#[test] +fn bindgen_test_layout_sigevent__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(sigevent__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._pad as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigevent__bindgen_ty_1), + "::", + stringify!(_pad) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._tid as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigevent__bindgen_ty_1), + "::", + stringify!(_tid) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::()))._sigev_thread as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigevent__bindgen_ty_1), + "::", + stringify!(_sigev_thread) + ) + ); +} +#[test] +fn bindgen_test_layout_sigevent() { + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(sigevent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigevent)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_value as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_value) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_signo as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_signo) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sigev_notify as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(sigev_notify) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::()))._sigev_un as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(sigevent), + "::", + stringify!(_sigev_un) + ) + ); +} +pub type sigevent_t = sigevent; +pub const SIGEV_SIGNAL: _bindgen_ty_13 = 0; +pub const SIGEV_NONE: _bindgen_ty_13 = 1; +pub const SIGEV_THREAD: _bindgen_ty_13 = 2; +pub const SIGEV_THREAD_ID: _bindgen_ty_13 = 4; +pub type _bindgen_ty_13 = u32; +pub type __sighandler_t = ::std::option::Option; +extern "C" { + pub fn __sysv_signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) + -> __sighandler_t; +} +extern "C" { + pub fn signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t; +} +extern "C" { + pub fn kill(__pid: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn killpg(__pgrp: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn raise(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ssignal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t; +} +extern "C" { + pub fn gsignal(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn psignal(__sig: ::std::os::raw::c_int, __s: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn psiginfo(__pinfo: *const siginfo_t, __s: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn sigblock(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigsetmask(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn siggetmask() -> ::std::os::raw::c_int; +} +pub type sig_t = __sighandler_t; +extern "C" { + pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigaddset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigdelset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigismember( + __set: *const sigset_t, + __signo: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigaction { + pub __sigaction_handler: sigaction__bindgen_ty_1, + pub sa_mask: __sigset_t, + pub sa_flags: ::std::os::raw::c_int, + pub sa_restorer: ::std::option::Option, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigaction__bindgen_ty_1 { + pub sa_handler: __sighandler_t, + pub sa_sigaction: ::std::option::Option< + unsafe extern "C" fn( + arg1: ::std::os::raw::c_int, + arg2: *mut siginfo_t, + arg3: *mut ::std::os::raw::c_void, + ), + >, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout_sigaction__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(sigaction__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).sa_handler as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigaction__bindgen_ty_1), + "::", + stringify!(sa_handler) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).sa_sigaction as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigaction__bindgen_ty_1), + "::", + stringify!(sa_sigaction) + ) + ); +} +#[test] +fn bindgen_test_layout_sigaction() { + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(sigaction)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigaction)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__sigaction_handler as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(__sigaction_handler) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sa_mask as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(sa_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sa_flags as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(sa_flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sa_restorer as *const _ as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(sigaction), + "::", + stringify!(sa_restorer) + ) + ); +} +extern "C" { + pub fn sigprocmask( + __how: ::std::os::raw::c_int, + __set: *const sigset_t, + __oset: *mut sigset_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigsuspend(__set: *const sigset_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigaction( + __sig: ::std::os::raw::c_int, + __act: *const sigaction, + __oact: *mut sigaction, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigwait( + __set: *const sigset_t, + __sig: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigtimedwait( + __set: *const sigset_t, + __info: *mut siginfo_t, + __timeout: *const timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sigqueue( + __pid: __pid_t, + __sig: ::std::os::raw::c_int, + __val: sigval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub static mut _sys_siglist: [*const ::std::os::raw::c_char; 65usize]; +} +extern "C" { + pub static mut sys_siglist: [*const ::std::os::raw::c_char; 65usize]; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _fpx_sw_bytes { + pub magic1: __uint32_t, + pub extended_size: __uint32_t, + pub xstate_bv: __uint64_t, + pub xstate_size: __uint32_t, + pub __glibc_reserved1: [__uint32_t; 7usize], +} +#[test] +fn bindgen_test_layout__fpx_sw_bytes() { + assert_eq!( + ::std::mem::size_of::<_fpx_sw_bytes>(), + 48usize, + concat!("Size of: ", stringify!(_fpx_sw_bytes)) + ); + assert_eq!( + ::std::mem::align_of::<_fpx_sw_bytes>(), + 8usize, + concat!("Alignment of ", stringify!(_fpx_sw_bytes)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).magic1 as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_fpx_sw_bytes), + "::", + stringify!(magic1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).extended_size as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_fpx_sw_bytes), + "::", + stringify!(extended_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_bv as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_fpx_sw_bytes), + "::", + stringify!(xstate_bv) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_size as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_fpx_sw_bytes), + "::", + stringify!(xstate_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).__glibc_reserved1 as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_fpx_sw_bytes), + "::", + stringify!(__glibc_reserved1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _fpreg { + pub significand: [::std::os::raw::c_ushort; 4usize], + pub exponent: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__fpreg() { + assert_eq!( + ::std::mem::size_of::<_fpreg>(), + 10usize, + concat!("Size of: ", stringify!(_fpreg)) + ); + assert_eq!( + ::std::mem::align_of::<_fpreg>(), + 2usize, + concat!("Alignment of ", stringify!(_fpreg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpreg>())).significand as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_fpreg), + "::", + stringify!(significand) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpreg>())).exponent as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_fpreg), + "::", + stringify!(exponent) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _fpxreg { + pub significand: [::std::os::raw::c_ushort; 4usize], + pub exponent: ::std::os::raw::c_ushort, + pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize], +} +#[test] +fn bindgen_test_layout__fpxreg() { + assert_eq!( + ::std::mem::size_of::<_fpxreg>(), + 16usize, + concat!("Size of: ", stringify!(_fpxreg)) + ); + assert_eq!( + ::std::mem::align_of::<_fpxreg>(), + 2usize, + concat!("Alignment of ", stringify!(_fpxreg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpxreg>())).significand as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_fpxreg), + "::", + stringify!(significand) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpxreg>())).exponent as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_fpxreg), + "::", + stringify!(exponent) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpxreg>())).__glibc_reserved1 as *const _ as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_fpxreg), + "::", + stringify!(__glibc_reserved1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _xmmreg { + pub element: [__uint32_t; 4usize], +} +#[test] +fn bindgen_test_layout__xmmreg() { + assert_eq!( + ::std::mem::size_of::<_xmmreg>(), + 16usize, + concat!("Size of: ", stringify!(_xmmreg)) + ); + assert_eq!( + ::std::mem::align_of::<_xmmreg>(), + 4usize, + concat!("Alignment of ", stringify!(_xmmreg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xmmreg>())).element as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_xmmreg), + "::", + stringify!(element) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _fpstate { + pub cwd: __uint16_t, + pub swd: __uint16_t, + pub ftw: __uint16_t, + pub fop: __uint16_t, + pub rip: __uint64_t, + pub rdp: __uint64_t, + pub mxcsr: __uint32_t, + pub mxcr_mask: __uint32_t, + pub _st: [_fpxreg; 8usize], + pub _xmm: [_xmmreg; 16usize], + pub __glibc_reserved1: [__uint32_t; 24usize], +} +#[test] +fn bindgen_test_layout__fpstate() { + assert_eq!( + ::std::mem::size_of::<_fpstate>(), + 512usize, + concat!("Size of: ", stringify!(_fpstate)) + ); + assert_eq!( + ::std::mem::align_of::<_fpstate>(), + 8usize, + concat!("Alignment of ", stringify!(_fpstate)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).cwd as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(cwd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).swd as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(swd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).ftw as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(ftw) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).fop as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(fop) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).rip as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(rip) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).rdp as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(rdp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).mxcsr as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(mxcsr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).mxcr_mask as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(mxcr_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>()))._st as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(_st) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>()))._xmm as *const _ as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(_xmm) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_fpstate>())).__glibc_reserved1 as *const _ as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_fpstate), + "::", + stringify!(__glibc_reserved1) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sigcontext { + pub r8: __uint64_t, + pub r9: __uint64_t, + pub r10: __uint64_t, + pub r11: __uint64_t, + pub r12: __uint64_t, + pub r13: __uint64_t, + pub r14: __uint64_t, + pub r15: __uint64_t, + pub rdi: __uint64_t, + pub rsi: __uint64_t, + pub rbp: __uint64_t, + pub rbx: __uint64_t, + pub rdx: __uint64_t, + pub rax: __uint64_t, + pub rcx: __uint64_t, + pub rsp: __uint64_t, + pub rip: __uint64_t, + pub eflags: __uint64_t, + pub cs: ::std::os::raw::c_ushort, + pub gs: ::std::os::raw::c_ushort, + pub fs: ::std::os::raw::c_ushort, + pub __pad0: ::std::os::raw::c_ushort, + pub err: __uint64_t, + pub trapno: __uint64_t, + pub oldmask: __uint64_t, + pub cr2: __uint64_t, + pub __bindgen_anon_1: sigcontext__bindgen_ty_1, + pub __reserved1: [__uint64_t; 8usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sigcontext__bindgen_ty_1 { + pub fpstate: *mut _fpstate, + pub __fpstate_word: __uint64_t, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout_sigcontext__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(sigcontext__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigcontext__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).fpstate as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigcontext__bindgen_ty_1), + "::", + stringify!(fpstate) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).__fpstate_word as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigcontext__bindgen_ty_1), + "::", + stringify!(__fpstate_word) + ) + ); +} +#[test] +fn bindgen_test_layout_sigcontext() { + assert_eq!( + ::std::mem::size_of::(), + 256usize, + concat!("Size of: ", stringify!(sigcontext)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigcontext)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r8 as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r8) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r9 as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r9) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r10 as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r10) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r11 as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r11) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r12 as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r12) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r13 as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r13) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r14 as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r14) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).r15 as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(r15) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rdi as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rdi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rsi as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rsi) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rbp as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rbp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rbx as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rbx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rdx as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rdx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rax as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rax) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rcx as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rcx) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rsp as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rsp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(rip) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).eflags as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(eflags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).cs as *const _ as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(cs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).gs as *const _ as usize }, + 146usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(gs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).fs as *const _ as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(fs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__pad0 as *const _ as usize }, + 150usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(__pad0) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).err as *const _ as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(err) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).trapno as *const _ as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(trapno) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).oldmask as *const _ as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(oldmask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).cr2 as *const _ as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(cr2) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__reserved1 as *const _ as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(sigcontext), + "::", + stringify!(__reserved1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _xsave_hdr { + pub xstate_bv: __uint64_t, + pub __glibc_reserved1: [__uint64_t; 2usize], + pub __glibc_reserved2: [__uint64_t; 5usize], +} +#[test] +fn bindgen_test_layout__xsave_hdr() { + assert_eq!( + ::std::mem::size_of::<_xsave_hdr>(), + 64usize, + concat!("Size of: ", stringify!(_xsave_hdr)) + ); + assert_eq!( + ::std::mem::align_of::<_xsave_hdr>(), + 8usize, + concat!("Alignment of ", stringify!(_xsave_hdr)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).xstate_bv as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_xsave_hdr), + "::", + stringify!(xstate_bv) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).__glibc_reserved1 as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_xsave_hdr), + "::", + stringify!(__glibc_reserved1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xsave_hdr>())).__glibc_reserved2 as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_xsave_hdr), + "::", + stringify!(__glibc_reserved2) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ymmh_state { + pub ymmh_space: [__uint32_t; 64usize], +} +#[test] +fn bindgen_test_layout__ymmh_state() { + assert_eq!( + ::std::mem::size_of::<_ymmh_state>(), + 256usize, + concat!("Size of: ", stringify!(_ymmh_state)) + ); + assert_eq!( + ::std::mem::align_of::<_ymmh_state>(), + 4usize, + concat!("Alignment of ", stringify!(_ymmh_state)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_ymmh_state>())).ymmh_space as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ymmh_state), + "::", + stringify!(ymmh_space) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _xstate { + pub fpstate: _fpstate, + pub xstate_hdr: _xsave_hdr, + pub ymmh: _ymmh_state, +} +#[test] +fn bindgen_test_layout__xstate() { + assert_eq!( + ::std::mem::size_of::<_xstate>(), + 832usize, + concat!("Size of: ", stringify!(_xstate)) + ); + assert_eq!( + ::std::mem::align_of::<_xstate>(), + 8usize, + concat!("Alignment of ", stringify!(_xstate)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xstate>())).fpstate as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_xstate), + "::", + stringify!(fpstate) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xstate>())).xstate_hdr as *const _ as usize }, + 512usize, + concat!( + "Offset of field: ", + stringify!(_xstate), + "::", + stringify!(xstate_hdr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_xstate>())).ymmh as *const _ as usize }, + 576usize, + concat!( + "Offset of field: ", + stringify!(_xstate), + "::", + stringify!(ymmh) + ) + ); +} +extern "C" { + pub fn sigreturn(__scp: *mut sigcontext) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct stack_t { + pub ss_sp: *mut ::std::os::raw::c_void, + pub ss_flags: ::std::os::raw::c_int, + pub ss_size: usize, +} +#[test] +fn bindgen_test_layout_stack_t() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(stack_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(stack_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_sp as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(stack_t), + "::", + stringify!(ss_sp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_flags as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(stack_t), + "::", + stringify!(ss_flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_size as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(stack_t), + "::", + stringify!(ss_size) + ) + ); +} +pub type greg_t = ::std::os::raw::c_longlong; +pub type gregset_t = [greg_t; 23usize]; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _libc_fpxreg { + pub significand: [::std::os::raw::c_ushort; 4usize], + pub exponent: ::std::os::raw::c_ushort, + pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize], +} +#[test] +fn bindgen_test_layout__libc_fpxreg() { + assert_eq!( + ::std::mem::size_of::<_libc_fpxreg>(), + 16usize, + concat!("Size of: ", stringify!(_libc_fpxreg)) + ); + assert_eq!( + ::std::mem::align_of::<_libc_fpxreg>(), + 2usize, + concat!("Alignment of ", stringify!(_libc_fpxreg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).significand as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpxreg), + "::", + stringify!(significand) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).exponent as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpxreg), + "::", + stringify!(exponent) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpxreg>())).__glibc_reserved1 as *const _ as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpxreg), + "::", + stringify!(__glibc_reserved1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _libc_xmmreg { + pub element: [__uint32_t; 4usize], +} +#[test] +fn bindgen_test_layout__libc_xmmreg() { + assert_eq!( + ::std::mem::size_of::<_libc_xmmreg>(), + 16usize, + concat!("Size of: ", stringify!(_libc_xmmreg)) + ); + assert_eq!( + ::std::mem::align_of::<_libc_xmmreg>(), + 4usize, + concat!("Alignment of ", stringify!(_libc_xmmreg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_xmmreg>())).element as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_libc_xmmreg), + "::", + stringify!(element) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _libc_fpstate { + pub cwd: __uint16_t, + pub swd: __uint16_t, + pub ftw: __uint16_t, + pub fop: __uint16_t, + pub rip: __uint64_t, + pub rdp: __uint64_t, + pub mxcsr: __uint32_t, + pub mxcr_mask: __uint32_t, + pub _st: [_libc_fpxreg; 8usize], + pub _xmm: [_libc_xmmreg; 16usize], + pub __glibc_reserved1: [__uint32_t; 24usize], +} +#[test] +fn bindgen_test_layout__libc_fpstate() { + assert_eq!( + ::std::mem::size_of::<_libc_fpstate>(), + 512usize, + concat!("Size of: ", stringify!(_libc_fpstate)) + ); + assert_eq!( + ::std::mem::align_of::<_libc_fpstate>(), + 8usize, + concat!("Alignment of ", stringify!(_libc_fpstate)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).cwd as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(cwd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).swd as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(swd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).ftw as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(ftw) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).fop as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(fop) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).rip as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(rip) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).rdp as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(rdp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).mxcsr as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(mxcsr) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).mxcr_mask as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(mxcr_mask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._st as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(_st) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._xmm as *const _ as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(_xmm) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).__glibc_reserved1 as *const _ as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_libc_fpstate), + "::", + stringify!(__glibc_reserved1) + ) + ); +} +pub type fpregset_t = *mut _libc_fpstate; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mcontext_t { + pub gregs: gregset_t, + pub fpregs: fpregset_t, + pub __reserved1: [::std::os::raw::c_ulonglong; 8usize], +} +#[test] +fn bindgen_test_layout_mcontext_t() { + assert_eq!( + ::std::mem::size_of::(), + 256usize, + concat!("Size of: ", stringify!(mcontext_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(mcontext_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).gregs as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mcontext_t), + "::", + stringify!(gregs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).fpregs as *const _ as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(mcontext_t), + "::", + stringify!(fpregs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__reserved1 as *const _ as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(mcontext_t), + "::", + stringify!(__reserved1) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ucontext_t { + pub uc_flags: ::std::os::raw::c_ulong, + pub uc_link: *mut ucontext_t, + pub uc_stack: stack_t, + pub uc_mcontext: mcontext_t, + pub uc_sigmask: sigset_t, + pub __fpregs_mem: _libc_fpstate, +} +#[test] +fn bindgen_test_layout_ucontext_t() { + assert_eq!( + ::std::mem::size_of::(), + 936usize, + concat!("Size of: ", stringify!(ucontext_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ucontext_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).uc_flags as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ucontext_t), + "::", + stringify!(uc_flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).uc_link as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ucontext_t), + "::", + stringify!(uc_link) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).uc_stack as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ucontext_t), + "::", + stringify!(uc_stack) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).uc_mcontext as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ucontext_t), + "::", + stringify!(uc_mcontext) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).uc_sigmask as *const _ as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(ucontext_t), + "::", + stringify!(uc_sigmask) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__fpregs_mem as *const _ as usize }, + 424usize, + concat!( + "Offset of field: ", + stringify!(ucontext_t), + "::", + stringify!(__fpregs_mem) + ) + ); +} +extern "C" { + pub fn siginterrupt( + __sig: ::std::os::raw::c_int, + __interrupt: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +pub const SS_ONSTACK: _bindgen_ty_14 = 1; +pub const SS_DISABLE: _bindgen_ty_14 = 2; +pub type _bindgen_ty_14 = u32; +extern "C" { + pub fn sigaltstack(__ss: *const stack_t, __oss: *mut stack_t) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sigstack { + pub ss_sp: *mut ::std::os::raw::c_void, + pub ss_onstack: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_sigstack() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sigstack)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sigstack)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_sp as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sigstack), + "::", + stringify!(ss_sp) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).ss_onstack as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sigstack), + "::", + stringify!(ss_onstack) + ) + ); +} +extern "C" { + pub fn sigstack(__ss: *mut sigstack, __oss: *mut sigstack) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_sigmask( + __how: ::std::os::raw::c_int, + __newmask: *const __sigset_t, + __oldmask: *mut __sigset_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_kill( + __threadid: pthread_t, + __signo: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn g_on_error_query(prg_name: *const gchar); +} +extern "C" { + pub fn g_on_error_stack_trace(prg_name: *const gchar); +} +extern "C" { + pub fn g_base64_encode_step( + in_: *const guchar, + len: gsize, + break_lines: gboolean, + out: *mut gchar, + state: *mut gint, + save: *mut gint, + ) -> gsize; +} +extern "C" { + pub fn g_base64_encode_close( + break_lines: gboolean, + out: *mut gchar, + state: *mut gint, + save: *mut gint, + ) -> gsize; +} +extern "C" { + pub fn g_base64_encode(data: *const guchar, len: gsize) -> *mut gchar; +} +extern "C" { + pub fn g_base64_decode_step( + in_: *const gchar, + len: gsize, + out: *mut guchar, + state: *mut gint, + save: *mut guint, + ) -> gsize; +} +extern "C" { + pub fn g_base64_decode(text: *const gchar, out_len: *mut gsize) -> *mut guchar; +} +extern "C" { + pub fn g_base64_decode_inplace(text: *mut gchar, out_len: *mut gsize) -> *mut guchar; +} +extern "C" { + pub fn g_bit_lock(address: *mut gint, lock_bit: gint); +} +extern "C" { + pub fn g_bit_trylock(address: *mut gint, lock_bit: gint) -> gboolean; +} +extern "C" { + pub fn g_bit_unlock(address: *mut gint, lock_bit: gint); +} +extern "C" { + pub fn g_pointer_bit_lock(address: *mut ::std::os::raw::c_void, lock_bit: gint); +} +extern "C" { + pub fn g_pointer_bit_trylock(address: *mut ::std::os::raw::c_void, lock_bit: gint) -> gboolean; +} +extern "C" { + pub fn g_pointer_bit_unlock(address: *mut ::std::os::raw::c_void, lock_bit: gint); +} +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_URI: GBookmarkFileError = 0; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_VALUE: GBookmarkFileError = 1; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: GBookmarkFileError = 2; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: GBookmarkFileError = 3; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_READ: GBookmarkFileError = 4; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: GBookmarkFileError = 5; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_WRITE: GBookmarkFileError = 6; +pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: GBookmarkFileError = 7; +#[doc = " GBookmarkFileError:"] +#[doc = " @G_BOOKMARK_FILE_ERROR_INVALID_URI: URI was ill-formed"] +#[doc = " @G_BOOKMARK_FILE_ERROR_INVALID_VALUE: a requested field was not found"] +#[doc = " @G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: a requested application did"] +#[doc = " not register a bookmark"] +#[doc = " @G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: a requested URI was not found"] +#[doc = " @G_BOOKMARK_FILE_ERROR_READ: document was ill formed"] +#[doc = " @G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was"] +#[doc = " in an unknown encoding"] +#[doc = " @G_BOOKMARK_FILE_ERROR_WRITE: an error occurred while writing"] +#[doc = " @G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: requested file was not found"] +#[doc = ""] +#[doc = " Error codes returned by bookmark file parsing."] +pub type GBookmarkFileError = u32; +extern "C" { + pub fn g_bookmark_file_error_quark() -> GQuark; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GBookmarkFile { + _unused: [u8; 0], +} +#[doc = " GBookmarkFile:"] +#[doc = ""] +#[doc = " The `GBookmarkFile` structure contains only"] +#[doc = " private data and should not be directly accessed."] +pub type GBookmarkFile = _GBookmarkFile; +extern "C" { + pub fn g_bookmark_file_new() -> *mut GBookmarkFile; +} +extern "C" { + pub fn g_bookmark_file_free(bookmark: *mut GBookmarkFile); +} +extern "C" { + pub fn g_bookmark_file_load_from_file( + bookmark: *mut GBookmarkFile, + filename: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_load_from_data( + bookmark: *mut GBookmarkFile, + data: *const gchar, + length: gsize, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_load_from_data_dirs( + bookmark: *mut GBookmarkFile, + file: *const gchar, + full_path: *mut *mut gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_to_data( + bookmark: *mut GBookmarkFile, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_to_file( + bookmark: *mut GBookmarkFile, + filename: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_set_title( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + title: *const gchar, + ); +} +extern "C" { + pub fn g_bookmark_file_get_title( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_set_description( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + description: *const gchar, + ); +} +extern "C" { + pub fn g_bookmark_file_get_description( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_set_mime_type( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + mime_type: *const gchar, + ); +} +extern "C" { + pub fn g_bookmark_file_get_mime_type( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_set_groups( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + groups: *mut *const gchar, + length: gsize, + ); +} +extern "C" { + pub fn g_bookmark_file_add_group( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + group: *const gchar, + ); +} +extern "C" { + pub fn g_bookmark_file_has_group( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + group: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_get_groups( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_add_application( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + name: *const gchar, + exec: *const gchar, + ); +} +extern "C" { + pub fn g_bookmark_file_has_application( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + name: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_get_applications( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_set_app_info( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + name: *const gchar, + exec: *const gchar, + count: gint, + stamp: time_t, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_get_app_info( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + name: *const gchar, + exec: *mut *mut gchar, + count: *mut guint, + stamp: *mut time_t, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_set_is_private( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + is_private: gboolean, + ); +} +extern "C" { + pub fn g_bookmark_file_get_is_private( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_set_icon( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + href: *const gchar, + mime_type: *const gchar, + ); +} +extern "C" { + pub fn g_bookmark_file_get_icon( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + href: *mut *mut gchar, + mime_type: *mut *mut gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_set_added( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + added: time_t, + ); +} +extern "C" { + pub fn g_bookmark_file_get_added( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> time_t; +} +extern "C" { + pub fn g_bookmark_file_set_modified( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + modified: time_t, + ); +} +extern "C" { + pub fn g_bookmark_file_get_modified( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> time_t; +} +extern "C" { + pub fn g_bookmark_file_set_visited( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + visited: time_t, + ); +} +extern "C" { + pub fn g_bookmark_file_get_visited( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> time_t; +} +extern "C" { + pub fn g_bookmark_file_has_item(bookmark: *mut GBookmarkFile, uri: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_get_size(bookmark: *mut GBookmarkFile) -> gint; +} +extern "C" { + pub fn g_bookmark_file_get_uris( + bookmark: *mut GBookmarkFile, + length: *mut gsize, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_bookmark_file_remove_group( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + group: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_remove_application( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + name: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_remove_item( + bookmark: *mut GBookmarkFile, + uri: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bookmark_file_move_item( + bookmark: *mut GBookmarkFile, + old_uri: *const gchar, + new_uri: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_bytes_new(data: gconstpointer, size: gsize) -> *mut GBytes; +} +extern "C" { + pub fn g_bytes_new_take(data: gpointer, size: gsize) -> *mut GBytes; +} +extern "C" { + pub fn g_bytes_new_static(data: gconstpointer, size: gsize) -> *mut GBytes; +} +extern "C" { + pub fn g_bytes_new_with_free_func( + data: gconstpointer, + size: gsize, + free_func: GDestroyNotify, + user_data: gpointer, + ) -> *mut GBytes; +} +extern "C" { + pub fn g_bytes_new_from_bytes(bytes: *mut GBytes, offset: gsize, length: gsize) -> *mut GBytes; +} +extern "C" { + pub fn g_bytes_get_data(bytes: *mut GBytes, size: *mut gsize) -> gconstpointer; +} +extern "C" { + pub fn g_bytes_get_size(bytes: *mut GBytes) -> gsize; +} +extern "C" { + pub fn g_bytes_ref(bytes: *mut GBytes) -> *mut GBytes; +} +extern "C" { + pub fn g_bytes_unref(bytes: *mut GBytes); +} +extern "C" { + pub fn g_bytes_unref_to_data(bytes: *mut GBytes, size: *mut gsize) -> gpointer; +} +extern "C" { + pub fn g_bytes_unref_to_array(bytes: *mut GBytes) -> *mut GByteArray; +} +extern "C" { + pub fn g_bytes_hash(bytes: gconstpointer) -> guint; +} +extern "C" { + pub fn g_bytes_equal(bytes1: gconstpointer, bytes2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_bytes_compare(bytes1: gconstpointer, bytes2: gconstpointer) -> gint; +} +extern "C" { + pub fn g_get_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean; +} +extern "C" { + pub fn g_get_codeset() -> *mut gchar; +} +extern "C" { + pub fn g_get_language_names() -> *const *const gchar; +} +extern "C" { + pub fn g_get_locale_variants(locale: *const gchar) -> *mut *mut gchar; +} +pub const GChecksumType_G_CHECKSUM_MD5: GChecksumType = 0; +pub const GChecksumType_G_CHECKSUM_SHA1: GChecksumType = 1; +pub const GChecksumType_G_CHECKSUM_SHA256: GChecksumType = 2; +pub const GChecksumType_G_CHECKSUM_SHA512: GChecksumType = 3; +pub const GChecksumType_G_CHECKSUM_SHA384: GChecksumType = 4; +#[doc = " GChecksumType:"] +#[doc = " @G_CHECKSUM_MD5: Use the MD5 hashing algorithm"] +#[doc = " @G_CHECKSUM_SHA1: Use the SHA-1 hashing algorithm"] +#[doc = " @G_CHECKSUM_SHA256: Use the SHA-256 hashing algorithm"] +#[doc = " @G_CHECKSUM_SHA384: Use the SHA-384 hashing algorithm (Since: 2.51)"] +#[doc = " @G_CHECKSUM_SHA512: Use the SHA-512 hashing algorithm (Since: 2.36)"] +#[doc = ""] +#[doc = " The hashing algorithm to be used by #GChecksum when performing the"] +#[doc = " digest of some data."] +#[doc = ""] +#[doc = " Note that the #GChecksumType enumeration may be extended at a later"] +#[doc = " date to include new hashing algorithm types."] +#[doc = ""] +#[doc = " Since: 2.16"] +pub type GChecksumType = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GChecksum { + _unused: [u8; 0], +} +#[doc = " GChecksum:"] +#[doc = ""] +#[doc = " An opaque structure representing a checksumming operation."] +#[doc = " To create a new GChecksum, use g_checksum_new(). To free"] +#[doc = " a GChecksum, use g_checksum_free()."] +#[doc = ""] +#[doc = " Since: 2.16"] +pub type GChecksum = _GChecksum; +extern "C" { + pub fn g_checksum_type_get_length(checksum_type: GChecksumType) -> gssize; +} +extern "C" { + pub fn g_checksum_new(checksum_type: GChecksumType) -> *mut GChecksum; +} +extern "C" { + pub fn g_checksum_reset(checksum: *mut GChecksum); +} +extern "C" { + pub fn g_checksum_copy(checksum: *const GChecksum) -> *mut GChecksum; +} +extern "C" { + pub fn g_checksum_free(checksum: *mut GChecksum); +} +extern "C" { + pub fn g_checksum_update(checksum: *mut GChecksum, data: *const guchar, length: gssize); +} +extern "C" { + pub fn g_checksum_get_string(checksum: *mut GChecksum) -> *const gchar; +} +extern "C" { + pub fn g_checksum_get_digest( + checksum: *mut GChecksum, + buffer: *mut guint8, + digest_len: *mut gsize, + ); +} +extern "C" { + pub fn g_compute_checksum_for_data( + checksum_type: GChecksumType, + data: *const guchar, + length: gsize, + ) -> *mut gchar; +} +extern "C" { + pub fn g_compute_checksum_for_string( + checksum_type: GChecksumType, + str: *const gchar, + length: gssize, + ) -> *mut gchar; +} +extern "C" { + pub fn g_compute_checksum_for_bytes( + checksum_type: GChecksumType, + data: *mut GBytes, + ) -> *mut gchar; +} +pub const GConvertError_G_CONVERT_ERROR_NO_CONVERSION: GConvertError = 0; +pub const GConvertError_G_CONVERT_ERROR_ILLEGAL_SEQUENCE: GConvertError = 1; +pub const GConvertError_G_CONVERT_ERROR_FAILED: GConvertError = 2; +pub const GConvertError_G_CONVERT_ERROR_PARTIAL_INPUT: GConvertError = 3; +pub const GConvertError_G_CONVERT_ERROR_BAD_URI: GConvertError = 4; +pub const GConvertError_G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: GConvertError = 5; +pub const GConvertError_G_CONVERT_ERROR_NO_MEMORY: GConvertError = 6; +pub const GConvertError_G_CONVERT_ERROR_EMBEDDED_NUL: GConvertError = 7; +#[doc = " GConvertError:"] +#[doc = " @G_CONVERT_ERROR_NO_CONVERSION: Conversion between the requested character"] +#[doc = " sets is not supported."] +#[doc = " @G_CONVERT_ERROR_ILLEGAL_SEQUENCE: Invalid byte sequence in conversion input;"] +#[doc = " or the character sequence could not be represented in the target"] +#[doc = " character set."] +#[doc = " @G_CONVERT_ERROR_FAILED: Conversion failed for some reason."] +#[doc = " @G_CONVERT_ERROR_PARTIAL_INPUT: Partial character sequence at end of input."] +#[doc = " @G_CONVERT_ERROR_BAD_URI: URI is invalid."] +#[doc = " @G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: Pathname is not an absolute path."] +#[doc = " @G_CONVERT_ERROR_NO_MEMORY: No memory available. Since: 2.40"] +#[doc = " @G_CONVERT_ERROR_EMBEDDED_NUL: An embedded NUL character is present in"] +#[doc = " conversion output where a NUL-terminated string is expected."] +#[doc = " Since: 2.56"] +#[doc = ""] +#[doc = " Error codes returned by character set conversion routines."] +pub type GConvertError = u32; +extern "C" { + pub fn g_convert_error_quark() -> GQuark; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GIConv { + _unused: [u8; 0], +} +#[doc = " GIConv: (skip)"] +#[doc = ""] +#[doc = " The GIConv struct wraps an iconv() conversion descriptor. It contains"] +#[doc = " private data and should only be accessed using the following functions."] +pub type GIConv = *mut _GIConv; +extern "C" { + pub fn g_iconv_open(to_codeset: *const gchar, from_codeset: *const gchar) -> GIConv; +} +extern "C" { + pub fn g_iconv( + converter: GIConv, + inbuf: *mut *mut gchar, + inbytes_left: *mut gsize, + outbuf: *mut *mut gchar, + outbytes_left: *mut gsize, + ) -> gsize; +} +extern "C" { + pub fn g_iconv_close(converter: GIConv) -> gint; +} +extern "C" { + pub fn g_convert( + str: *const gchar, + len: gssize, + to_codeset: *const gchar, + from_codeset: *const gchar, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_convert_with_iconv( + str: *const gchar, + len: gssize, + converter: GIConv, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_convert_with_fallback( + str: *const gchar, + len: gssize, + to_codeset: *const gchar, + from_codeset: *const gchar, + fallback: *const gchar, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_locale_to_utf8( + opsysstring: *const gchar, + len: gssize, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_locale_from_utf8( + utf8string: *const gchar, + len: gssize, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_filename_to_utf8( + opsysstring: *const gchar, + len: gssize, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_filename_from_utf8( + utf8string: *const gchar, + len: gssize, + bytes_read: *mut gsize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_filename_from_uri( + uri: *const gchar, + hostname: *mut *mut gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_filename_to_uri( + filename: *const gchar, + hostname: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_filename_display_name(filename: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_get_filename_charsets(charsets: *mut *mut *const gchar) -> gboolean; +} +extern "C" { + pub fn g_filename_display_basename(filename: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_uri_list_extract_uris(uri_list: *const gchar) -> *mut *mut gchar; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GData { + _unused: [u8; 0], +} +pub type GData = _GData; +pub type GDataForeachFunc = ::std::option::Option< + unsafe extern "C" fn(key_id: GQuark, data: gpointer, user_data: gpointer), +>; +extern "C" { + pub fn g_datalist_init(datalist: *mut *mut GData); +} +extern "C" { + pub fn g_datalist_clear(datalist: *mut *mut GData); +} +extern "C" { + pub fn g_datalist_id_get_data(datalist: *mut *mut GData, key_id: GQuark) -> gpointer; +} +extern "C" { + pub fn g_datalist_id_set_data_full( + datalist: *mut *mut GData, + key_id: GQuark, + data: gpointer, + destroy_func: GDestroyNotify, + ); +} +pub type GDuplicateFunc = + ::std::option::Option gpointer>; +extern "C" { + pub fn g_datalist_id_dup_data( + datalist: *mut *mut GData, + key_id: GQuark, + dup_func: GDuplicateFunc, + user_data: gpointer, + ) -> gpointer; +} +extern "C" { + pub fn g_datalist_id_replace_data( + datalist: *mut *mut GData, + key_id: GQuark, + oldval: gpointer, + newval: gpointer, + destroy: GDestroyNotify, + old_destroy: *mut GDestroyNotify, + ) -> gboolean; +} +extern "C" { + pub fn g_datalist_id_remove_no_notify(datalist: *mut *mut GData, key_id: GQuark) -> gpointer; +} +extern "C" { + pub fn g_datalist_foreach( + datalist: *mut *mut GData, + func: GDataForeachFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_datalist_set_flags(datalist: *mut *mut GData, flags: guint); +} +extern "C" { + pub fn g_datalist_unset_flags(datalist: *mut *mut GData, flags: guint); +} +extern "C" { + pub fn g_datalist_get_flags(datalist: *mut *mut GData) -> guint; +} +extern "C" { + pub fn g_dataset_destroy(dataset_location: gconstpointer); +} +extern "C" { + pub fn g_dataset_id_get_data(dataset_location: gconstpointer, key_id: GQuark) -> gpointer; +} +extern "C" { + pub fn g_datalist_get_data(datalist: *mut *mut GData, key: *const gchar) -> gpointer; +} +extern "C" { + pub fn g_dataset_id_set_data_full( + dataset_location: gconstpointer, + key_id: GQuark, + data: gpointer, + destroy_func: GDestroyNotify, + ); +} +extern "C" { + pub fn g_dataset_id_remove_no_notify( + dataset_location: gconstpointer, + key_id: GQuark, + ) -> gpointer; +} +extern "C" { + pub fn g_dataset_foreach( + dataset_location: gconstpointer, + func: GDataForeachFunc, + user_data: gpointer, + ); +} +pub type GTime = gint32; +pub type GDateYear = guint16; +pub type GDateDay = guint8; +pub type GDate = _GDate; +pub const GDateDMY_G_DATE_DAY: GDateDMY = 0; +pub const GDateDMY_G_DATE_MONTH: GDateDMY = 1; +pub const GDateDMY_G_DATE_YEAR: GDateDMY = 2; +pub type GDateDMY = u32; +pub const GDateWeekday_G_DATE_BAD_WEEKDAY: GDateWeekday = 0; +pub const GDateWeekday_G_DATE_MONDAY: GDateWeekday = 1; +pub const GDateWeekday_G_DATE_TUESDAY: GDateWeekday = 2; +pub const GDateWeekday_G_DATE_WEDNESDAY: GDateWeekday = 3; +pub const GDateWeekday_G_DATE_THURSDAY: GDateWeekday = 4; +pub const GDateWeekday_G_DATE_FRIDAY: GDateWeekday = 5; +pub const GDateWeekday_G_DATE_SATURDAY: GDateWeekday = 6; +pub const GDateWeekday_G_DATE_SUNDAY: GDateWeekday = 7; +pub type GDateWeekday = u32; +pub const GDateMonth_G_DATE_BAD_MONTH: GDateMonth = 0; +pub const GDateMonth_G_DATE_JANUARY: GDateMonth = 1; +pub const GDateMonth_G_DATE_FEBRUARY: GDateMonth = 2; +pub const GDateMonth_G_DATE_MARCH: GDateMonth = 3; +pub const GDateMonth_G_DATE_APRIL: GDateMonth = 4; +pub const GDateMonth_G_DATE_MAY: GDateMonth = 5; +pub const GDateMonth_G_DATE_JUNE: GDateMonth = 6; +pub const GDateMonth_G_DATE_JULY: GDateMonth = 7; +pub const GDateMonth_G_DATE_AUGUST: GDateMonth = 8; +pub const GDateMonth_G_DATE_SEPTEMBER: GDateMonth = 9; +pub const GDateMonth_G_DATE_OCTOBER: GDateMonth = 10; +pub const GDateMonth_G_DATE_NOVEMBER: GDateMonth = 11; +pub const GDateMonth_G_DATE_DECEMBER: GDateMonth = 12; +pub type GDateMonth = u32; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _GDate { + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>, +} +#[test] +fn bindgen_test_layout__GDate() { + assert_eq!( + ::std::mem::size_of::<_GDate>(), + 8usize, + concat!("Size of: ", stringify!(_GDate)) + ); + assert_eq!( + ::std::mem::align_of::<_GDate>(), + 4usize, + concat!("Alignment of ", stringify!(_GDate)) + ); +} +impl _GDate { + #[inline] + pub fn julian_days(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) } + } + #[inline] + pub fn set_julian_days(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 32u8, val as u64) + } + } + #[inline] + pub fn julian(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u32) } + } + #[inline] + pub fn set_julian(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(32usize, 1u8, val as u64) + } + } + #[inline] + pub fn dmy(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u32) } + } + #[inline] + pub fn set_dmy(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(33usize, 1u8, val as u64) + } + } + #[inline] + pub fn day(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 6u8) as u32) } + } + #[inline] + pub fn set_day(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(34usize, 6u8, val as u64) + } + } + #[inline] + pub fn month(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 4u8) as u32) } + } + #[inline] + pub fn set_month(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(40usize, 4u8, val as u64) + } + } + #[inline] + pub fn year(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(44usize, 16u8) as u32) } + } + #[inline] + pub fn set_year(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(44usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + julian_days: guint, + julian: guint, + dmy: guint, + day: guint, + month: guint, + year: guint, + ) -> __BindgenBitfieldUnit<[u8; 8usize], u32> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 32u8, { + let julian_days: u32 = unsafe { ::std::mem::transmute(julian_days) }; + julian_days as u64 + }); + __bindgen_bitfield_unit.set(32usize, 1u8, { + let julian: u32 = unsafe { ::std::mem::transmute(julian) }; + julian as u64 + }); + __bindgen_bitfield_unit.set(33usize, 1u8, { + let dmy: u32 = unsafe { ::std::mem::transmute(dmy) }; + dmy as u64 + }); + __bindgen_bitfield_unit.set(34usize, 6u8, { + let day: u32 = unsafe { ::std::mem::transmute(day) }; + day as u64 + }); + __bindgen_bitfield_unit.set(40usize, 4u8, { + let month: u32 = unsafe { ::std::mem::transmute(month) }; + month as u64 + }); + __bindgen_bitfield_unit.set(44usize, 16u8, { + let year: u32 = unsafe { ::std::mem::transmute(year) }; + year as u64 + }); + __bindgen_bitfield_unit + } +} +extern "C" { + pub fn g_date_new() -> *mut GDate; +} +extern "C" { + pub fn g_date_new_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> *mut GDate; +} +extern "C" { + pub fn g_date_new_julian(julian_day: guint32) -> *mut GDate; +} +extern "C" { + pub fn g_date_free(date: *mut GDate); +} +extern "C" { + pub fn g_date_copy(date: *const GDate) -> *mut GDate; +} +extern "C" { + pub fn g_date_valid(date: *const GDate) -> gboolean; +} +extern "C" { + pub fn g_date_valid_day(day: GDateDay) -> gboolean; +} +extern "C" { + pub fn g_date_valid_month(month: GDateMonth) -> gboolean; +} +extern "C" { + pub fn g_date_valid_year(year: GDateYear) -> gboolean; +} +extern "C" { + pub fn g_date_valid_weekday(weekday: GDateWeekday) -> gboolean; +} +extern "C" { + pub fn g_date_valid_julian(julian_date: guint32) -> gboolean; +} +extern "C" { + pub fn g_date_valid_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> gboolean; +} +extern "C" { + pub fn g_date_get_weekday(date: *const GDate) -> GDateWeekday; +} +extern "C" { + pub fn g_date_get_month(date: *const GDate) -> GDateMonth; +} +extern "C" { + pub fn g_date_get_year(date: *const GDate) -> GDateYear; +} +extern "C" { + pub fn g_date_get_day(date: *const GDate) -> GDateDay; +} +extern "C" { + pub fn g_date_get_julian(date: *const GDate) -> guint32; +} +extern "C" { + pub fn g_date_get_day_of_year(date: *const GDate) -> guint; +} +extern "C" { + pub fn g_date_get_monday_week_of_year(date: *const GDate) -> guint; +} +extern "C" { + pub fn g_date_get_sunday_week_of_year(date: *const GDate) -> guint; +} +extern "C" { + pub fn g_date_get_iso8601_week_of_year(date: *const GDate) -> guint; +} +extern "C" { + pub fn g_date_clear(date: *mut GDate, n_dates: guint); +} +extern "C" { + pub fn g_date_set_parse(date: *mut GDate, str: *const gchar); +} +extern "C" { + pub fn g_date_set_time_t(date: *mut GDate, timet: time_t); +} +extern "C" { + pub fn g_date_set_time_val(date: *mut GDate, timeval: *mut GTimeVal); +} +extern "C" { + pub fn g_date_set_time(date: *mut GDate, time_: GTime); +} +extern "C" { + pub fn g_date_set_month(date: *mut GDate, month: GDateMonth); +} +extern "C" { + pub fn g_date_set_day(date: *mut GDate, day: GDateDay); +} +extern "C" { + pub fn g_date_set_year(date: *mut GDate, year: GDateYear); +} +extern "C" { + pub fn g_date_set_dmy(date: *mut GDate, day: GDateDay, month: GDateMonth, y: GDateYear); +} +extern "C" { + pub fn g_date_set_julian(date: *mut GDate, julian_date: guint32); +} +extern "C" { + pub fn g_date_is_first_of_month(date: *const GDate) -> gboolean; +} +extern "C" { + pub fn g_date_is_last_of_month(date: *const GDate) -> gboolean; +} +extern "C" { + pub fn g_date_add_days(date: *mut GDate, n_days: guint); +} +extern "C" { + pub fn g_date_subtract_days(date: *mut GDate, n_days: guint); +} +extern "C" { + pub fn g_date_add_months(date: *mut GDate, n_months: guint); +} +extern "C" { + pub fn g_date_subtract_months(date: *mut GDate, n_months: guint); +} +extern "C" { + pub fn g_date_add_years(date: *mut GDate, n_years: guint); +} +extern "C" { + pub fn g_date_subtract_years(date: *mut GDate, n_years: guint); +} +extern "C" { + pub fn g_date_is_leap_year(year: GDateYear) -> gboolean; +} +extern "C" { + pub fn g_date_get_days_in_month(month: GDateMonth, year: GDateYear) -> guint8; +} +extern "C" { + pub fn g_date_get_monday_weeks_in_year(year: GDateYear) -> guint8; +} +extern "C" { + pub fn g_date_get_sunday_weeks_in_year(year: GDateYear) -> guint8; +} +extern "C" { + pub fn g_date_days_between(date1: *const GDate, date2: *const GDate) -> gint; +} +extern "C" { + pub fn g_date_compare(lhs: *const GDate, rhs: *const GDate) -> gint; +} +extern "C" { + pub fn g_date_to_struct_tm(date: *const GDate, tm: *mut tm); +} +extern "C" { + pub fn g_date_clamp(date: *mut GDate, min_date: *const GDate, max_date: *const GDate); +} +extern "C" { + pub fn g_date_order(date1: *mut GDate, date2: *mut GDate); +} +extern "C" { + pub fn g_date_strftime( + s: *mut gchar, + slen: gsize, + format: *const gchar, + date: *const GDate, + ) -> gsize; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GTimeZone { + _unused: [u8; 0], +} +pub type GTimeZone = _GTimeZone; +pub const GTimeType_G_TIME_TYPE_STANDARD: GTimeType = 0; +pub const GTimeType_G_TIME_TYPE_DAYLIGHT: GTimeType = 1; +pub const GTimeType_G_TIME_TYPE_UNIVERSAL: GTimeType = 2; +#[doc = " GTimeType:"] +#[doc = " @G_TIME_TYPE_STANDARD: the time is in local standard time"] +#[doc = " @G_TIME_TYPE_DAYLIGHT: the time is in local daylight time"] +#[doc = " @G_TIME_TYPE_UNIVERSAL: the time is in UTC"] +#[doc = ""] +#[doc = " Disambiguates a given time in two ways."] +#[doc = ""] +#[doc = " First, specifies if the given time is in universal or local time."] +#[doc = ""] +#[doc = " Second, if the time is in local time, specifies if it is local"] +#[doc = " standard time or local daylight time. This is important for the case"] +#[doc = " where the same local time occurs twice (during daylight savings time"] +#[doc = " transitions, for example)."] +pub type GTimeType = u32; +extern "C" { + pub fn g_time_zone_new(identifier: *const gchar) -> *mut GTimeZone; +} +extern "C" { + pub fn g_time_zone_new_utc() -> *mut GTimeZone; +} +extern "C" { + pub fn g_time_zone_new_local() -> *mut GTimeZone; +} +extern "C" { + pub fn g_time_zone_ref(tz: *mut GTimeZone) -> *mut GTimeZone; +} +extern "C" { + pub fn g_time_zone_unref(tz: *mut GTimeZone); +} +extern "C" { + pub fn g_time_zone_find_interval(tz: *mut GTimeZone, type_: GTimeType, time_: gint64) -> gint; +} +extern "C" { + pub fn g_time_zone_adjust_time( + tz: *mut GTimeZone, + type_: GTimeType, + time_: *mut gint64, + ) -> gint; +} +extern "C" { + pub fn g_time_zone_get_abbreviation(tz: *mut GTimeZone, interval: gint) -> *const gchar; +} +extern "C" { + pub fn g_time_zone_get_offset(tz: *mut GTimeZone, interval: gint) -> gint32; +} +extern "C" { + pub fn g_time_zone_is_dst(tz: *mut GTimeZone, interval: gint) -> gboolean; +} +#[doc = " GTimeSpan:"] +#[doc = ""] +#[doc = " A value representing an interval of time, in microseconds."] +#[doc = ""] +#[doc = " Since: 2.26"] +pub type GTimeSpan = gint64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GDateTime { + _unused: [u8; 0], +} +#[doc = " GDateTime:"] +#[doc = ""] +#[doc = " `GDateTime` is an opaque structure whose members"] +#[doc = " cannot be accessed directly."] +#[doc = ""] +#[doc = " Since: 2.26"] +pub type GDateTime = _GDateTime; +extern "C" { + pub fn g_date_time_unref(datetime: *mut GDateTime); +} +extern "C" { + pub fn g_date_time_ref(datetime: *mut GDateTime) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_now(tz: *mut GTimeZone) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_now_local() -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_now_utc() -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_from_unix_local(t: gint64) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_from_unix_utc(t: gint64) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_from_timeval_local(tv: *const GTimeVal) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_from_timeval_utc(tv: *const GTimeVal) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_from_iso8601( + text: *const gchar, + default_tz: *mut GTimeZone, + ) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new( + tz: *mut GTimeZone, + year: gint, + month: gint, + day: gint, + hour: gint, + minute: gint, + seconds: gdouble, + ) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_local( + year: gint, + month: gint, + day: gint, + hour: gint, + minute: gint, + seconds: gdouble, + ) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_new_utc( + year: gint, + month: gint, + day: gint, + hour: gint, + minute: gint, + seconds: gdouble, + ) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add(datetime: *mut GDateTime, timespan: GTimeSpan) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_years(datetime: *mut GDateTime, years: gint) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_months(datetime: *mut GDateTime, months: gint) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_weeks(datetime: *mut GDateTime, weeks: gint) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_days(datetime: *mut GDateTime, days: gint) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_hours(datetime: *mut GDateTime, hours: gint) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_minutes(datetime: *mut GDateTime, minutes: gint) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_seconds(datetime: *mut GDateTime, seconds: gdouble) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_add_full( + datetime: *mut GDateTime, + years: gint, + months: gint, + days: gint, + hours: gint, + minutes: gint, + seconds: gdouble, + ) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_compare(dt1: gconstpointer, dt2: gconstpointer) -> gint; +} +extern "C" { + pub fn g_date_time_difference(end: *mut GDateTime, begin: *mut GDateTime) -> GTimeSpan; +} +extern "C" { + pub fn g_date_time_hash(datetime: gconstpointer) -> guint; +} +extern "C" { + pub fn g_date_time_equal(dt1: gconstpointer, dt2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_date_time_get_ymd( + datetime: *mut GDateTime, + year: *mut gint, + month: *mut gint, + day: *mut gint, + ); +} +extern "C" { + pub fn g_date_time_get_year(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_month(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_day_of_month(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_week_numbering_year(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_week_of_year(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_day_of_week(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_day_of_year(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_hour(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_minute(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_second(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_microsecond(datetime: *mut GDateTime) -> gint; +} +extern "C" { + pub fn g_date_time_get_seconds(datetime: *mut GDateTime) -> gdouble; +} +extern "C" { + pub fn g_date_time_to_unix(datetime: *mut GDateTime) -> gint64; +} +extern "C" { + pub fn g_date_time_to_timeval(datetime: *mut GDateTime, tv: *mut GTimeVal) -> gboolean; +} +extern "C" { + pub fn g_date_time_get_utc_offset(datetime: *mut GDateTime) -> GTimeSpan; +} +extern "C" { + pub fn g_date_time_get_timezone_abbreviation(datetime: *mut GDateTime) -> *const gchar; +} +extern "C" { + pub fn g_date_time_is_daylight_savings(datetime: *mut GDateTime) -> gboolean; +} +extern "C" { + pub fn g_date_time_to_timezone(datetime: *mut GDateTime, tz: *mut GTimeZone) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_to_local(datetime: *mut GDateTime) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_to_utc(datetime: *mut GDateTime) -> *mut GDateTime; +} +extern "C" { + pub fn g_date_time_format(datetime: *mut GDateTime, format: *const gchar) -> *mut gchar; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GDir { + _unused: [u8; 0], +} +pub type GDir = _GDir; +extern "C" { + pub fn g_dir_open(path: *const gchar, flags: guint, error: *mut *mut GError) -> *mut GDir; +} +extern "C" { + pub fn g_dir_read_name(dir: *mut GDir) -> *const gchar; +} +extern "C" { + pub fn g_dir_rewind(dir: *mut GDir); +} +extern "C" { + pub fn g_dir_close(dir: *mut GDir); +} +extern "C" { + pub fn g_getenv(variable: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_setenv(variable: *const gchar, value: *const gchar, overwrite: gboolean) -> gboolean; +} +extern "C" { + pub fn g_unsetenv(variable: *const gchar); +} +extern "C" { + pub fn g_listenv() -> *mut *mut gchar; +} +extern "C" { + pub fn g_get_environ() -> *mut *mut gchar; +} +extern "C" { + pub fn g_environ_getenv(envp: *mut *mut gchar, variable: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_environ_setenv( + envp: *mut *mut gchar, + variable: *const gchar, + value: *const gchar, + overwrite: gboolean, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_environ_unsetenv(envp: *mut *mut gchar, variable: *const gchar) -> *mut *mut gchar; +} +pub const GFileError_G_FILE_ERROR_EXIST: GFileError = 0; +pub const GFileError_G_FILE_ERROR_ISDIR: GFileError = 1; +pub const GFileError_G_FILE_ERROR_ACCES: GFileError = 2; +pub const GFileError_G_FILE_ERROR_NAMETOOLONG: GFileError = 3; +pub const GFileError_G_FILE_ERROR_NOENT: GFileError = 4; +pub const GFileError_G_FILE_ERROR_NOTDIR: GFileError = 5; +pub const GFileError_G_FILE_ERROR_NXIO: GFileError = 6; +pub const GFileError_G_FILE_ERROR_NODEV: GFileError = 7; +pub const GFileError_G_FILE_ERROR_ROFS: GFileError = 8; +pub const GFileError_G_FILE_ERROR_TXTBSY: GFileError = 9; +pub const GFileError_G_FILE_ERROR_FAULT: GFileError = 10; +pub const GFileError_G_FILE_ERROR_LOOP: GFileError = 11; +pub const GFileError_G_FILE_ERROR_NOSPC: GFileError = 12; +pub const GFileError_G_FILE_ERROR_NOMEM: GFileError = 13; +pub const GFileError_G_FILE_ERROR_MFILE: GFileError = 14; +pub const GFileError_G_FILE_ERROR_NFILE: GFileError = 15; +pub const GFileError_G_FILE_ERROR_BADF: GFileError = 16; +pub const GFileError_G_FILE_ERROR_INVAL: GFileError = 17; +pub const GFileError_G_FILE_ERROR_PIPE: GFileError = 18; +pub const GFileError_G_FILE_ERROR_AGAIN: GFileError = 19; +pub const GFileError_G_FILE_ERROR_INTR: GFileError = 20; +pub const GFileError_G_FILE_ERROR_IO: GFileError = 21; +pub const GFileError_G_FILE_ERROR_PERM: GFileError = 22; +pub const GFileError_G_FILE_ERROR_NOSYS: GFileError = 23; +pub const GFileError_G_FILE_ERROR_FAILED: GFileError = 24; +pub type GFileError = u32; +pub const GFileTest_G_FILE_TEST_IS_REGULAR: GFileTest = 1; +pub const GFileTest_G_FILE_TEST_IS_SYMLINK: GFileTest = 2; +pub const GFileTest_G_FILE_TEST_IS_DIR: GFileTest = 4; +pub const GFileTest_G_FILE_TEST_IS_EXECUTABLE: GFileTest = 8; +pub const GFileTest_G_FILE_TEST_EXISTS: GFileTest = 16; +pub type GFileTest = u32; +extern "C" { + pub fn g_file_error_quark() -> GQuark; +} +extern "C" { + pub fn g_file_error_from_errno(err_no: gint) -> GFileError; +} +extern "C" { + pub fn g_file_test(filename: *const gchar, test: GFileTest) -> gboolean; +} +extern "C" { + pub fn g_file_get_contents( + filename: *const gchar, + contents: *mut *mut gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_file_set_contents( + filename: *const gchar, + contents: *const gchar, + length: gssize, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_file_read_link(filename: *const gchar, error: *mut *mut GError) -> *mut gchar; +} +extern "C" { + pub fn g_mkdtemp(tmpl: *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_mkdtemp_full(tmpl: *mut gchar, mode: gint) -> *mut gchar; +} +extern "C" { + pub fn g_mkstemp(tmpl: *mut gchar) -> gint; +} +extern "C" { + pub fn g_mkstemp_full(tmpl: *mut gchar, flags: gint, mode: gint) -> gint; +} +extern "C" { + pub fn g_file_open_tmp( + tmpl: *const gchar, + name_used: *mut *mut gchar, + error: *mut *mut GError, + ) -> gint; +} +extern "C" { + pub fn g_dir_make_tmp(tmpl: *const gchar, error: *mut *mut GError) -> *mut gchar; +} +extern "C" { + pub fn g_build_path(separator: *const gchar, first_element: *const gchar, ...) -> *mut gchar; +} +extern "C" { + pub fn g_build_pathv(separator: *const gchar, args: *mut *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_build_filename(first_element: *const gchar, ...) -> *mut gchar; +} +extern "C" { + pub fn g_build_filenamev(args: *mut *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_build_filename_valist(first_element: *const gchar, args: *mut va_list) -> *mut gchar; +} +extern "C" { + pub fn g_mkdir_with_parents(pathname: *const gchar, mode: gint) -> gint; +} +extern "C" { + pub fn g_path_is_absolute(file_name: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_path_skip_root(file_name: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_basename(file_name: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_get_current_dir() -> *mut gchar; +} +extern "C" { + pub fn g_path_get_basename(file_name: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_path_get_dirname(file_name: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strip_context(msgid: *const gchar, msgval: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_dgettext(domain: *const gchar, msgid: *const gchar) -> *const gchar; +} +extern "C" { + pub fn g_dcgettext(domain: *const gchar, msgid: *const gchar, category: gint) -> *const gchar; +} +extern "C" { + pub fn g_dngettext( + domain: *const gchar, + msgid: *const gchar, + msgid_plural: *const gchar, + n: gulong, + ) -> *const gchar; +} +extern "C" { + pub fn g_dpgettext( + domain: *const gchar, + msgctxtid: *const gchar, + msgidoffset: gsize, + ) -> *const gchar; +} +extern "C" { + pub fn g_dpgettext2( + domain: *const gchar, + context: *const gchar, + msgid: *const gchar, + ) -> *const gchar; +} +#[doc = " GMemVTable:"] +#[doc = " @malloc: function to use for allocating memory."] +#[doc = " @realloc: function to use for reallocating memory."] +#[doc = " @free: function to use to free memory."] +#[doc = " @calloc: function to use for allocating zero-filled memory."] +#[doc = " @try_malloc: function to use for allocating memory without a default error handler."] +#[doc = " @try_realloc: function to use for reallocating memory without a default error handler."] +#[doc = ""] +#[doc = " A set of functions used to perform memory allocation. The same #GMemVTable must"] +#[doc = " be used for all allocations in the same program; a call to g_mem_set_vtable(),"] +#[doc = " if it exists, should be prior to any use of GLib."] +#[doc = ""] +#[doc = " This functions related to this has been deprecated in 2.46, and no longer work."] +pub type GMemVTable = _GMemVTable; +extern "C" { + pub fn g_free(mem: gpointer); +} +extern "C" { + pub fn g_clear_pointer(pp: *mut gpointer, destroy: GDestroyNotify); +} +extern "C" { + pub fn g_malloc(n_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_malloc0(n_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_realloc(mem: gpointer, n_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_try_malloc(n_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_try_malloc0(n_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_try_realloc(mem: gpointer, n_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_try_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_try_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer; +} +extern "C" { + pub fn g_try_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMemVTable { + pub malloc: ::std::option::Option gpointer>, + pub realloc: + ::std::option::Option gpointer>, + pub free: ::std::option::Option, + pub calloc: ::std::option::Option< + unsafe extern "C" fn(n_blocks: gsize, n_block_bytes: gsize) -> gpointer, + >, + pub try_malloc: ::std::option::Option gpointer>, + pub try_realloc: + ::std::option::Option gpointer>, +} +#[test] +fn bindgen_test_layout__GMemVTable() { + assert_eq!( + ::std::mem::size_of::<_GMemVTable>(), + 48usize, + concat!("Size of: ", stringify!(_GMemVTable)) + ); + assert_eq!( + ::std::mem::align_of::<_GMemVTable>(), + 8usize, + concat!("Alignment of ", stringify!(_GMemVTable)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMemVTable>())).malloc as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GMemVTable), + "::", + stringify!(malloc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMemVTable>())).realloc as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GMemVTable), + "::", + stringify!(realloc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMemVTable>())).free as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GMemVTable), + "::", + stringify!(free) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMemVTable>())).calloc as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GMemVTable), + "::", + stringify!(calloc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMemVTable>())).try_malloc as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GMemVTable), + "::", + stringify!(try_malloc) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMemVTable>())).try_realloc as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GMemVTable), + "::", + stringify!(try_realloc) + ) + ); +} +extern "C" { + pub fn g_mem_set_vtable(vtable: *mut GMemVTable); +} +extern "C" { + pub fn g_mem_is_system_malloc() -> gboolean; +} +extern "C" { + pub static mut g_mem_gc_friendly: gboolean; +} +extern "C" { + pub static mut glib_mem_profiler_table: *mut GMemVTable; +} +extern "C" { + pub fn g_mem_profile(); +} +pub type GNode = _GNode; +pub const GTraverseFlags_G_TRAVERSE_LEAVES: GTraverseFlags = 1; +pub const GTraverseFlags_G_TRAVERSE_NON_LEAVES: GTraverseFlags = 2; +pub const GTraverseFlags_G_TRAVERSE_ALL: GTraverseFlags = 3; +pub const GTraverseFlags_G_TRAVERSE_MASK: GTraverseFlags = 3; +pub const GTraverseFlags_G_TRAVERSE_LEAFS: GTraverseFlags = 1; +pub const GTraverseFlags_G_TRAVERSE_NON_LEAFS: GTraverseFlags = 2; +pub type GTraverseFlags = u32; +pub const GTraverseType_G_IN_ORDER: GTraverseType = 0; +pub const GTraverseType_G_PRE_ORDER: GTraverseType = 1; +pub const GTraverseType_G_POST_ORDER: GTraverseType = 2; +pub const GTraverseType_G_LEVEL_ORDER: GTraverseType = 3; +pub type GTraverseType = u32; +pub type GNodeTraverseFunc = + ::std::option::Option gboolean>; +pub type GNodeForeachFunc = + ::std::option::Option; +#[doc = " GCopyFunc:"] +#[doc = " @src: (not nullable): A pointer to the data which should be copied"] +#[doc = " @data: Additional data"] +#[doc = ""] +#[doc = " A function of this signature is used to copy the node data"] +#[doc = " when doing a deep-copy of a tree."] +#[doc = ""] +#[doc = " Returns: (not nullable): A pointer to the copy"] +#[doc = ""] +#[doc = " Since: 2.4"] +pub type GCopyFunc = + ::std::option::Option gpointer>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GNode { + pub data: gpointer, + pub next: *mut GNode, + pub prev: *mut GNode, + pub parent: *mut GNode, + pub children: *mut GNode, +} +#[test] +fn bindgen_test_layout__GNode() { + assert_eq!( + ::std::mem::size_of::<_GNode>(), + 40usize, + concat!("Size of: ", stringify!(_GNode)) + ); + assert_eq!( + ::std::mem::align_of::<_GNode>(), + 8usize, + concat!("Alignment of ", stringify!(_GNode)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GNode>())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GNode), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GNode>())).next as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GNode), + "::", + stringify!(next) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GNode>())).prev as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GNode), + "::", + stringify!(prev) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GNode>())).parent as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GNode), + "::", + stringify!(parent) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GNode>())).children as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GNode), + "::", + stringify!(children) + ) + ); +} +extern "C" { + pub fn g_node_new(data: gpointer) -> *mut GNode; +} +extern "C" { + pub fn g_node_destroy(root: *mut GNode); +} +extern "C" { + pub fn g_node_unlink(node: *mut GNode); +} +extern "C" { + pub fn g_node_copy_deep(node: *mut GNode, copy_func: GCopyFunc, data: gpointer) -> *mut GNode; +} +extern "C" { + pub fn g_node_copy(node: *mut GNode) -> *mut GNode; +} +extern "C" { + pub fn g_node_insert(parent: *mut GNode, position: gint, node: *mut GNode) -> *mut GNode; +} +extern "C" { + pub fn g_node_insert_before( + parent: *mut GNode, + sibling: *mut GNode, + node: *mut GNode, + ) -> *mut GNode; +} +extern "C" { + pub fn g_node_insert_after( + parent: *mut GNode, + sibling: *mut GNode, + node: *mut GNode, + ) -> *mut GNode; +} +extern "C" { + pub fn g_node_prepend(parent: *mut GNode, node: *mut GNode) -> *mut GNode; +} +extern "C" { + pub fn g_node_n_nodes(root: *mut GNode, flags: GTraverseFlags) -> guint; +} +extern "C" { + pub fn g_node_get_root(node: *mut GNode) -> *mut GNode; +} +extern "C" { + pub fn g_node_is_ancestor(node: *mut GNode, descendant: *mut GNode) -> gboolean; +} +extern "C" { + pub fn g_node_depth(node: *mut GNode) -> guint; +} +extern "C" { + pub fn g_node_find( + root: *mut GNode, + order: GTraverseType, + flags: GTraverseFlags, + data: gpointer, + ) -> *mut GNode; +} +extern "C" { + pub fn g_node_traverse( + root: *mut GNode, + order: GTraverseType, + flags: GTraverseFlags, + max_depth: gint, + func: GNodeTraverseFunc, + data: gpointer, + ); +} +extern "C" { + pub fn g_node_max_height(root: *mut GNode) -> guint; +} +extern "C" { + pub fn g_node_children_foreach( + node: *mut GNode, + flags: GTraverseFlags, + func: GNodeForeachFunc, + data: gpointer, + ); +} +extern "C" { + pub fn g_node_reverse_children(node: *mut GNode); +} +extern "C" { + pub fn g_node_n_children(node: *mut GNode) -> guint; +} +extern "C" { + pub fn g_node_nth_child(node: *mut GNode, n: guint) -> *mut GNode; +} +extern "C" { + pub fn g_node_last_child(node: *mut GNode) -> *mut GNode; +} +extern "C" { + pub fn g_node_find_child(node: *mut GNode, flags: GTraverseFlags, data: gpointer) + -> *mut GNode; +} +extern "C" { + pub fn g_node_child_position(node: *mut GNode, child: *mut GNode) -> gint; +} +extern "C" { + pub fn g_node_child_index(node: *mut GNode, data: gpointer) -> gint; +} +extern "C" { + pub fn g_node_first_sibling(node: *mut GNode) -> *mut GNode; +} +extern "C" { + pub fn g_node_last_sibling(node: *mut GNode) -> *mut GNode; +} +pub type GList = _GList; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GList { + pub data: gpointer, + pub next: *mut GList, + pub prev: *mut GList, +} +#[test] +fn bindgen_test_layout__GList() { + assert_eq!( + ::std::mem::size_of::<_GList>(), + 24usize, + concat!("Size of: ", stringify!(_GList)) + ); + assert_eq!( + ::std::mem::align_of::<_GList>(), + 8usize, + concat!("Alignment of ", stringify!(_GList)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GList>())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GList), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GList>())).next as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GList), + "::", + stringify!(next) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GList>())).prev as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GList), + "::", + stringify!(prev) + ) + ); +} +extern "C" { + pub fn g_list_alloc() -> *mut GList; +} +extern "C" { + pub fn g_list_free(list: *mut GList); +} +extern "C" { + pub fn g_list_free_1(list: *mut GList); +} +extern "C" { + pub fn g_list_free_full(list: *mut GList, free_func: GDestroyNotify); +} +extern "C" { + pub fn g_list_append(list: *mut GList, data: gpointer) -> *mut GList; +} +extern "C" { + pub fn g_list_prepend(list: *mut GList, data: gpointer) -> *mut GList; +} +extern "C" { + pub fn g_list_insert(list: *mut GList, data: gpointer, position: gint) -> *mut GList; +} +extern "C" { + pub fn g_list_insert_sorted(list: *mut GList, data: gpointer, func: GCompareFunc) + -> *mut GList; +} +extern "C" { + pub fn g_list_insert_sorted_with_data( + list: *mut GList, + data: gpointer, + func: GCompareDataFunc, + user_data: gpointer, + ) -> *mut GList; +} +extern "C" { + pub fn g_list_insert_before( + list: *mut GList, + sibling: *mut GList, + data: gpointer, + ) -> *mut GList; +} +extern "C" { + pub fn g_list_concat(list1: *mut GList, list2: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_remove(list: *mut GList, data: gconstpointer) -> *mut GList; +} +extern "C" { + pub fn g_list_remove_all(list: *mut GList, data: gconstpointer) -> *mut GList; +} +extern "C" { + pub fn g_list_remove_link(list: *mut GList, llink: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_delete_link(list: *mut GList, link_: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_reverse(list: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_copy(list: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_copy_deep(list: *mut GList, func: GCopyFunc, user_data: gpointer) -> *mut GList; +} +extern "C" { + pub fn g_list_nth(list: *mut GList, n: guint) -> *mut GList; +} +extern "C" { + pub fn g_list_nth_prev(list: *mut GList, n: guint) -> *mut GList; +} +extern "C" { + pub fn g_list_find(list: *mut GList, data: gconstpointer) -> *mut GList; +} +extern "C" { + pub fn g_list_find_custom( + list: *mut GList, + data: gconstpointer, + func: GCompareFunc, + ) -> *mut GList; +} +extern "C" { + pub fn g_list_position(list: *mut GList, llink: *mut GList) -> gint; +} +extern "C" { + pub fn g_list_index(list: *mut GList, data: gconstpointer) -> gint; +} +extern "C" { + pub fn g_list_last(list: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_first(list: *mut GList) -> *mut GList; +} +extern "C" { + pub fn g_list_length(list: *mut GList) -> guint; +} +extern "C" { + pub fn g_list_foreach(list: *mut GList, func: GFunc, user_data: gpointer); +} +extern "C" { + pub fn g_list_sort(list: *mut GList, compare_func: GCompareFunc) -> *mut GList; +} +extern "C" { + pub fn g_list_sort_with_data( + list: *mut GList, + compare_func: GCompareDataFunc, + user_data: gpointer, + ) -> *mut GList; +} +extern "C" { + pub fn g_list_nth_data(list: *mut GList, n: guint) -> gpointer; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GHashTable { + _unused: [u8; 0], +} +pub type GHashTable = _GHashTable; +pub type GHRFunc = ::std::option::Option< + unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer) -> gboolean, +>; +pub type GHashTableIter = _GHashTableIter; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GHashTableIter { + pub dummy1: gpointer, + pub dummy2: gpointer, + pub dummy3: gpointer, + pub dummy4: ::std::os::raw::c_int, + pub dummy5: gboolean, + pub dummy6: gpointer, +} +#[test] +fn bindgen_test_layout__GHashTableIter() { + assert_eq!( + ::std::mem::size_of::<_GHashTableIter>(), + 40usize, + concat!("Size of: ", stringify!(_GHashTableIter)) + ); + assert_eq!( + ::std::mem::align_of::<_GHashTableIter>(), + 8usize, + concat!("Alignment of ", stringify!(_GHashTableIter)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHashTableIter>())).dummy1 as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GHashTableIter), + "::", + stringify!(dummy1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHashTableIter>())).dummy2 as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GHashTableIter), + "::", + stringify!(dummy2) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHashTableIter>())).dummy3 as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GHashTableIter), + "::", + stringify!(dummy3) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHashTableIter>())).dummy4 as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GHashTableIter), + "::", + stringify!(dummy4) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHashTableIter>())).dummy5 as *const _ as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_GHashTableIter), + "::", + stringify!(dummy5) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHashTableIter>())).dummy6 as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GHashTableIter), + "::", + stringify!(dummy6) + ) + ); +} +extern "C" { + pub fn g_hash_table_new(hash_func: GHashFunc, key_equal_func: GEqualFunc) -> *mut GHashTable; +} +extern "C" { + pub fn g_hash_table_new_full( + hash_func: GHashFunc, + key_equal_func: GEqualFunc, + key_destroy_func: GDestroyNotify, + value_destroy_func: GDestroyNotify, + ) -> *mut GHashTable; +} +extern "C" { + pub fn g_hash_table_destroy(hash_table: *mut GHashTable); +} +extern "C" { + pub fn g_hash_table_insert( + hash_table: *mut GHashTable, + key: gpointer, + value: gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_hash_table_replace( + hash_table: *mut GHashTable, + key: gpointer, + value: gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_hash_table_add(hash_table: *mut GHashTable, key: gpointer) -> gboolean; +} +extern "C" { + pub fn g_hash_table_remove(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_hash_table_remove_all(hash_table: *mut GHashTable); +} +extern "C" { + pub fn g_hash_table_steal(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_hash_table_steal_all(hash_table: *mut GHashTable); +} +extern "C" { + pub fn g_hash_table_lookup(hash_table: *mut GHashTable, key: gconstpointer) -> gpointer; +} +extern "C" { + pub fn g_hash_table_contains(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_hash_table_lookup_extended( + hash_table: *mut GHashTable, + lookup_key: gconstpointer, + orig_key: *mut gpointer, + value: *mut gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_hash_table_foreach(hash_table: *mut GHashTable, func: GHFunc, user_data: gpointer); +} +extern "C" { + pub fn g_hash_table_find( + hash_table: *mut GHashTable, + predicate: GHRFunc, + user_data: gpointer, + ) -> gpointer; +} +extern "C" { + pub fn g_hash_table_foreach_remove( + hash_table: *mut GHashTable, + func: GHRFunc, + user_data: gpointer, + ) -> guint; +} +extern "C" { + pub fn g_hash_table_foreach_steal( + hash_table: *mut GHashTable, + func: GHRFunc, + user_data: gpointer, + ) -> guint; +} +extern "C" { + pub fn g_hash_table_size(hash_table: *mut GHashTable) -> guint; +} +extern "C" { + pub fn g_hash_table_get_keys(hash_table: *mut GHashTable) -> *mut GList; +} +extern "C" { + pub fn g_hash_table_get_values(hash_table: *mut GHashTable) -> *mut GList; +} +extern "C" { + pub fn g_hash_table_get_keys_as_array( + hash_table: *mut GHashTable, + length: *mut guint, + ) -> *mut gpointer; +} +extern "C" { + pub fn g_hash_table_iter_init(iter: *mut GHashTableIter, hash_table: *mut GHashTable); +} +extern "C" { + pub fn g_hash_table_iter_next( + iter: *mut GHashTableIter, + key: *mut gpointer, + value: *mut gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_hash_table_iter_get_hash_table(iter: *mut GHashTableIter) -> *mut GHashTable; +} +extern "C" { + pub fn g_hash_table_iter_remove(iter: *mut GHashTableIter); +} +extern "C" { + pub fn g_hash_table_iter_replace(iter: *mut GHashTableIter, value: gpointer); +} +extern "C" { + pub fn g_hash_table_iter_steal(iter: *mut GHashTableIter); +} +extern "C" { + pub fn g_hash_table_ref(hash_table: *mut GHashTable) -> *mut GHashTable; +} +extern "C" { + pub fn g_hash_table_unref(hash_table: *mut GHashTable); +} +extern "C" { + pub fn g_str_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_str_hash(v: gconstpointer) -> guint; +} +extern "C" { + pub fn g_int_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_int_hash(v: gconstpointer) -> guint; +} +extern "C" { + pub fn g_int64_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_int64_hash(v: gconstpointer) -> guint; +} +extern "C" { + pub fn g_double_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_double_hash(v: gconstpointer) -> guint; +} +extern "C" { + pub fn g_direct_hash(v: gconstpointer) -> guint; +} +extern "C" { + pub fn g_direct_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GHmac { + _unused: [u8; 0], +} +#[doc = " GHmac:"] +#[doc = ""] +#[doc = " An opaque structure representing a HMAC operation."] +#[doc = " To create a new GHmac, use g_hmac_new(). To free"] +#[doc = " a GHmac, use g_hmac_unref()."] +#[doc = ""] +#[doc = " Since: 2.30"] +pub type GHmac = _GHmac; +extern "C" { + pub fn g_hmac_new(digest_type: GChecksumType, key: *const guchar, key_len: gsize) + -> *mut GHmac; +} +extern "C" { + pub fn g_hmac_copy(hmac: *const GHmac) -> *mut GHmac; +} +extern "C" { + pub fn g_hmac_ref(hmac: *mut GHmac) -> *mut GHmac; +} +extern "C" { + pub fn g_hmac_unref(hmac: *mut GHmac); +} +extern "C" { + pub fn g_hmac_update(hmac: *mut GHmac, data: *const guchar, length: gssize); +} +extern "C" { + pub fn g_hmac_get_string(hmac: *mut GHmac) -> *const gchar; +} +extern "C" { + pub fn g_hmac_get_digest(hmac: *mut GHmac, buffer: *mut guint8, digest_len: *mut gsize); +} +extern "C" { + pub fn g_compute_hmac_for_data( + digest_type: GChecksumType, + key: *const guchar, + key_len: gsize, + data: *const guchar, + length: gsize, + ) -> *mut gchar; +} +extern "C" { + pub fn g_compute_hmac_for_string( + digest_type: GChecksumType, + key: *const guchar, + key_len: gsize, + str: *const gchar, + length: gssize, + ) -> *mut gchar; +} +extern "C" { + pub fn g_compute_hmac_for_bytes( + digest_type: GChecksumType, + key: *mut GBytes, + data: *mut GBytes, + ) -> *mut gchar; +} +pub type GHook = _GHook; +pub type GHookList = _GHookList; +pub type GHookCompareFunc = + ::std::option::Option gint>; +pub type GHookFindFunc = + ::std::option::Option gboolean>; +pub type GHookMarshaller = + ::std::option::Option; +pub type GHookCheckMarshaller = ::std::option::Option< + unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer) -> gboolean, +>; +pub type GHookFunc = ::std::option::Option; +pub type GHookCheckFunc = ::std::option::Option gboolean>; +pub type GHookFinalizeFunc = + ::std::option::Option; +pub const GHookFlagMask_G_HOOK_FLAG_ACTIVE: GHookFlagMask = 1; +pub const GHookFlagMask_G_HOOK_FLAG_IN_CALL: GHookFlagMask = 2; +pub const GHookFlagMask_G_HOOK_FLAG_MASK: GHookFlagMask = 15; +pub type GHookFlagMask = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GHookList { + pub seq_id: gulong, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, + pub hooks: *mut GHook, + pub dummy3: gpointer, + pub finalize_hook: GHookFinalizeFunc, + pub dummy: [gpointer; 2usize], +} +#[test] +fn bindgen_test_layout__GHookList() { + assert_eq!( + ::std::mem::size_of::<_GHookList>(), + 56usize, + concat!("Size of: ", stringify!(_GHookList)) + ); + assert_eq!( + ::std::mem::align_of::<_GHookList>(), + 8usize, + concat!("Alignment of ", stringify!(_GHookList)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHookList>())).seq_id as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GHookList), + "::", + stringify!(seq_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHookList>())).hooks as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GHookList), + "::", + stringify!(hooks) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHookList>())).dummy3 as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GHookList), + "::", + stringify!(dummy3) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHookList>())).finalize_hook as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GHookList), + "::", + stringify!(finalize_hook) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHookList>())).dummy as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GHookList), + "::", + stringify!(dummy) + ) + ); +} +impl _GHookList { + #[inline] + pub fn hook_size(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_hook_size(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn is_setup(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_setup(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + hook_size: guint, + is_setup: guint, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let hook_size: u32 = unsafe { ::std::mem::transmute(hook_size) }; + hook_size as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let is_setup: u32 = unsafe { ::std::mem::transmute(is_setup) }; + is_setup as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GHook { + pub data: gpointer, + pub next: *mut GHook, + pub prev: *mut GHook, + pub ref_count: guint, + pub hook_id: gulong, + pub flags: guint, + pub func: gpointer, + pub destroy: GDestroyNotify, +} +#[test] +fn bindgen_test_layout__GHook() { + assert_eq!( + ::std::mem::size_of::<_GHook>(), + 64usize, + concat!("Size of: ", stringify!(_GHook)) + ); + assert_eq!( + ::std::mem::align_of::<_GHook>(), + 8usize, + concat!("Alignment of ", stringify!(_GHook)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).next as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(next) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).prev as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(prev) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).ref_count as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(ref_count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).hook_id as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(hook_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).flags as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).func as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(func) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GHook>())).destroy as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GHook), + "::", + stringify!(destroy) + ) + ); +} +extern "C" { + pub fn g_hook_list_init(hook_list: *mut GHookList, hook_size: guint); +} +extern "C" { + pub fn g_hook_list_clear(hook_list: *mut GHookList); +} +extern "C" { + pub fn g_hook_alloc(hook_list: *mut GHookList) -> *mut GHook; +} +extern "C" { + pub fn g_hook_free(hook_list: *mut GHookList, hook: *mut GHook); +} +extern "C" { + pub fn g_hook_ref(hook_list: *mut GHookList, hook: *mut GHook) -> *mut GHook; +} +extern "C" { + pub fn g_hook_unref(hook_list: *mut GHookList, hook: *mut GHook); +} +extern "C" { + pub fn g_hook_destroy(hook_list: *mut GHookList, hook_id: gulong) -> gboolean; +} +extern "C" { + pub fn g_hook_destroy_link(hook_list: *mut GHookList, hook: *mut GHook); +} +extern "C" { + pub fn g_hook_prepend(hook_list: *mut GHookList, hook: *mut GHook); +} +extern "C" { + pub fn g_hook_insert_before(hook_list: *mut GHookList, sibling: *mut GHook, hook: *mut GHook); +} +extern "C" { + pub fn g_hook_insert_sorted( + hook_list: *mut GHookList, + hook: *mut GHook, + func: GHookCompareFunc, + ); +} +extern "C" { + pub fn g_hook_get(hook_list: *mut GHookList, hook_id: gulong) -> *mut GHook; +} +extern "C" { + pub fn g_hook_find( + hook_list: *mut GHookList, + need_valids: gboolean, + func: GHookFindFunc, + data: gpointer, + ) -> *mut GHook; +} +extern "C" { + pub fn g_hook_find_data( + hook_list: *mut GHookList, + need_valids: gboolean, + data: gpointer, + ) -> *mut GHook; +} +extern "C" { + pub fn g_hook_find_func( + hook_list: *mut GHookList, + need_valids: gboolean, + func: gpointer, + ) -> *mut GHook; +} +extern "C" { + pub fn g_hook_find_func_data( + hook_list: *mut GHookList, + need_valids: gboolean, + func: gpointer, + data: gpointer, + ) -> *mut GHook; +} +extern "C" { + pub fn g_hook_first_valid(hook_list: *mut GHookList, may_be_in_call: gboolean) -> *mut GHook; +} +extern "C" { + pub fn g_hook_next_valid( + hook_list: *mut GHookList, + hook: *mut GHook, + may_be_in_call: gboolean, + ) -> *mut GHook; +} +extern "C" { + pub fn g_hook_compare_ids(new_hook: *mut GHook, sibling: *mut GHook) -> gint; +} +extern "C" { + pub fn g_hook_list_invoke(hook_list: *mut GHookList, may_recurse: gboolean); +} +extern "C" { + pub fn g_hook_list_invoke_check(hook_list: *mut GHookList, may_recurse: gboolean); +} +extern "C" { + pub fn g_hook_list_marshal( + hook_list: *mut GHookList, + may_recurse: gboolean, + marshaller: GHookMarshaller, + marshal_data: gpointer, + ); +} +extern "C" { + pub fn g_hook_list_marshal_check( + hook_list: *mut GHookList, + may_recurse: gboolean, + marshaller: GHookCheckMarshaller, + marshal_data: gpointer, + ); +} +extern "C" { + pub fn g_hostname_is_non_ascii(hostname: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_hostname_is_ascii_encoded(hostname: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_hostname_is_ip_address(hostname: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_hostname_to_ascii(hostname: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_hostname_to_unicode(hostname: *const gchar) -> *mut gchar; +} +pub type GPollFD = _GPollFD; +#[doc = " GPollFunc:"] +#[doc = " @ufds: an array of #GPollFD elements"] +#[doc = " @nfsd: the number of elements in @ufds"] +#[doc = " @timeout_: the maximum time to wait for an event of the file descriptors."] +#[doc = " A negative value indicates an infinite timeout."] +#[doc = ""] +#[doc = " Specifies the type of function passed to g_main_context_set_poll_func()."] +#[doc = " The semantics of the function should match those of the poll() system call."] +#[doc = ""] +#[doc = " Returns: the number of #GPollFD elements which have events or errors"] +#[doc = " reported, or -1 if an error occurred."] +pub type GPollFunc = ::std::option::Option< + unsafe extern "C" fn(ufds: *mut GPollFD, nfsd: guint, timeout_: gint) -> gint, +>; +#[doc = " GPollFD:"] +#[doc = " @fd: the file descriptor to poll (or a HANDLE on Win32)"] +#[doc = " @events: a bitwise combination from #GIOCondition, specifying which"] +#[doc = " events should be polled for. Typically for reading from a file"] +#[doc = " descriptor you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and"] +#[doc = " for writing you would use %G_IO_OUT | %G_IO_ERR."] +#[doc = " @revents: a bitwise combination of flags from #GIOCondition, returned"] +#[doc = " from the poll() function to indicate which events occurred."] +#[doc = ""] +#[doc = " Represents a file descriptor, which events to poll for, and which events"] +#[doc = " occurred."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GPollFD { + pub fd: gint, + pub events: gushort, + pub revents: gushort, +} +#[test] +fn bindgen_test_layout__GPollFD() { + assert_eq!( + ::std::mem::size_of::<_GPollFD>(), + 8usize, + concat!("Size of: ", stringify!(_GPollFD)) + ); + assert_eq!( + ::std::mem::align_of::<_GPollFD>(), + 4usize, + concat!("Alignment of ", stringify!(_GPollFD)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPollFD>())).fd as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GPollFD), + "::", + stringify!(fd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPollFD>())).events as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GPollFD), + "::", + stringify!(events) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GPollFD>())).revents as *const _ as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_GPollFD), + "::", + stringify!(revents) + ) + ); +} +extern "C" { + #[doc = " G_POLLFD_FORMAT:"] + #[doc = ""] + #[doc = " A format specifier that can be used in printf()-style format strings"] + #[doc = " when printing the @fd member of a #GPollFD."] + pub fn g_poll(fds: *mut GPollFD, nfds: guint, timeout: gint) -> gint; +} +pub type GSList = _GSList; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSList { + pub data: gpointer, + pub next: *mut GSList, +} +#[test] +fn bindgen_test_layout__GSList() { + assert_eq!( + ::std::mem::size_of::<_GSList>(), + 16usize, + concat!("Size of: ", stringify!(_GSList)) + ); + assert_eq!( + ::std::mem::align_of::<_GSList>(), + 8usize, + concat!("Alignment of ", stringify!(_GSList)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSList>())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GSList), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSList>())).next as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GSList), + "::", + stringify!(next) + ) + ); +} +extern "C" { + pub fn g_slist_alloc() -> *mut GSList; +} +extern "C" { + pub fn g_slist_free(list: *mut GSList); +} +extern "C" { + pub fn g_slist_free_1(list: *mut GSList); +} +extern "C" { + pub fn g_slist_free_full(list: *mut GSList, free_func: GDestroyNotify); +} +extern "C" { + pub fn g_slist_append(list: *mut GSList, data: gpointer) -> *mut GSList; +} +extern "C" { + pub fn g_slist_prepend(list: *mut GSList, data: gpointer) -> *mut GSList; +} +extern "C" { + pub fn g_slist_insert(list: *mut GSList, data: gpointer, position: gint) -> *mut GSList; +} +extern "C" { + pub fn g_slist_insert_sorted( + list: *mut GSList, + data: gpointer, + func: GCompareFunc, + ) -> *mut GSList; +} +extern "C" { + pub fn g_slist_insert_sorted_with_data( + list: *mut GSList, + data: gpointer, + func: GCompareDataFunc, + user_data: gpointer, + ) -> *mut GSList; +} +extern "C" { + pub fn g_slist_insert_before( + slist: *mut GSList, + sibling: *mut GSList, + data: gpointer, + ) -> *mut GSList; +} +extern "C" { + pub fn g_slist_concat(list1: *mut GSList, list2: *mut GSList) -> *mut GSList; +} +extern "C" { + pub fn g_slist_remove(list: *mut GSList, data: gconstpointer) -> *mut GSList; +} +extern "C" { + pub fn g_slist_remove_all(list: *mut GSList, data: gconstpointer) -> *mut GSList; +} +extern "C" { + pub fn g_slist_remove_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList; +} +extern "C" { + pub fn g_slist_delete_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList; +} +extern "C" { + pub fn g_slist_reverse(list: *mut GSList) -> *mut GSList; +} +extern "C" { + pub fn g_slist_copy(list: *mut GSList) -> *mut GSList; +} +extern "C" { + pub fn g_slist_copy_deep( + list: *mut GSList, + func: GCopyFunc, + user_data: gpointer, + ) -> *mut GSList; +} +extern "C" { + pub fn g_slist_nth(list: *mut GSList, n: guint) -> *mut GSList; +} +extern "C" { + pub fn g_slist_find(list: *mut GSList, data: gconstpointer) -> *mut GSList; +} +extern "C" { + pub fn g_slist_find_custom( + list: *mut GSList, + data: gconstpointer, + func: GCompareFunc, + ) -> *mut GSList; +} +extern "C" { + pub fn g_slist_position(list: *mut GSList, llink: *mut GSList) -> gint; +} +extern "C" { + pub fn g_slist_index(list: *mut GSList, data: gconstpointer) -> gint; +} +extern "C" { + pub fn g_slist_last(list: *mut GSList) -> *mut GSList; +} +extern "C" { + pub fn g_slist_length(list: *mut GSList) -> guint; +} +extern "C" { + pub fn g_slist_foreach(list: *mut GSList, func: GFunc, user_data: gpointer); +} +extern "C" { + pub fn g_slist_sort(list: *mut GSList, compare_func: GCompareFunc) -> *mut GSList; +} +extern "C" { + pub fn g_slist_sort_with_data( + list: *mut GSList, + compare_func: GCompareDataFunc, + user_data: gpointer, + ) -> *mut GSList; +} +extern "C" { + pub fn g_slist_nth_data(list: *mut GSList, n: guint) -> gpointer; +} +pub const GIOCondition_G_IO_IN: GIOCondition = 1; +pub const GIOCondition_G_IO_OUT: GIOCondition = 4; +pub const GIOCondition_G_IO_PRI: GIOCondition = 2; +pub const GIOCondition_G_IO_ERR: GIOCondition = 8; +pub const GIOCondition_G_IO_HUP: GIOCondition = 16; +pub const GIOCondition_G_IO_NVAL: GIOCondition = 32; +pub type GIOCondition = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMainContext { + _unused: [u8; 0], +} +#[doc = " GMainContext:"] +#[doc = ""] +#[doc = " The `GMainContext` struct is an opaque data"] +#[doc = " type representing a set of sources to be handled in a main loop."] +pub type GMainContext = _GMainContext; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMainLoop { + _unused: [u8; 0], +} +#[doc = " GMainLoop:"] +#[doc = ""] +#[doc = " The `GMainLoop` struct is an opaque data type"] +#[doc = " representing the main event loop of a GLib or GTK+ application."] +pub type GMainLoop = _GMainLoop; +#[doc = " GSource:"] +#[doc = ""] +#[doc = " The `GSource` struct is an opaque data type"] +#[doc = " representing an event source."] +pub type GSource = _GSource; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSourcePrivate { + _unused: [u8; 0], +} +pub type GSourcePrivate = _GSourcePrivate; +#[doc = " GSourceCallbackFuncs:"] +#[doc = " @ref: Called when a reference is added to the callback object"] +#[doc = " @unref: Called when a reference to the callback object is dropped"] +#[doc = " @get: Called to extract the callback function and data from the"] +#[doc = " callback object."] +#[doc = ""] +#[doc = " The `GSourceCallbackFuncs` struct contains"] +#[doc = " functions for managing callback objects."] +pub type GSourceCallbackFuncs = _GSourceCallbackFuncs; +#[doc = " GSourceFuncs:"] +#[doc = " @prepare: Called before all the file descriptors are polled. If the"] +#[doc = " source can determine that it is ready here (without waiting for the"] +#[doc = " results of the poll() call) it should return %TRUE. It can also return"] +#[doc = " a @timeout_ value which should be the maximum timeout (in milliseconds)"] +#[doc = " which should be passed to the poll() call. The actual timeout used will"] +#[doc = " be -1 if all sources returned -1, or it will be the minimum of all"] +#[doc = " the @timeout_ values returned which were >= 0. Since 2.36 this may"] +#[doc = " be %NULL, in which case the effect is as if the function always returns"] +#[doc = " %FALSE with a timeout of -1. If @prepare returns a"] +#[doc = " timeout and the source also has a ready time set, then the"] +#[doc = " lower of the two will be used."] +#[doc = " @check: Called after all the file descriptors are polled. The source"] +#[doc = " should return %TRUE if it is ready to be dispatched. Note that some"] +#[doc = " time may have passed since the previous prepare function was called,"] +#[doc = " so the source should be checked again here. Since 2.36 this may"] +#[doc = " be %NULL, in which case the effect is as if the function always returns"] +#[doc = " %FALSE."] +#[doc = " @dispatch: Called to dispatch the event source, after it has returned"] +#[doc = " %TRUE in either its @prepare or its @check function, or if a ready time"] +#[doc = " has been reached. The @dispatch function receives a callback function and"] +#[doc = " user data. The callback function may be %NULL if the source was never"] +#[doc = " connected to a callback using g_source_set_callback(). The @dispatch"] +#[doc = " function should call the callback function with @user_data and whatever"] +#[doc = " additional parameters are needed for this type of event source. The"] +#[doc = " return value of the @dispatch function should be #G_SOURCE_REMOVE if the"] +#[doc = " source should be removed or #G_SOURCE_CONTINUE to keep it."] +#[doc = " @finalize: Called when the source is finalized. At this point, the source"] +#[doc = " will have been destroyed, had its callback cleared, and have been removed"] +#[doc = " from its #GMainContext, but it will still have its final reference count,"] +#[doc = " so methods can be called on it from within this function."] +#[doc = ""] +#[doc = " The `GSourceFuncs` struct contains a table of"] +#[doc = " functions used to handle event sources in a generic manner."] +#[doc = ""] +#[doc = " For idle sources, the prepare and check functions always return %TRUE"] +#[doc = " to indicate that the source is always ready to be processed. The prepare"] +#[doc = " function also returns a timeout value of 0 to ensure that the poll() call"] +#[doc = " doesn't block (since that would be time wasted which could have been spent"] +#[doc = " running the idle function)."] +#[doc = ""] +#[doc = " For timeout sources, the prepare and check functions both return %TRUE"] +#[doc = " if the timeout interval has expired. The prepare function also returns"] +#[doc = " a timeout value to ensure that the poll() call doesn't block too long"] +#[doc = " and miss the next timeout."] +#[doc = ""] +#[doc = " For file descriptor sources, the prepare function typically returns %FALSE,"] +#[doc = " since it must wait until poll() has been called before it knows whether"] +#[doc = " any events need to be processed. It sets the returned timeout to -1 to"] +#[doc = " indicate that it doesn't mind how long the poll() call blocks. In the"] +#[doc = " check function, it tests the results of the poll() call to see if the"] +#[doc = " required condition has been met, and returns %TRUE if so."] +pub type GSourceFuncs = _GSourceFuncs; +#[doc = " GSourceFunc:"] +#[doc = " @user_data: data passed to the function, set when the source was"] +#[doc = " created with one of the above functions"] +#[doc = ""] +#[doc = " Specifies the type of function passed to g_timeout_add(),"] +#[doc = " g_timeout_add_full(), g_idle_add(), and g_idle_add_full()."] +#[doc = ""] +#[doc = " Returns: %FALSE if the source should be removed. #G_SOURCE_CONTINUE and"] +#[doc = " #G_SOURCE_REMOVE are more memorable names for the return value."] +pub type GSourceFunc = ::std::option::Option gboolean>; +#[doc = " GChildWatchFunc:"] +#[doc = " @pid: the process id of the child process"] +#[doc = " @status: Status information about the child process, encoded"] +#[doc = " in a platform-specific manner"] +#[doc = " @user_data: user data passed to g_child_watch_add()"] +#[doc = ""] +#[doc = " Prototype of a #GChildWatchSource callback, called when a child"] +#[doc = " process has exited. To interpret @status, see the documentation"] +#[doc = " for g_spawn_check_exit_status()."] +pub type GChildWatchFunc = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSource { + pub callback_data: gpointer, + pub callback_funcs: *mut GSourceCallbackFuncs, + pub source_funcs: *const GSourceFuncs, + pub ref_count: guint, + pub context: *mut GMainContext, + pub priority: gint, + pub flags: guint, + pub source_id: guint, + pub poll_fds: *mut GSList, + pub prev: *mut GSource, + pub next: *mut GSource, + pub name: *mut ::std::os::raw::c_char, + pub priv_: *mut GSourcePrivate, +} +#[test] +fn bindgen_test_layout__GSource() { + assert_eq!( + ::std::mem::size_of::<_GSource>(), + 96usize, + concat!("Size of: ", stringify!(_GSource)) + ); + assert_eq!( + ::std::mem::align_of::<_GSource>(), + 8usize, + concat!("Alignment of ", stringify!(_GSource)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).callback_data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(callback_data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).callback_funcs as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(callback_funcs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).source_funcs as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(source_funcs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).ref_count as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(ref_count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).context as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(context) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).priority as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(priority) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).flags as *const _ as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).source_id as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(source_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).poll_fds as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(poll_fds) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).prev as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(prev) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).next as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(next) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).name as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSource>())).priv_ as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_GSource), + "::", + stringify!(priv_) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSourceCallbackFuncs { + pub ref_: ::std::option::Option, + pub unref: ::std::option::Option, + pub get: ::std::option::Option< + unsafe extern "C" fn( + cb_data: gpointer, + source: *mut GSource, + func: *mut GSourceFunc, + data: *mut gpointer, + ), + >, +} +#[test] +fn bindgen_test_layout__GSourceCallbackFuncs() { + assert_eq!( + ::std::mem::size_of::<_GSourceCallbackFuncs>(), + 24usize, + concat!("Size of: ", stringify!(_GSourceCallbackFuncs)) + ); + assert_eq!( + ::std::mem::align_of::<_GSourceCallbackFuncs>(), + 8usize, + concat!("Alignment of ", stringify!(_GSourceCallbackFuncs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceCallbackFuncs>())).ref_ as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GSourceCallbackFuncs), + "::", + stringify!(ref_) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceCallbackFuncs>())).unref as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GSourceCallbackFuncs), + "::", + stringify!(unref) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceCallbackFuncs>())).get as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GSourceCallbackFuncs), + "::", + stringify!(get) + ) + ); +} +#[doc = " GSourceDummyMarshal:"] +#[doc = ""] +#[doc = " This is just a placeholder for #GClosureMarshal,"] +#[doc = " which cannot be used here for dependency reasons."] +pub type GSourceDummyMarshal = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSourceFuncs { + pub prepare: ::std::option::Option< + unsafe extern "C" fn(source: *mut GSource, timeout_: *mut gint) -> gboolean, + >, + pub check: ::std::option::Option gboolean>, + pub dispatch: ::std::option::Option< + unsafe extern "C" fn( + source: *mut GSource, + callback: GSourceFunc, + user_data: gpointer, + ) -> gboolean, + >, + pub finalize: ::std::option::Option, + pub closure_callback: GSourceFunc, + pub closure_marshal: GSourceDummyMarshal, +} +#[test] +fn bindgen_test_layout__GSourceFuncs() { + assert_eq!( + ::std::mem::size_of::<_GSourceFuncs>(), + 48usize, + concat!("Size of: ", stringify!(_GSourceFuncs)) + ); + assert_eq!( + ::std::mem::align_of::<_GSourceFuncs>(), + 8usize, + concat!("Alignment of ", stringify!(_GSourceFuncs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceFuncs>())).prepare as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GSourceFuncs), + "::", + stringify!(prepare) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceFuncs>())).check as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GSourceFuncs), + "::", + stringify!(check) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceFuncs>())).dispatch as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GSourceFuncs), + "::", + stringify!(dispatch) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceFuncs>())).finalize as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GSourceFuncs), + "::", + stringify!(finalize) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceFuncs>())).closure_callback as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GSourceFuncs), + "::", + stringify!(closure_callback) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GSourceFuncs>())).closure_marshal as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GSourceFuncs), + "::", + stringify!(closure_marshal) + ) + ); +} +extern "C" { + pub fn g_main_context_new() -> *mut GMainContext; +} +extern "C" { + pub fn g_main_context_ref(context: *mut GMainContext) -> *mut GMainContext; +} +extern "C" { + pub fn g_main_context_unref(context: *mut GMainContext); +} +extern "C" { + pub fn g_main_context_default() -> *mut GMainContext; +} +extern "C" { + pub fn g_main_context_iteration(context: *mut GMainContext, may_block: gboolean) -> gboolean; +} +extern "C" { + pub fn g_main_context_pending(context: *mut GMainContext) -> gboolean; +} +extern "C" { + pub fn g_main_context_find_source_by_id( + context: *mut GMainContext, + source_id: guint, + ) -> *mut GSource; +} +extern "C" { + pub fn g_main_context_find_source_by_user_data( + context: *mut GMainContext, + user_data: gpointer, + ) -> *mut GSource; +} +extern "C" { + pub fn g_main_context_find_source_by_funcs_user_data( + context: *mut GMainContext, + funcs: *mut GSourceFuncs, + user_data: gpointer, + ) -> *mut GSource; +} +extern "C" { + pub fn g_main_context_wakeup(context: *mut GMainContext); +} +extern "C" { + pub fn g_main_context_acquire(context: *mut GMainContext) -> gboolean; +} +extern "C" { + pub fn g_main_context_release(context: *mut GMainContext); +} +extern "C" { + pub fn g_main_context_is_owner(context: *mut GMainContext) -> gboolean; +} +extern "C" { + pub fn g_main_context_wait( + context: *mut GMainContext, + cond: *mut GCond, + mutex: *mut GMutex, + ) -> gboolean; +} +extern "C" { + pub fn g_main_context_prepare(context: *mut GMainContext, priority: *mut gint) -> gboolean; +} +extern "C" { + pub fn g_main_context_query( + context: *mut GMainContext, + max_priority: gint, + timeout_: *mut gint, + fds: *mut GPollFD, + n_fds: gint, + ) -> gint; +} +extern "C" { + pub fn g_main_context_check( + context: *mut GMainContext, + max_priority: gint, + fds: *mut GPollFD, + n_fds: gint, + ) -> gboolean; +} +extern "C" { + pub fn g_main_context_dispatch(context: *mut GMainContext); +} +extern "C" { + pub fn g_main_context_set_poll_func(context: *mut GMainContext, func: GPollFunc); +} +extern "C" { + pub fn g_main_context_get_poll_func(context: *mut GMainContext) -> GPollFunc; +} +extern "C" { + pub fn g_main_context_add_poll(context: *mut GMainContext, fd: *mut GPollFD, priority: gint); +} +extern "C" { + pub fn g_main_context_remove_poll(context: *mut GMainContext, fd: *mut GPollFD); +} +extern "C" { + pub fn g_main_depth() -> gint; +} +extern "C" { + pub fn g_main_current_source() -> *mut GSource; +} +extern "C" { + pub fn g_main_context_push_thread_default(context: *mut GMainContext); +} +extern "C" { + pub fn g_main_context_pop_thread_default(context: *mut GMainContext); +} +extern "C" { + pub fn g_main_context_get_thread_default() -> *mut GMainContext; +} +extern "C" { + pub fn g_main_context_ref_thread_default() -> *mut GMainContext; +} +extern "C" { + pub fn g_main_loop_new(context: *mut GMainContext, is_running: gboolean) -> *mut GMainLoop; +} +extern "C" { + pub fn g_main_loop_run(loop_: *mut GMainLoop); +} +extern "C" { + pub fn g_main_loop_quit(loop_: *mut GMainLoop); +} +extern "C" { + pub fn g_main_loop_ref(loop_: *mut GMainLoop) -> *mut GMainLoop; +} +extern "C" { + pub fn g_main_loop_unref(loop_: *mut GMainLoop); +} +extern "C" { + pub fn g_main_loop_is_running(loop_: *mut GMainLoop) -> gboolean; +} +extern "C" { + pub fn g_main_loop_get_context(loop_: *mut GMainLoop) -> *mut GMainContext; +} +extern "C" { + pub fn g_source_new(source_funcs: *mut GSourceFuncs, struct_size: guint) -> *mut GSource; +} +extern "C" { + pub fn g_source_ref(source: *mut GSource) -> *mut GSource; +} +extern "C" { + pub fn g_source_unref(source: *mut GSource); +} +extern "C" { + pub fn g_source_attach(source: *mut GSource, context: *mut GMainContext) -> guint; +} +extern "C" { + pub fn g_source_destroy(source: *mut GSource); +} +extern "C" { + pub fn g_source_set_priority(source: *mut GSource, priority: gint); +} +extern "C" { + pub fn g_source_get_priority(source: *mut GSource) -> gint; +} +extern "C" { + pub fn g_source_set_can_recurse(source: *mut GSource, can_recurse: gboolean); +} +extern "C" { + pub fn g_source_get_can_recurse(source: *mut GSource) -> gboolean; +} +extern "C" { + pub fn g_source_get_id(source: *mut GSource) -> guint; +} +extern "C" { + pub fn g_source_get_context(source: *mut GSource) -> *mut GMainContext; +} +extern "C" { + pub fn g_source_set_callback( + source: *mut GSource, + func: GSourceFunc, + data: gpointer, + notify: GDestroyNotify, + ); +} +extern "C" { + pub fn g_source_set_funcs(source: *mut GSource, funcs: *mut GSourceFuncs); +} +extern "C" { + pub fn g_source_is_destroyed(source: *mut GSource) -> gboolean; +} +extern "C" { + pub fn g_source_set_name(source: *mut GSource, name: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn g_source_get_name(source: *mut GSource) -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn g_source_set_name_by_id(tag: guint, name: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn g_source_set_ready_time(source: *mut GSource, ready_time: gint64); +} +extern "C" { + pub fn g_source_get_ready_time(source: *mut GSource) -> gint64; +} +extern "C" { + pub fn g_source_add_unix_fd(source: *mut GSource, fd: gint, events: GIOCondition) -> gpointer; +} +extern "C" { + pub fn g_source_modify_unix_fd(source: *mut GSource, tag: gpointer, new_events: GIOCondition); +} +extern "C" { + pub fn g_source_remove_unix_fd(source: *mut GSource, tag: gpointer); +} +extern "C" { + pub fn g_source_query_unix_fd(source: *mut GSource, tag: gpointer) -> GIOCondition; +} +extern "C" { + pub fn g_source_set_callback_indirect( + source: *mut GSource, + callback_data: gpointer, + callback_funcs: *mut GSourceCallbackFuncs, + ); +} +extern "C" { + pub fn g_source_add_poll(source: *mut GSource, fd: *mut GPollFD); +} +extern "C" { + pub fn g_source_remove_poll(source: *mut GSource, fd: *mut GPollFD); +} +extern "C" { + pub fn g_source_add_child_source(source: *mut GSource, child_source: *mut GSource); +} +extern "C" { + pub fn g_source_remove_child_source(source: *mut GSource, child_source: *mut GSource); +} +extern "C" { + pub fn g_source_get_current_time(source: *mut GSource, timeval: *mut GTimeVal); +} +extern "C" { + pub fn g_source_get_time(source: *mut GSource) -> gint64; +} +extern "C" { + pub fn g_idle_source_new() -> *mut GSource; +} +extern "C" { + pub fn g_child_watch_source_new(pid: GPid) -> *mut GSource; +} +extern "C" { + pub fn g_timeout_source_new(interval: guint) -> *mut GSource; +} +extern "C" { + pub fn g_timeout_source_new_seconds(interval: guint) -> *mut GSource; +} +extern "C" { + pub fn g_get_current_time(result: *mut GTimeVal); +} +extern "C" { + pub fn g_get_monotonic_time() -> gint64; +} +extern "C" { + pub fn g_get_real_time() -> gint64; +} +extern "C" { + pub fn g_source_remove(tag: guint) -> gboolean; +} +extern "C" { + pub fn g_source_remove_by_user_data(user_data: gpointer) -> gboolean; +} +extern "C" { + pub fn g_source_remove_by_funcs_user_data( + funcs: *mut GSourceFuncs, + user_data: gpointer, + ) -> gboolean; +} +#[doc = " GClearHandleFunc:"] +#[doc = " @handle_id: the handle ID to clear"] +#[doc = ""] +#[doc = " Specifies the type of function passed to g_clear_handle_id()."] +#[doc = " The implementation is expected to free the resource identified"] +#[doc = " by @handle_id; for instance, if @handle_id is a #GSource ID,"] +#[doc = " g_source_remove() can be used."] +#[doc = ""] +#[doc = " Since: 2.56"] +pub type GClearHandleFunc = ::std::option::Option; +extern "C" { + pub fn g_clear_handle_id(tag_ptr: *mut guint, clear_func: GClearHandleFunc); +} +extern "C" { + pub fn g_timeout_add_full( + priority: gint, + interval: guint, + function: GSourceFunc, + data: gpointer, + notify: GDestroyNotify, + ) -> guint; +} +extern "C" { + pub fn g_timeout_add(interval: guint, function: GSourceFunc, data: gpointer) -> guint; +} +extern "C" { + pub fn g_timeout_add_seconds_full( + priority: gint, + interval: guint, + function: GSourceFunc, + data: gpointer, + notify: GDestroyNotify, + ) -> guint; +} +extern "C" { + pub fn g_timeout_add_seconds(interval: guint, function: GSourceFunc, data: gpointer) -> guint; +} +extern "C" { + pub fn g_child_watch_add_full( + priority: gint, + pid: GPid, + function: GChildWatchFunc, + data: gpointer, + notify: GDestroyNotify, + ) -> guint; +} +extern "C" { + pub fn g_child_watch_add(pid: GPid, function: GChildWatchFunc, data: gpointer) -> guint; +} +extern "C" { + pub fn g_idle_add(function: GSourceFunc, data: gpointer) -> guint; +} +extern "C" { + pub fn g_idle_add_full( + priority: gint, + function: GSourceFunc, + data: gpointer, + notify: GDestroyNotify, + ) -> guint; +} +extern "C" { + pub fn g_idle_remove_by_data(data: gpointer) -> gboolean; +} +extern "C" { + pub fn g_main_context_invoke_full( + context: *mut GMainContext, + priority: gint, + function: GSourceFunc, + data: gpointer, + notify: GDestroyNotify, + ); +} +extern "C" { + pub fn g_main_context_invoke(context: *mut GMainContext, function: GSourceFunc, data: gpointer); +} +extern "C" { + pub static mut g_timeout_funcs: GSourceFuncs; +} +extern "C" { + pub static mut g_child_watch_funcs: GSourceFuncs; +} +extern "C" { + pub static mut g_idle_funcs: GSourceFuncs; +} +extern "C" { + pub static mut g_unix_signal_funcs: GSourceFuncs; +} +extern "C" { + pub static mut g_unix_fd_source_funcs: GSourceFuncs; +} +#[doc = " gunichar:"] +#[doc = ""] +#[doc = " A type which can hold any UTF-32 or UCS-4 character code,"] +#[doc = " also known as a Unicode code point."] +#[doc = ""] +#[doc = " If you want to produce the UTF-8 representation of a #gunichar,"] +#[doc = " use g_ucs4_to_utf8(). See also g_utf8_to_ucs4() for the reverse"] +#[doc = " process."] +#[doc = ""] +#[doc = " To print/scan values of this type as integer, use"] +#[doc = " %G_GINT32_MODIFIER and/or %G_GUINT32_FORMAT."] +#[doc = ""] +#[doc = " The notation to express a Unicode code point in running text is"] +#[doc = " as a hexadecimal number with four to six digits and uppercase"] +#[doc = " letters, prefixed by the string \"U+\". Leading zeros are omitted,"] +#[doc = " unless the code point would have fewer than four hexadecimal digits."] +#[doc = " For example, \"U+0041 LATIN CAPITAL LETTER A\". To print a code point"] +#[doc = " in the U+-notation, use the format string \"U+\\%04\"G_GINT32_FORMAT\"X\"."] +#[doc = " To scan, use the format string \"U+\\%06\"G_GINT32_FORMAT\"X\"."] +#[doc = ""] +#[doc = " |["] +#[doc = " gunichar c;"] +#[doc = " sscanf (\"U+0041\", \"U+%06\"G_GINT32_FORMAT\"X\", &c)"] +#[doc = " g_print (\"Read U+%04\"G_GINT32_FORMAT\"X\", c);"] +#[doc = " ]|"] +pub type gunichar = guint32; +#[doc = " gunichar2:"] +#[doc = ""] +#[doc = " A type which can hold any UTF-16 code"] +#[doc = " pointUTF-16 also has so called"] +#[doc = " surrogate pairs to encode characters beyond"] +#[doc = " the BMP as pairs of 16bit numbers. Surrogate pairs cannot be stored"] +#[doc = " in a single gunichar2 field, but all GLib functions accepting gunichar2"] +#[doc = " arrays will correctly interpret surrogate pairs.."] +#[doc = ""] +#[doc = " To print/scan values of this type to/from text you need to convert"] +#[doc = " to/from UTF-8, using g_utf16_to_utf8()/g_utf8_to_utf16()."] +#[doc = ""] +#[doc = " To print/scan values of this type as integer, use"] +#[doc = " %G_GINT16_MODIFIER and/or %G_GUINT16_FORMAT."] +pub type gunichar2 = guint16; +pub const GUnicodeType_G_UNICODE_CONTROL: GUnicodeType = 0; +pub const GUnicodeType_G_UNICODE_FORMAT: GUnicodeType = 1; +pub const GUnicodeType_G_UNICODE_UNASSIGNED: GUnicodeType = 2; +pub const GUnicodeType_G_UNICODE_PRIVATE_USE: GUnicodeType = 3; +pub const GUnicodeType_G_UNICODE_SURROGATE: GUnicodeType = 4; +pub const GUnicodeType_G_UNICODE_LOWERCASE_LETTER: GUnicodeType = 5; +pub const GUnicodeType_G_UNICODE_MODIFIER_LETTER: GUnicodeType = 6; +pub const GUnicodeType_G_UNICODE_OTHER_LETTER: GUnicodeType = 7; +pub const GUnicodeType_G_UNICODE_TITLECASE_LETTER: GUnicodeType = 8; +pub const GUnicodeType_G_UNICODE_UPPERCASE_LETTER: GUnicodeType = 9; +pub const GUnicodeType_G_UNICODE_SPACING_MARK: GUnicodeType = 10; +pub const GUnicodeType_G_UNICODE_ENCLOSING_MARK: GUnicodeType = 11; +pub const GUnicodeType_G_UNICODE_NON_SPACING_MARK: GUnicodeType = 12; +pub const GUnicodeType_G_UNICODE_DECIMAL_NUMBER: GUnicodeType = 13; +pub const GUnicodeType_G_UNICODE_LETTER_NUMBER: GUnicodeType = 14; +pub const GUnicodeType_G_UNICODE_OTHER_NUMBER: GUnicodeType = 15; +pub const GUnicodeType_G_UNICODE_CONNECT_PUNCTUATION: GUnicodeType = 16; +pub const GUnicodeType_G_UNICODE_DASH_PUNCTUATION: GUnicodeType = 17; +pub const GUnicodeType_G_UNICODE_CLOSE_PUNCTUATION: GUnicodeType = 18; +pub const GUnicodeType_G_UNICODE_FINAL_PUNCTUATION: GUnicodeType = 19; +pub const GUnicodeType_G_UNICODE_INITIAL_PUNCTUATION: GUnicodeType = 20; +pub const GUnicodeType_G_UNICODE_OTHER_PUNCTUATION: GUnicodeType = 21; +pub const GUnicodeType_G_UNICODE_OPEN_PUNCTUATION: GUnicodeType = 22; +pub const GUnicodeType_G_UNICODE_CURRENCY_SYMBOL: GUnicodeType = 23; +pub const GUnicodeType_G_UNICODE_MODIFIER_SYMBOL: GUnicodeType = 24; +pub const GUnicodeType_G_UNICODE_MATH_SYMBOL: GUnicodeType = 25; +pub const GUnicodeType_G_UNICODE_OTHER_SYMBOL: GUnicodeType = 26; +pub const GUnicodeType_G_UNICODE_LINE_SEPARATOR: GUnicodeType = 27; +pub const GUnicodeType_G_UNICODE_PARAGRAPH_SEPARATOR: GUnicodeType = 28; +pub const GUnicodeType_G_UNICODE_SPACE_SEPARATOR: GUnicodeType = 29; +#[doc = " GUnicodeType:"] +#[doc = " @G_UNICODE_CONTROL: General category \"Other, Control\" (Cc)"] +#[doc = " @G_UNICODE_FORMAT: General category \"Other, Format\" (Cf)"] +#[doc = " @G_UNICODE_UNASSIGNED: General category \"Other, Not Assigned\" (Cn)"] +#[doc = " @G_UNICODE_PRIVATE_USE: General category \"Other, Private Use\" (Co)"] +#[doc = " @G_UNICODE_SURROGATE: General category \"Other, Surrogate\" (Cs)"] +#[doc = " @G_UNICODE_LOWERCASE_LETTER: General category \"Letter, Lowercase\" (Ll)"] +#[doc = " @G_UNICODE_MODIFIER_LETTER: General category \"Letter, Modifier\" (Lm)"] +#[doc = " @G_UNICODE_OTHER_LETTER: General category \"Letter, Other\" (Lo)"] +#[doc = " @G_UNICODE_TITLECASE_LETTER: General category \"Letter, Titlecase\" (Lt)"] +#[doc = " @G_UNICODE_UPPERCASE_LETTER: General category \"Letter, Uppercase\" (Lu)"] +#[doc = " @G_UNICODE_SPACING_MARK: General category \"Mark, Spacing\" (Mc)"] +#[doc = " @G_UNICODE_ENCLOSING_MARK: General category \"Mark, Enclosing\" (Me)"] +#[doc = " @G_UNICODE_NON_SPACING_MARK: General category \"Mark, Nonspacing\" (Mn)"] +#[doc = " @G_UNICODE_DECIMAL_NUMBER: General category \"Number, Decimal Digit\" (Nd)"] +#[doc = " @G_UNICODE_LETTER_NUMBER: General category \"Number, Letter\" (Nl)"] +#[doc = " @G_UNICODE_OTHER_NUMBER: General category \"Number, Other\" (No)"] +#[doc = " @G_UNICODE_CONNECT_PUNCTUATION: General category \"Punctuation, Connector\" (Pc)"] +#[doc = " @G_UNICODE_DASH_PUNCTUATION: General category \"Punctuation, Dash\" (Pd)"] +#[doc = " @G_UNICODE_CLOSE_PUNCTUATION: General category \"Punctuation, Close\" (Pe)"] +#[doc = " @G_UNICODE_FINAL_PUNCTUATION: General category \"Punctuation, Final quote\" (Pf)"] +#[doc = " @G_UNICODE_INITIAL_PUNCTUATION: General category \"Punctuation, Initial quote\" (Pi)"] +#[doc = " @G_UNICODE_OTHER_PUNCTUATION: General category \"Punctuation, Other\" (Po)"] +#[doc = " @G_UNICODE_OPEN_PUNCTUATION: General category \"Punctuation, Open\" (Ps)"] +#[doc = " @G_UNICODE_CURRENCY_SYMBOL: General category \"Symbol, Currency\" (Sc)"] +#[doc = " @G_UNICODE_MODIFIER_SYMBOL: General category \"Symbol, Modifier\" (Sk)"] +#[doc = " @G_UNICODE_MATH_SYMBOL: General category \"Symbol, Math\" (Sm)"] +#[doc = " @G_UNICODE_OTHER_SYMBOL: General category \"Symbol, Other\" (So)"] +#[doc = " @G_UNICODE_LINE_SEPARATOR: General category \"Separator, Line\" (Zl)"] +#[doc = " @G_UNICODE_PARAGRAPH_SEPARATOR: General category \"Separator, Paragraph\" (Zp)"] +#[doc = " @G_UNICODE_SPACE_SEPARATOR: General category \"Separator, Space\" (Zs)"] +#[doc = ""] +#[doc = " These are the possible character classifications from the"] +#[doc = " Unicode specification."] +#[doc = " See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values)."] +pub type GUnicodeType = u32; +pub const GUnicodeBreakType_G_UNICODE_BREAK_MANDATORY: GUnicodeBreakType = 0; +pub const GUnicodeBreakType_G_UNICODE_BREAK_CARRIAGE_RETURN: GUnicodeBreakType = 1; +pub const GUnicodeBreakType_G_UNICODE_BREAK_LINE_FEED: GUnicodeBreakType = 2; +pub const GUnicodeBreakType_G_UNICODE_BREAK_COMBINING_MARK: GUnicodeBreakType = 3; +pub const GUnicodeBreakType_G_UNICODE_BREAK_SURROGATE: GUnicodeBreakType = 4; +pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_SPACE: GUnicodeBreakType = 5; +pub const GUnicodeBreakType_G_UNICODE_BREAK_INSEPARABLE: GUnicodeBreakType = 6; +pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_BREAKING_GLUE: GUnicodeBreakType = 7; +pub const GUnicodeBreakType_G_UNICODE_BREAK_CONTINGENT: GUnicodeBreakType = 8; +pub const GUnicodeBreakType_G_UNICODE_BREAK_SPACE: GUnicodeBreakType = 9; +pub const GUnicodeBreakType_G_UNICODE_BREAK_AFTER: GUnicodeBreakType = 10; +pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE: GUnicodeBreakType = 11; +pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE_AND_AFTER: GUnicodeBreakType = 12; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HYPHEN: GUnicodeBreakType = 13; +pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_STARTER: GUnicodeBreakType = 14; +pub const GUnicodeBreakType_G_UNICODE_BREAK_OPEN_PUNCTUATION: GUnicodeBreakType = 15; +pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PUNCTUATION: GUnicodeBreakType = 16; +pub const GUnicodeBreakType_G_UNICODE_BREAK_QUOTATION: GUnicodeBreakType = 17; +pub const GUnicodeBreakType_G_UNICODE_BREAK_EXCLAMATION: GUnicodeBreakType = 18; +pub const GUnicodeBreakType_G_UNICODE_BREAK_IDEOGRAPHIC: GUnicodeBreakType = 19; +pub const GUnicodeBreakType_G_UNICODE_BREAK_NUMERIC: GUnicodeBreakType = 20; +pub const GUnicodeBreakType_G_UNICODE_BREAK_INFIX_SEPARATOR: GUnicodeBreakType = 21; +pub const GUnicodeBreakType_G_UNICODE_BREAK_SYMBOL: GUnicodeBreakType = 22; +pub const GUnicodeBreakType_G_UNICODE_BREAK_ALPHABETIC: GUnicodeBreakType = 23; +pub const GUnicodeBreakType_G_UNICODE_BREAK_PREFIX: GUnicodeBreakType = 24; +pub const GUnicodeBreakType_G_UNICODE_BREAK_POSTFIX: GUnicodeBreakType = 25; +pub const GUnicodeBreakType_G_UNICODE_BREAK_COMPLEX_CONTEXT: GUnicodeBreakType = 26; +pub const GUnicodeBreakType_G_UNICODE_BREAK_AMBIGUOUS: GUnicodeBreakType = 27; +pub const GUnicodeBreakType_G_UNICODE_BREAK_UNKNOWN: GUnicodeBreakType = 28; +pub const GUnicodeBreakType_G_UNICODE_BREAK_NEXT_LINE: GUnicodeBreakType = 29; +pub const GUnicodeBreakType_G_UNICODE_BREAK_WORD_JOINER: GUnicodeBreakType = 30; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_L_JAMO: GUnicodeBreakType = 31; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_V_JAMO: GUnicodeBreakType = 32; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_T_JAMO: GUnicodeBreakType = 33; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: GUnicodeBreakType = 34; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: GUnicodeBreakType = 35; +pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARANTHESIS: GUnicodeBreakType = 36; +pub const GUnicodeBreakType_G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: GUnicodeBreakType = 37; +pub const GUnicodeBreakType_G_UNICODE_BREAK_HEBREW_LETTER: GUnicodeBreakType = 38; +pub const GUnicodeBreakType_G_UNICODE_BREAK_REGIONAL_INDICATOR: GUnicodeBreakType = 39; +pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_BASE: GUnicodeBreakType = 40; +pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_MODIFIER: GUnicodeBreakType = 41; +pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_JOINER: GUnicodeBreakType = 42; +#[doc = " GUnicodeBreakType:"] +#[doc = " @G_UNICODE_BREAK_MANDATORY: Mandatory Break (BK)"] +#[doc = " @G_UNICODE_BREAK_CARRIAGE_RETURN: Carriage Return (CR)"] +#[doc = " @G_UNICODE_BREAK_LINE_FEED: Line Feed (LF)"] +#[doc = " @G_UNICODE_BREAK_COMBINING_MARK: Attached Characters and Combining Marks (CM)"] +#[doc = " @G_UNICODE_BREAK_SURROGATE: Surrogates (SG)"] +#[doc = " @G_UNICODE_BREAK_ZERO_WIDTH_SPACE: Zero Width Space (ZW)"] +#[doc = " @G_UNICODE_BREAK_INSEPARABLE: Inseparable (IN)"] +#[doc = " @G_UNICODE_BREAK_NON_BREAKING_GLUE: Non-breaking (\"Glue\") (GL)"] +#[doc = " @G_UNICODE_BREAK_CONTINGENT: Contingent Break Opportunity (CB)"] +#[doc = " @G_UNICODE_BREAK_SPACE: Space (SP)"] +#[doc = " @G_UNICODE_BREAK_AFTER: Break Opportunity After (BA)"] +#[doc = " @G_UNICODE_BREAK_BEFORE: Break Opportunity Before (BB)"] +#[doc = " @G_UNICODE_BREAK_BEFORE_AND_AFTER: Break Opportunity Before and After (B2)"] +#[doc = " @G_UNICODE_BREAK_HYPHEN: Hyphen (HY)"] +#[doc = " @G_UNICODE_BREAK_NON_STARTER: Nonstarter (NS)"] +#[doc = " @G_UNICODE_BREAK_OPEN_PUNCTUATION: Opening Punctuation (OP)"] +#[doc = " @G_UNICODE_BREAK_CLOSE_PUNCTUATION: Closing Punctuation (CL)"] +#[doc = " @G_UNICODE_BREAK_QUOTATION: Ambiguous Quotation (QU)"] +#[doc = " @G_UNICODE_BREAK_EXCLAMATION: Exclamation/Interrogation (EX)"] +#[doc = " @G_UNICODE_BREAK_IDEOGRAPHIC: Ideographic (ID)"] +#[doc = " @G_UNICODE_BREAK_NUMERIC: Numeric (NU)"] +#[doc = " @G_UNICODE_BREAK_INFIX_SEPARATOR: Infix Separator (Numeric) (IS)"] +#[doc = " @G_UNICODE_BREAK_SYMBOL: Symbols Allowing Break After (SY)"] +#[doc = " @G_UNICODE_BREAK_ALPHABETIC: Ordinary Alphabetic and Symbol Characters (AL)"] +#[doc = " @G_UNICODE_BREAK_PREFIX: Prefix (Numeric) (PR)"] +#[doc = " @G_UNICODE_BREAK_POSTFIX: Postfix (Numeric) (PO)"] +#[doc = " @G_UNICODE_BREAK_COMPLEX_CONTEXT: Complex Content Dependent (South East Asian) (SA)"] +#[doc = " @G_UNICODE_BREAK_AMBIGUOUS: Ambiguous (Alphabetic or Ideographic) (AI)"] +#[doc = " @G_UNICODE_BREAK_UNKNOWN: Unknown (XX)"] +#[doc = " @G_UNICODE_BREAK_NEXT_LINE: Next Line (NL)"] +#[doc = " @G_UNICODE_BREAK_WORD_JOINER: Word Joiner (WJ)"] +#[doc = " @G_UNICODE_BREAK_HANGUL_L_JAMO: Hangul L Jamo (JL)"] +#[doc = " @G_UNICODE_BREAK_HANGUL_V_JAMO: Hangul V Jamo (JV)"] +#[doc = " @G_UNICODE_BREAK_HANGUL_T_JAMO: Hangul T Jamo (JT)"] +#[doc = " @G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: Hangul LV Syllable (H2)"] +#[doc = " @G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: Hangul LVT Syllable (H3)"] +#[doc = " @G_UNICODE_BREAK_CLOSE_PARANTHESIS: Closing Parenthesis (CP). Since 2.28"] +#[doc = " @G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: Conditional Japanese Starter (CJ). Since: 2.32"] +#[doc = " @G_UNICODE_BREAK_HEBREW_LETTER: Hebrew Letter (HL). Since: 2.32"] +#[doc = " @G_UNICODE_BREAK_REGIONAL_INDICATOR: Regional Indicator (RI). Since: 2.36"] +#[doc = " @G_UNICODE_BREAK_EMOJI_BASE: Emoji Base (EB). Since: 2.50"] +#[doc = " @G_UNICODE_BREAK_EMOJI_MODIFIER: Emoji Modifier (EM). Since: 2.50"] +#[doc = " @G_UNICODE_BREAK_ZERO_WIDTH_JOINER: Zero Width Joiner (ZWJ). Since: 2.50"] +#[doc = ""] +#[doc = " These are the possible line break classifications."] +#[doc = ""] +#[doc = " Since new unicode versions may add new types here, applications should be ready"] +#[doc = " to handle unknown values. They may be regarded as %G_UNICODE_BREAK_UNKNOWN."] +#[doc = ""] +#[doc = " See [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/)."] +pub type GUnicodeBreakType = u32; +pub const GUnicodeScript_G_UNICODE_SCRIPT_INVALID_CODE: GUnicodeScript = -1; +pub const GUnicodeScript_G_UNICODE_SCRIPT_COMMON: GUnicodeScript = 0; +pub const GUnicodeScript_G_UNICODE_SCRIPT_INHERITED: GUnicodeScript = 1; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ARABIC: GUnicodeScript = 2; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ARMENIAN: GUnicodeScript = 3; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BENGALI: GUnicodeScript = 4; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BOPOMOFO: GUnicodeScript = 5; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CHEROKEE: GUnicodeScript = 6; +pub const GUnicodeScript_G_UNICODE_SCRIPT_COPTIC: GUnicodeScript = 7; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CYRILLIC: GUnicodeScript = 8; +pub const GUnicodeScript_G_UNICODE_SCRIPT_DESERET: GUnicodeScript = 9; +pub const GUnicodeScript_G_UNICODE_SCRIPT_DEVANAGARI: GUnicodeScript = 10; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ETHIOPIC: GUnicodeScript = 11; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GEORGIAN: GUnicodeScript = 12; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GOTHIC: GUnicodeScript = 13; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GREEK: GUnicodeScript = 14; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GUJARATI: GUnicodeScript = 15; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GURMUKHI: GUnicodeScript = 16; +pub const GUnicodeScript_G_UNICODE_SCRIPT_HAN: GUnicodeScript = 17; +pub const GUnicodeScript_G_UNICODE_SCRIPT_HANGUL: GUnicodeScript = 18; +pub const GUnicodeScript_G_UNICODE_SCRIPT_HEBREW: GUnicodeScript = 19; +pub const GUnicodeScript_G_UNICODE_SCRIPT_HIRAGANA: GUnicodeScript = 20; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KANNADA: GUnicodeScript = 21; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KATAKANA: GUnicodeScript = 22; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KHMER: GUnicodeScript = 23; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LAO: GUnicodeScript = 24; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LATIN: GUnicodeScript = 25; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MALAYALAM: GUnicodeScript = 26; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MONGOLIAN: GUnicodeScript = 27; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MYANMAR: GUnicodeScript = 28; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OGHAM: GUnicodeScript = 29; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_ITALIC: GUnicodeScript = 30; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ORIYA: GUnicodeScript = 31; +pub const GUnicodeScript_G_UNICODE_SCRIPT_RUNIC: GUnicodeScript = 32; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SINHALA: GUnicodeScript = 33; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SYRIAC: GUnicodeScript = 34; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAMIL: GUnicodeScript = 35; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TELUGU: GUnicodeScript = 36; +pub const GUnicodeScript_G_UNICODE_SCRIPT_THAANA: GUnicodeScript = 37; +pub const GUnicodeScript_G_UNICODE_SCRIPT_THAI: GUnicodeScript = 38; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TIBETAN: GUnicodeScript = 39; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL: GUnicodeScript = 40; +pub const GUnicodeScript_G_UNICODE_SCRIPT_YI: GUnicodeScript = 41; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGALOG: GUnicodeScript = 42; +pub const GUnicodeScript_G_UNICODE_SCRIPT_HANUNOO: GUnicodeScript = 43; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BUHID: GUnicodeScript = 44; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGBANWA: GUnicodeScript = 45; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAILLE: GUnicodeScript = 46; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRIOT: GUnicodeScript = 47; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LIMBU: GUnicodeScript = 48; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OSMANYA: GUnicodeScript = 49; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SHAVIAN: GUnicodeScript = 50; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_B: GUnicodeScript = 51; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_LE: GUnicodeScript = 52; +pub const GUnicodeScript_G_UNICODE_SCRIPT_UGARITIC: GUnicodeScript = 53; +pub const GUnicodeScript_G_UNICODE_SCRIPT_NEW_TAI_LUE: GUnicodeScript = 54; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BUGINESE: GUnicodeScript = 55; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GLAGOLITIC: GUnicodeScript = 56; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TIFINAGH: GUnicodeScript = 57; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SYLOTI_NAGRI: GUnicodeScript = 58; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERSIAN: GUnicodeScript = 59; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KHAROSHTHI: GUnicodeScript = 60; +pub const GUnicodeScript_G_UNICODE_SCRIPT_UNKNOWN: GUnicodeScript = 61; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BALINESE: GUnicodeScript = 62; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CUNEIFORM: GUnicodeScript = 63; +pub const GUnicodeScript_G_UNICODE_SCRIPT_PHOENICIAN: GUnicodeScript = 64; +pub const GUnicodeScript_G_UNICODE_SCRIPT_PHAGS_PA: GUnicodeScript = 65; +pub const GUnicodeScript_G_UNICODE_SCRIPT_NKO: GUnicodeScript = 66; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KAYAH_LI: GUnicodeScript = 67; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LEPCHA: GUnicodeScript = 68; +pub const GUnicodeScript_G_UNICODE_SCRIPT_REJANG: GUnicodeScript = 69; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SUNDANESE: GUnicodeScript = 70; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SAURASHTRA: GUnicodeScript = 71; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAM: GUnicodeScript = 72; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OL_CHIKI: GUnicodeScript = 73; +pub const GUnicodeScript_G_UNICODE_SCRIPT_VAI: GUnicodeScript = 74; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CARIAN: GUnicodeScript = 75; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LYCIAN: GUnicodeScript = 76; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LYDIAN: GUnicodeScript = 77; +pub const GUnicodeScript_G_UNICODE_SCRIPT_AVESTAN: GUnicodeScript = 78; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BAMUM: GUnicodeScript = 79; +pub const GUnicodeScript_G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS: GUnicodeScript = 80; +pub const GUnicodeScript_G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC: GUnicodeScript = 81; +pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI: GUnicodeScript = 82; +pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN: GUnicodeScript = 83; +pub const GUnicodeScript_G_UNICODE_SCRIPT_JAVANESE: GUnicodeScript = 84; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KAITHI: GUnicodeScript = 85; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LISU: GUnicodeScript = 86; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MEETEI_MAYEK: GUnicodeScript = 87; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN: GUnicodeScript = 88; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_TURKIC: GUnicodeScript = 89; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SAMARITAN: GUnicodeScript = 90; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_THAM: GUnicodeScript = 91; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_VIET: GUnicodeScript = 92; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BATAK: GUnicodeScript = 93; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAHMI: GUnicodeScript = 94; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MANDAIC: GUnicodeScript = 95; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAKMA: GUnicodeScript = 96; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_CURSIVE: GUnicodeScript = 97; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: GUnicodeScript = 98; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MIAO: GUnicodeScript = 99; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SHARADA: GUnicodeScript = 100; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SORA_SOMPENG: GUnicodeScript = 101; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TAKRI: GUnicodeScript = 102; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BASSA_VAH: GUnicodeScript = 103; +pub const GUnicodeScript_G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN: GUnicodeScript = 104; +pub const GUnicodeScript_G_UNICODE_SCRIPT_DUPLOYAN: GUnicodeScript = 105; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ELBASAN: GUnicodeScript = 106; +pub const GUnicodeScript_G_UNICODE_SCRIPT_GRANTHA: GUnicodeScript = 107; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KHOJKI: GUnicodeScript = 108; +pub const GUnicodeScript_G_UNICODE_SCRIPT_KHUDAWADI: GUnicodeScript = 109; +pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_A: GUnicodeScript = 110; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MAHAJANI: GUnicodeScript = 111; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MANICHAEAN: GUnicodeScript = 112; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MENDE_KIKAKUI: GUnicodeScript = 113; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MODI: GUnicodeScript = 114; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MRO: GUnicodeScript = 115; +pub const GUnicodeScript_G_UNICODE_SCRIPT_NABATAEAN: GUnicodeScript = 116; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN: GUnicodeScript = 117; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERMIC: GUnicodeScript = 118; +pub const GUnicodeScript_G_UNICODE_SCRIPT_PAHAWH_HMONG: GUnicodeScript = 119; +pub const GUnicodeScript_G_UNICODE_SCRIPT_PALMYRENE: GUnicodeScript = 120; +pub const GUnicodeScript_G_UNICODE_SCRIPT_PAU_CIN_HAU: GUnicodeScript = 121; +pub const GUnicodeScript_G_UNICODE_SCRIPT_PSALTER_PAHLAVI: GUnicodeScript = 122; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SIDDHAM: GUnicodeScript = 123; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TIRHUTA: GUnicodeScript = 124; +pub const GUnicodeScript_G_UNICODE_SCRIPT_WARANG_CITI: GUnicodeScript = 125; +pub const GUnicodeScript_G_UNICODE_SCRIPT_AHOM: GUnicodeScript = 126; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: GUnicodeScript = 127; +pub const GUnicodeScript_G_UNICODE_SCRIPT_HATRAN: GUnicodeScript = 128; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MULTANI: GUnicodeScript = 129; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_HUNGARIAN: GUnicodeScript = 130; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SIGNWRITING: GUnicodeScript = 131; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ADLAM: GUnicodeScript = 132; +pub const GUnicodeScript_G_UNICODE_SCRIPT_BHAIKSUKI: GUnicodeScript = 133; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MARCHEN: GUnicodeScript = 134; +pub const GUnicodeScript_G_UNICODE_SCRIPT_NEWA: GUnicodeScript = 135; +pub const GUnicodeScript_G_UNICODE_SCRIPT_OSAGE: GUnicodeScript = 136; +pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGUT: GUnicodeScript = 137; +pub const GUnicodeScript_G_UNICODE_SCRIPT_MASARAM_GONDI: GUnicodeScript = 138; +pub const GUnicodeScript_G_UNICODE_SCRIPT_NUSHU: GUnicodeScript = 139; +pub const GUnicodeScript_G_UNICODE_SCRIPT_SOYOMBO: GUnicodeScript = 140; +pub const GUnicodeScript_G_UNICODE_SCRIPT_ZANABAZAR_SQUARE: GUnicodeScript = 141; +#[doc = " GUnicodeScript:"] +#[doc = " @G_UNICODE_SCRIPT_INVALID_CODE:"] +#[doc = " a value never returned from g_unichar_get_script()"] +#[doc = " @G_UNICODE_SCRIPT_COMMON: a character used by multiple different scripts"] +#[doc = " @G_UNICODE_SCRIPT_INHERITED: a mark glyph that takes its script from the"] +#[doc = " base glyph to which it is attached"] +#[doc = " @G_UNICODE_SCRIPT_ARABIC: Arabic"] +#[doc = " @G_UNICODE_SCRIPT_ARMENIAN: Armenian"] +#[doc = " @G_UNICODE_SCRIPT_BENGALI: Bengali"] +#[doc = " @G_UNICODE_SCRIPT_BOPOMOFO: Bopomofo"] +#[doc = " @G_UNICODE_SCRIPT_CHEROKEE: Cherokee"] +#[doc = " @G_UNICODE_SCRIPT_COPTIC: Coptic"] +#[doc = " @G_UNICODE_SCRIPT_CYRILLIC: Cyrillic"] +#[doc = " @G_UNICODE_SCRIPT_DESERET: Deseret"] +#[doc = " @G_UNICODE_SCRIPT_DEVANAGARI: Devanagari"] +#[doc = " @G_UNICODE_SCRIPT_ETHIOPIC: Ethiopic"] +#[doc = " @G_UNICODE_SCRIPT_GEORGIAN: Georgian"] +#[doc = " @G_UNICODE_SCRIPT_GOTHIC: Gothic"] +#[doc = " @G_UNICODE_SCRIPT_GREEK: Greek"] +#[doc = " @G_UNICODE_SCRIPT_GUJARATI: Gujarati"] +#[doc = " @G_UNICODE_SCRIPT_GURMUKHI: Gurmukhi"] +#[doc = " @G_UNICODE_SCRIPT_HAN: Han"] +#[doc = " @G_UNICODE_SCRIPT_HANGUL: Hangul"] +#[doc = " @G_UNICODE_SCRIPT_HEBREW: Hebrew"] +#[doc = " @G_UNICODE_SCRIPT_HIRAGANA: Hiragana"] +#[doc = " @G_UNICODE_SCRIPT_KANNADA: Kannada"] +#[doc = " @G_UNICODE_SCRIPT_KATAKANA: Katakana"] +#[doc = " @G_UNICODE_SCRIPT_KHMER: Khmer"] +#[doc = " @G_UNICODE_SCRIPT_LAO: Lao"] +#[doc = " @G_UNICODE_SCRIPT_LATIN: Latin"] +#[doc = " @G_UNICODE_SCRIPT_MALAYALAM: Malayalam"] +#[doc = " @G_UNICODE_SCRIPT_MONGOLIAN: Mongolian"] +#[doc = " @G_UNICODE_SCRIPT_MYANMAR: Myanmar"] +#[doc = " @G_UNICODE_SCRIPT_OGHAM: Ogham"] +#[doc = " @G_UNICODE_SCRIPT_OLD_ITALIC: Old Italic"] +#[doc = " @G_UNICODE_SCRIPT_ORIYA: Oriya"] +#[doc = " @G_UNICODE_SCRIPT_RUNIC: Runic"] +#[doc = " @G_UNICODE_SCRIPT_SINHALA: Sinhala"] +#[doc = " @G_UNICODE_SCRIPT_SYRIAC: Syriac"] +#[doc = " @G_UNICODE_SCRIPT_TAMIL: Tamil"] +#[doc = " @G_UNICODE_SCRIPT_TELUGU: Telugu"] +#[doc = " @G_UNICODE_SCRIPT_THAANA: Thaana"] +#[doc = " @G_UNICODE_SCRIPT_THAI: Thai"] +#[doc = " @G_UNICODE_SCRIPT_TIBETAN: Tibetan"] +#[doc = " @G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL:"] +#[doc = " Canadian Aboriginal"] +#[doc = " @G_UNICODE_SCRIPT_YI: Yi"] +#[doc = " @G_UNICODE_SCRIPT_TAGALOG: Tagalog"] +#[doc = " @G_UNICODE_SCRIPT_HANUNOO: Hanunoo"] +#[doc = " @G_UNICODE_SCRIPT_BUHID: Buhid"] +#[doc = " @G_UNICODE_SCRIPT_TAGBANWA: Tagbanwa"] +#[doc = " @G_UNICODE_SCRIPT_BRAILLE: Braille"] +#[doc = " @G_UNICODE_SCRIPT_CYPRIOT: Cypriot"] +#[doc = " @G_UNICODE_SCRIPT_LIMBU: Limbu"] +#[doc = " @G_UNICODE_SCRIPT_OSMANYA: Osmanya"] +#[doc = " @G_UNICODE_SCRIPT_SHAVIAN: Shavian"] +#[doc = " @G_UNICODE_SCRIPT_LINEAR_B: Linear B"] +#[doc = " @G_UNICODE_SCRIPT_TAI_LE: Tai Le"] +#[doc = " @G_UNICODE_SCRIPT_UGARITIC: Ugaritic"] +#[doc = " @G_UNICODE_SCRIPT_NEW_TAI_LUE:"] +#[doc = " New Tai Lue"] +#[doc = " @G_UNICODE_SCRIPT_BUGINESE: Buginese"] +#[doc = " @G_UNICODE_SCRIPT_GLAGOLITIC: Glagolitic"] +#[doc = " @G_UNICODE_SCRIPT_TIFINAGH: Tifinagh"] +#[doc = " @G_UNICODE_SCRIPT_SYLOTI_NAGRI:"] +#[doc = " Syloti Nagri"] +#[doc = " @G_UNICODE_SCRIPT_OLD_PERSIAN:"] +#[doc = " Old Persian"] +#[doc = " @G_UNICODE_SCRIPT_KHAROSHTHI: Kharoshthi"] +#[doc = " @G_UNICODE_SCRIPT_UNKNOWN: an unassigned code point"] +#[doc = " @G_UNICODE_SCRIPT_BALINESE: Balinese"] +#[doc = " @G_UNICODE_SCRIPT_CUNEIFORM: Cuneiform"] +#[doc = " @G_UNICODE_SCRIPT_PHOENICIAN: Phoenician"] +#[doc = " @G_UNICODE_SCRIPT_PHAGS_PA: Phags-pa"] +#[doc = " @G_UNICODE_SCRIPT_NKO: N'Ko"] +#[doc = " @G_UNICODE_SCRIPT_KAYAH_LI: Kayah Li. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_LEPCHA: Lepcha. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_REJANG: Rejang. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_SUNDANESE: Sundanese. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_SAURASHTRA: Saurashtra. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_CHAM: Cham. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_OL_CHIKI: Ol Chiki. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_VAI: Vai. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_CARIAN: Carian. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_LYCIAN: Lycian. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_LYDIAN: Lydian. Since 2.16.3"] +#[doc = " @G_UNICODE_SCRIPT_AVESTAN: Avestan. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_BAMUM: Bamum. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS:"] +#[doc = " Egyptian Hieroglpyhs. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC:"] +#[doc = " Imperial Aramaic. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI:"] +#[doc = " Inscriptional Pahlavi. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN:"] +#[doc = " Inscriptional Parthian. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_JAVANESE: Javanese. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_KAITHI: Kaithi. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_LISU: Lisu. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_MEETEI_MAYEK:"] +#[doc = " Meetei Mayek. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN:"] +#[doc = " Old South Arabian. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_OLD_TURKIC: Old Turkic. Since 2.28"] +#[doc = " @G_UNICODE_SCRIPT_SAMARITAN: Samaritan. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_TAI_THAM: Tai Tham. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_TAI_VIET: Tai Viet. Since 2.26"] +#[doc = " @G_UNICODE_SCRIPT_BATAK: Batak. Since 2.28"] +#[doc = " @G_UNICODE_SCRIPT_BRAHMI: Brahmi. Since 2.28"] +#[doc = " @G_UNICODE_SCRIPT_MANDAIC: Mandaic. Since 2.28"] +#[doc = " @G_UNICODE_SCRIPT_CHAKMA: Chakma. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_MEROITIC_CURSIVE: Meroitic Cursive. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: Meroitic Hieroglyphs. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_MIAO: Miao. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_SHARADA: Sharada. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_SORA_SOMPENG: Sora Sompeng. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_TAKRI: Takri. Since: 2.32"] +#[doc = " @G_UNICODE_SCRIPT_BASSA_VAH: Bassa. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN: Caucasian Albanian. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_DUPLOYAN: Duployan. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_ELBASAN: Elbasan. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_GRANTHA: Grantha. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_KHOJKI: Kjohki. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_KHUDAWADI: Khudawadi, Sindhi. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_LINEAR_A: Linear A. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_MAHAJANI: Mahajani. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_MANICHAEAN: Manichaean. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_MENDE_KIKAKUI: Mende Kikakui. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_MODI: Modi. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_MRO: Mro. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_NABATAEAN: Nabataean. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN: Old North Arabian. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_OLD_PERMIC: Old Permic. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_PAHAWH_HMONG: Pahawh Hmong. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_PALMYRENE: Palmyrene. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_PAU_CIN_HAU: Pau Cin Hau. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_PSALTER_PAHLAVI: Psalter Pahlavi. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_SIDDHAM: Siddham. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_TIRHUTA: Tirhuta. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_WARANG_CITI: Warang Citi. Since: 2.42"] +#[doc = " @G_UNICODE_SCRIPT_AHOM: Ahom. Since: 2.48"] +#[doc = " @G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: Anatolian Hieroglyphs. Since: 2.48"] +#[doc = " @G_UNICODE_SCRIPT_HATRAN: Hatran. Since: 2.48"] +#[doc = " @G_UNICODE_SCRIPT_MULTANI: Multani. Since: 2.48"] +#[doc = " @G_UNICODE_SCRIPT_OLD_HUNGARIAN: Old Hungarian. Since: 2.48"] +#[doc = " @G_UNICODE_SCRIPT_SIGNWRITING: Signwriting. Since: 2.48"] +#[doc = " @G_UNICODE_SCRIPT_ADLAM: Adlam. Since: 2.50"] +#[doc = " @G_UNICODE_SCRIPT_BHAIKSUKI: Bhaiksuki. Since: 2.50"] +#[doc = " @G_UNICODE_SCRIPT_MARCHEN: Marchen. Since: 2.50"] +#[doc = " @G_UNICODE_SCRIPT_NEWA: Newa. Since: 2.50"] +#[doc = " @G_UNICODE_SCRIPT_OSAGE: Osage. Since: 2.50"] +#[doc = " @G_UNICODE_SCRIPT_TANGUT: Tangut. Since: 2.50"] +#[doc = " @G_UNICODE_SCRIPT_MASARAM_GONDI: Masaram Gondi. Since: 2.54"] +#[doc = " @G_UNICODE_SCRIPT_NUSHU: Nushu. Since: 2.54"] +#[doc = " @G_UNICODE_SCRIPT_SOYOMBO: Soyombo. Since: 2.54"] +#[doc = " @G_UNICODE_SCRIPT_ZANABAZAR_SQUARE: Zanabazar Square. Since: 2.54"] +#[doc = ""] +#[doc = " The #GUnicodeScript enumeration identifies different writing"] +#[doc = " systems. The values correspond to the names as defined in the"] +#[doc = " Unicode standard. The enumeration has been added in GLib 2.14,"] +#[doc = " and is interchangeable with #PangoScript."] +#[doc = ""] +#[doc = " Note that new types may be added in the future. Applications"] +#[doc = " should be ready to handle unknown values."] +#[doc = " See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr24/)."] +pub type GUnicodeScript = i32; +extern "C" { + pub fn g_unicode_script_to_iso15924(script: GUnicodeScript) -> guint32; +} +extern "C" { + pub fn g_unicode_script_from_iso15924(iso15924: guint32) -> GUnicodeScript; +} +extern "C" { + pub fn g_unichar_isalnum(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isalpha(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_iscntrl(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isdigit(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isgraph(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_islower(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isprint(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_ispunct(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isspace(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isupper(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isxdigit(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_istitle(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_isdefined(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_iswide(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_iswide_cjk(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_iszerowidth(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_ismark(c: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_toupper(c: gunichar) -> gunichar; +} +extern "C" { + pub fn g_unichar_tolower(c: gunichar) -> gunichar; +} +extern "C" { + pub fn g_unichar_totitle(c: gunichar) -> gunichar; +} +extern "C" { + pub fn g_unichar_digit_value(c: gunichar) -> gint; +} +extern "C" { + pub fn g_unichar_xdigit_value(c: gunichar) -> gint; +} +extern "C" { + pub fn g_unichar_type(c: gunichar) -> GUnicodeType; +} +extern "C" { + pub fn g_unichar_break_type(c: gunichar) -> GUnicodeBreakType; +} +extern "C" { + pub fn g_unichar_combining_class(uc: gunichar) -> gint; +} +extern "C" { + pub fn g_unichar_get_mirror_char(ch: gunichar, mirrored_ch: *mut gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_get_script(ch: gunichar) -> GUnicodeScript; +} +extern "C" { + pub fn g_unichar_validate(ch: gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_compose(a: gunichar, b: gunichar, ch: *mut gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_decompose(ch: gunichar, a: *mut gunichar, b: *mut gunichar) -> gboolean; +} +extern "C" { + pub fn g_unichar_fully_decompose( + ch: gunichar, + compat: gboolean, + result: *mut gunichar, + result_len: gsize, + ) -> gsize; +} +extern "C" { + pub fn g_unicode_canonical_ordering(string: *mut gunichar, len: gsize); +} +extern "C" { + pub fn g_unicode_canonical_decomposition(ch: gunichar, result_len: *mut gsize) + -> *mut gunichar; +} +extern "C" { + pub static g_utf8_skip: *const gchar; +} +extern "C" { + pub fn g_utf8_get_char(p: *const gchar) -> gunichar; +} +extern "C" { + pub fn g_utf8_get_char_validated(p: *const gchar, max_len: gssize) -> gunichar; +} +extern "C" { + pub fn g_utf8_offset_to_pointer(str: *const gchar, offset: glong) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_pointer_to_offset(str: *const gchar, pos: *const gchar) -> glong; +} +extern "C" { + pub fn g_utf8_prev_char(p: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_find_next_char(p: *const gchar, end: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_find_prev_char(str: *const gchar, p: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_strlen(p: *const gchar, max: gssize) -> glong; +} +extern "C" { + pub fn g_utf8_substring(str: *const gchar, start_pos: glong, end_pos: glong) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_strncpy(dest: *mut gchar, src: *const gchar, n: gsize) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_strchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_strrchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_strreverse(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_to_utf16( + str: *const gchar, + len: glong, + items_read: *mut glong, + items_written: *mut glong, + error: *mut *mut GError, + ) -> *mut gunichar2; +} +extern "C" { + pub fn g_utf8_to_ucs4( + str: *const gchar, + len: glong, + items_read: *mut glong, + items_written: *mut glong, + error: *mut *mut GError, + ) -> *mut gunichar; +} +extern "C" { + pub fn g_utf8_to_ucs4_fast( + str: *const gchar, + len: glong, + items_written: *mut glong, + ) -> *mut gunichar; +} +extern "C" { + pub fn g_utf16_to_ucs4( + str: *const gunichar2, + len: glong, + items_read: *mut glong, + items_written: *mut glong, + error: *mut *mut GError, + ) -> *mut gunichar; +} +extern "C" { + pub fn g_utf16_to_utf8( + str: *const gunichar2, + len: glong, + items_read: *mut glong, + items_written: *mut glong, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_ucs4_to_utf16( + str: *const gunichar, + len: glong, + items_read: *mut glong, + items_written: *mut glong, + error: *mut *mut GError, + ) -> *mut gunichar2; +} +extern "C" { + pub fn g_ucs4_to_utf8( + str: *const gunichar, + len: glong, + items_read: *mut glong, + items_written: *mut glong, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_unichar_to_utf8(c: gunichar, outbuf: *mut gchar) -> gint; +} +extern "C" { + pub fn g_utf8_validate(str: *const gchar, max_len: gssize, end: *mut *const gchar) -> gboolean; +} +extern "C" { + pub fn g_utf8_strup(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_strdown(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_casefold(str: *const gchar, len: gssize) -> *mut gchar; +} +pub const GNormalizeMode_G_NORMALIZE_DEFAULT: GNormalizeMode = 0; +pub const GNormalizeMode_G_NORMALIZE_NFD: GNormalizeMode = 0; +pub const GNormalizeMode_G_NORMALIZE_DEFAULT_COMPOSE: GNormalizeMode = 1; +pub const GNormalizeMode_G_NORMALIZE_NFC: GNormalizeMode = 1; +pub const GNormalizeMode_G_NORMALIZE_ALL: GNormalizeMode = 2; +pub const GNormalizeMode_G_NORMALIZE_NFKD: GNormalizeMode = 2; +pub const GNormalizeMode_G_NORMALIZE_ALL_COMPOSE: GNormalizeMode = 3; +pub const GNormalizeMode_G_NORMALIZE_NFKC: GNormalizeMode = 3; +#[doc = " GNormalizeMode:"] +#[doc = " @G_NORMALIZE_DEFAULT: standardize differences that do not affect the"] +#[doc = " text content, such as the above-mentioned accent representation"] +#[doc = " @G_NORMALIZE_NFD: another name for %G_NORMALIZE_DEFAULT"] +#[doc = " @G_NORMALIZE_DEFAULT_COMPOSE: like %G_NORMALIZE_DEFAULT, but with"] +#[doc = " composed forms rather than a maximally decomposed form"] +#[doc = " @G_NORMALIZE_NFC: another name for %G_NORMALIZE_DEFAULT_COMPOSE"] +#[doc = " @G_NORMALIZE_ALL: beyond %G_NORMALIZE_DEFAULT also standardize the"] +#[doc = " \"compatibility\" characters in Unicode, such as SUPERSCRIPT THREE"] +#[doc = " to the standard forms (in this case DIGIT THREE). Formatting"] +#[doc = " information may be lost but for most text operations such"] +#[doc = " characters should be considered the same"] +#[doc = " @G_NORMALIZE_NFKD: another name for %G_NORMALIZE_ALL"] +#[doc = " @G_NORMALIZE_ALL_COMPOSE: like %G_NORMALIZE_ALL, but with composed"] +#[doc = " forms rather than a maximally decomposed form"] +#[doc = " @G_NORMALIZE_NFKC: another name for %G_NORMALIZE_ALL_COMPOSE"] +#[doc = ""] +#[doc = " Defines how a Unicode string is transformed in a canonical"] +#[doc = " form, standardizing such issues as whether a character with"] +#[doc = " an accent is represented as a base character and combining"] +#[doc = " accent or as a single precomposed character. Unicode strings"] +#[doc = " should generally be normalized before comparing them."] +pub type GNormalizeMode = u32; +extern "C" { + pub fn g_utf8_normalize(str: *const gchar, len: gssize, mode: GNormalizeMode) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_collate(str1: *const gchar, str2: *const gchar) -> gint; +} +extern "C" { + pub fn g_utf8_collate_key(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_collate_key_for_filename(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_utf8_make_valid(str: *const gchar, len: gssize) -> *mut gchar; +} +pub type GString = _GString; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GString { + pub str: *mut gchar, + pub len: gsize, + pub allocated_len: gsize, +} +#[test] +fn bindgen_test_layout__GString() { + assert_eq!( + ::std::mem::size_of::<_GString>(), + 24usize, + concat!("Size of: ", stringify!(_GString)) + ); + assert_eq!( + ::std::mem::align_of::<_GString>(), + 8usize, + concat!("Alignment of ", stringify!(_GString)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GString>())).str as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GString), + "::", + stringify!(str) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GString>())).len as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GString), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GString>())).allocated_len as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GString), + "::", + stringify!(allocated_len) + ) + ); +} +extern "C" { + pub fn g_string_new(init: *const gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_new_len(init: *const gchar, len: gssize) -> *mut GString; +} +extern "C" { + pub fn g_string_sized_new(dfl_size: gsize) -> *mut GString; +} +extern "C" { + pub fn g_string_free(string: *mut GString, free_segment: gboolean) -> *mut gchar; +} +extern "C" { + pub fn g_string_free_to_bytes(string: *mut GString) -> *mut GBytes; +} +extern "C" { + pub fn g_string_equal(v: *const GString, v2: *const GString) -> gboolean; +} +extern "C" { + pub fn g_string_hash(str: *const GString) -> guint; +} +extern "C" { + pub fn g_string_assign(string: *mut GString, rval: *const gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_truncate(string: *mut GString, len: gsize) -> *mut GString; +} +extern "C" { + pub fn g_string_set_size(string: *mut GString, len: gsize) -> *mut GString; +} +extern "C" { + pub fn g_string_insert_len( + string: *mut GString, + pos: gssize, + val: *const gchar, + len: gssize, + ) -> *mut GString; +} +extern "C" { + pub fn g_string_append(string: *mut GString, val: *const gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_append_len( + string: *mut GString, + val: *const gchar, + len: gssize, + ) -> *mut GString; +} +extern "C" { + pub fn g_string_append_c(string: *mut GString, c: gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_append_unichar(string: *mut GString, wc: gunichar) -> *mut GString; +} +extern "C" { + pub fn g_string_prepend(string: *mut GString, val: *const gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_prepend_c(string: *mut GString, c: gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_prepend_unichar(string: *mut GString, wc: gunichar) -> *mut GString; +} +extern "C" { + pub fn g_string_prepend_len( + string: *mut GString, + val: *const gchar, + len: gssize, + ) -> *mut GString; +} +extern "C" { + pub fn g_string_insert(string: *mut GString, pos: gssize, val: *const gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_insert_c(string: *mut GString, pos: gssize, c: gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_insert_unichar(string: *mut GString, pos: gssize, wc: gunichar) + -> *mut GString; +} +extern "C" { + pub fn g_string_overwrite(string: *mut GString, pos: gsize, val: *const gchar) -> *mut GString; +} +extern "C" { + pub fn g_string_overwrite_len( + string: *mut GString, + pos: gsize, + val: *const gchar, + len: gssize, + ) -> *mut GString; +} +extern "C" { + pub fn g_string_erase(string: *mut GString, pos: gssize, len: gssize) -> *mut GString; +} +extern "C" { + pub fn g_string_ascii_down(string: *mut GString) -> *mut GString; +} +extern "C" { + pub fn g_string_ascii_up(string: *mut GString) -> *mut GString; +} +extern "C" { + pub fn g_string_vprintf(string: *mut GString, format: *const gchar, args: *mut __va_list_tag); +} +extern "C" { + pub fn g_string_printf(string: *mut GString, format: *const gchar, ...); +} +extern "C" { + pub fn g_string_append_vprintf( + string: *mut GString, + format: *const gchar, + args: *mut __va_list_tag, + ); +} +extern "C" { + pub fn g_string_append_printf(string: *mut GString, format: *const gchar, ...); +} +extern "C" { + pub fn g_string_append_uri_escaped( + string: *mut GString, + unescaped: *const gchar, + reserved_chars_allowed: *const gchar, + allow_utf8: gboolean, + ) -> *mut GString; +} +extern "C" { + pub fn g_string_down(string: *mut GString) -> *mut GString; +} +extern "C" { + pub fn g_string_up(string: *mut GString) -> *mut GString; +} +pub type GIOChannel = _GIOChannel; +pub type GIOFuncs = _GIOFuncs; +pub const GIOError_G_IO_ERROR_NONE: GIOError = 0; +pub const GIOError_G_IO_ERROR_AGAIN: GIOError = 1; +pub const GIOError_G_IO_ERROR_INVAL: GIOError = 2; +pub const GIOError_G_IO_ERROR_UNKNOWN: GIOError = 3; +pub type GIOError = u32; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_FBIG: GIOChannelError = 0; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_INVAL: GIOChannelError = 1; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_IO: GIOChannelError = 2; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_ISDIR: GIOChannelError = 3; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_NOSPC: GIOChannelError = 4; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_NXIO: GIOChannelError = 5; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_OVERFLOW: GIOChannelError = 6; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_PIPE: GIOChannelError = 7; +pub const GIOChannelError_G_IO_CHANNEL_ERROR_FAILED: GIOChannelError = 8; +pub type GIOChannelError = u32; +pub const GIOStatus_G_IO_STATUS_ERROR: GIOStatus = 0; +pub const GIOStatus_G_IO_STATUS_NORMAL: GIOStatus = 1; +pub const GIOStatus_G_IO_STATUS_EOF: GIOStatus = 2; +pub const GIOStatus_G_IO_STATUS_AGAIN: GIOStatus = 3; +pub type GIOStatus = u32; +pub const GSeekType_G_SEEK_CUR: GSeekType = 0; +pub const GSeekType_G_SEEK_SET: GSeekType = 1; +pub const GSeekType_G_SEEK_END: GSeekType = 2; +pub type GSeekType = u32; +pub const GIOFlags_G_IO_FLAG_APPEND: GIOFlags = 1; +pub const GIOFlags_G_IO_FLAG_NONBLOCK: GIOFlags = 2; +pub const GIOFlags_G_IO_FLAG_IS_READABLE: GIOFlags = 4; +pub const GIOFlags_G_IO_FLAG_IS_WRITABLE: GIOFlags = 8; +pub const GIOFlags_G_IO_FLAG_IS_WRITEABLE: GIOFlags = 8; +pub const GIOFlags_G_IO_FLAG_IS_SEEKABLE: GIOFlags = 16; +pub const GIOFlags_G_IO_FLAG_MASK: GIOFlags = 31; +pub const GIOFlags_G_IO_FLAG_GET_MASK: GIOFlags = 31; +pub const GIOFlags_G_IO_FLAG_SET_MASK: GIOFlags = 3; +pub type GIOFlags = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GIOChannel { + pub ref_count: gint, + pub funcs: *mut GIOFuncs, + pub encoding: *mut gchar, + pub read_cd: GIConv, + pub write_cd: GIConv, + pub line_term: *mut gchar, + pub line_term_len: guint, + pub buf_size: gsize, + pub read_buf: *mut GString, + pub encoded_read_buf: *mut GString, + pub write_buf: *mut GString, + pub partial_write_buf: [gchar; 6usize], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, + pub reserved1: gpointer, + pub reserved2: gpointer, +} +#[test] +fn bindgen_test_layout__GIOChannel() { + assert_eq!( + ::std::mem::size_of::<_GIOChannel>(), + 112usize, + concat!("Size of: ", stringify!(_GIOChannel)) + ); + assert_eq!( + ::std::mem::align_of::<_GIOChannel>(), + 8usize, + concat!("Alignment of ", stringify!(_GIOChannel)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).ref_count as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(ref_count) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).funcs as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(funcs) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).encoding as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(encoding) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).read_cd as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(read_cd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).write_cd as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(write_cd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).line_term as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(line_term) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).line_term_len as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(line_term_len) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).buf_size as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(buf_size) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).read_buf as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(read_buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).encoded_read_buf as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(encoded_read_buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).write_buf as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(write_buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).partial_write_buf as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(partial_write_buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).reserved1 as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(reserved1) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOChannel>())).reserved2 as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_GIOChannel), + "::", + stringify!(reserved2) + ) + ); +} +impl _GIOChannel { + #[inline] + pub fn use_buffer(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_use_buffer(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn do_encode(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_do_encode(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn close_on_unref(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_close_on_unref(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn is_readable(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_readable(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn is_writeable(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_writeable(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn is_seekable(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_is_seekable(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + use_buffer: guint, + do_encode: guint, + close_on_unref: guint, + is_readable: guint, + is_writeable: guint, + is_seekable: guint, + ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let use_buffer: u32 = unsafe { ::std::mem::transmute(use_buffer) }; + use_buffer as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let do_encode: u32 = unsafe { ::std::mem::transmute(do_encode) }; + do_encode as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let close_on_unref: u32 = unsafe { ::std::mem::transmute(close_on_unref) }; + close_on_unref as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let is_readable: u32 = unsafe { ::std::mem::transmute(is_readable) }; + is_readable as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let is_writeable: u32 = unsafe { ::std::mem::transmute(is_writeable) }; + is_writeable as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let is_seekable: u32 = unsafe { ::std::mem::transmute(is_seekable) }; + is_seekable as u64 + }); + __bindgen_bitfield_unit + } +} +pub type GIOFunc = ::std::option::Option< + unsafe extern "C" fn( + source: *mut GIOChannel, + condition: GIOCondition, + data: gpointer, + ) -> gboolean, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GIOFuncs { + pub io_read: ::std::option::Option< + unsafe extern "C" fn( + channel: *mut GIOChannel, + buf: *mut gchar, + count: gsize, + bytes_read: *mut gsize, + err: *mut *mut GError, + ) -> GIOStatus, + >, + pub io_write: ::std::option::Option< + unsafe extern "C" fn( + channel: *mut GIOChannel, + buf: *const gchar, + count: gsize, + bytes_written: *mut gsize, + err: *mut *mut GError, + ) -> GIOStatus, + >, + pub io_seek: ::std::option::Option< + unsafe extern "C" fn( + channel: *mut GIOChannel, + offset: gint64, + type_: GSeekType, + err: *mut *mut GError, + ) -> GIOStatus, + >, + pub io_close: ::std::option::Option< + unsafe extern "C" fn(channel: *mut GIOChannel, err: *mut *mut GError) -> GIOStatus, + >, + pub io_create_watch: ::std::option::Option< + unsafe extern "C" fn(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource, + >, + pub io_free: ::std::option::Option, + pub io_set_flags: ::std::option::Option< + unsafe extern "C" fn( + channel: *mut GIOChannel, + flags: GIOFlags, + err: *mut *mut GError, + ) -> GIOStatus, + >, + pub io_get_flags: + ::std::option::Option GIOFlags>, +} +#[test] +fn bindgen_test_layout__GIOFuncs() { + assert_eq!( + ::std::mem::size_of::<_GIOFuncs>(), + 64usize, + concat!("Size of: ", stringify!(_GIOFuncs)) + ); + assert_eq!( + ::std::mem::align_of::<_GIOFuncs>(), + 8usize, + concat!("Alignment of ", stringify!(_GIOFuncs)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_read as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_read) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_write as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_write) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_seek as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_seek) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_close as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_close) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_create_watch as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_create_watch) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_free as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_free) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_set_flags as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_set_flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GIOFuncs>())).io_get_flags as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GIOFuncs), + "::", + stringify!(io_get_flags) + ) + ); +} +extern "C" { + pub fn g_io_channel_init(channel: *mut GIOChannel); +} +extern "C" { + pub fn g_io_channel_ref(channel: *mut GIOChannel) -> *mut GIOChannel; +} +extern "C" { + pub fn g_io_channel_unref(channel: *mut GIOChannel); +} +extern "C" { + pub fn g_io_channel_read( + channel: *mut GIOChannel, + buf: *mut gchar, + count: gsize, + bytes_read: *mut gsize, + ) -> GIOError; +} +extern "C" { + pub fn g_io_channel_write( + channel: *mut GIOChannel, + buf: *const gchar, + count: gsize, + bytes_written: *mut gsize, + ) -> GIOError; +} +extern "C" { + pub fn g_io_channel_seek( + channel: *mut GIOChannel, + offset: gint64, + type_: GSeekType, + ) -> GIOError; +} +extern "C" { + pub fn g_io_channel_close(channel: *mut GIOChannel); +} +extern "C" { + pub fn g_io_channel_shutdown( + channel: *mut GIOChannel, + flush: gboolean, + err: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_add_watch_full( + channel: *mut GIOChannel, + priority: gint, + condition: GIOCondition, + func: GIOFunc, + user_data: gpointer, + notify: GDestroyNotify, + ) -> guint; +} +extern "C" { + pub fn g_io_create_watch(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource; +} +extern "C" { + pub fn g_io_add_watch( + channel: *mut GIOChannel, + condition: GIOCondition, + func: GIOFunc, + user_data: gpointer, + ) -> guint; +} +extern "C" { + pub fn g_io_channel_set_buffer_size(channel: *mut GIOChannel, size: gsize); +} +extern "C" { + pub fn g_io_channel_get_buffer_size(channel: *mut GIOChannel) -> gsize; +} +extern "C" { + pub fn g_io_channel_get_buffer_condition(channel: *mut GIOChannel) -> GIOCondition; +} +extern "C" { + pub fn g_io_channel_set_flags( + channel: *mut GIOChannel, + flags: GIOFlags, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_get_flags(channel: *mut GIOChannel) -> GIOFlags; +} +extern "C" { + pub fn g_io_channel_set_line_term( + channel: *mut GIOChannel, + line_term: *const gchar, + length: gint, + ); +} +extern "C" { + pub fn g_io_channel_get_line_term(channel: *mut GIOChannel, length: *mut gint) -> *const gchar; +} +extern "C" { + pub fn g_io_channel_set_buffered(channel: *mut GIOChannel, buffered: gboolean); +} +extern "C" { + pub fn g_io_channel_get_buffered(channel: *mut GIOChannel) -> gboolean; +} +extern "C" { + pub fn g_io_channel_set_encoding( + channel: *mut GIOChannel, + encoding: *const gchar, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_get_encoding(channel: *mut GIOChannel) -> *const gchar; +} +extern "C" { + pub fn g_io_channel_set_close_on_unref(channel: *mut GIOChannel, do_close: gboolean); +} +extern "C" { + pub fn g_io_channel_get_close_on_unref(channel: *mut GIOChannel) -> gboolean; +} +extern "C" { + pub fn g_io_channel_flush(channel: *mut GIOChannel, error: *mut *mut GError) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_read_line( + channel: *mut GIOChannel, + str_return: *mut *mut gchar, + length: *mut gsize, + terminator_pos: *mut gsize, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_read_line_string( + channel: *mut GIOChannel, + buffer: *mut GString, + terminator_pos: *mut gsize, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_read_to_end( + channel: *mut GIOChannel, + str_return: *mut *mut gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_read_chars( + channel: *mut GIOChannel, + buf: *mut gchar, + count: gsize, + bytes_read: *mut gsize, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_read_unichar( + channel: *mut GIOChannel, + thechar: *mut gunichar, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_write_chars( + channel: *mut GIOChannel, + buf: *const gchar, + count: gssize, + bytes_written: *mut gsize, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_write_unichar( + channel: *mut GIOChannel, + thechar: gunichar, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_seek_position( + channel: *mut GIOChannel, + offset: gint64, + type_: GSeekType, + error: *mut *mut GError, + ) -> GIOStatus; +} +extern "C" { + pub fn g_io_channel_new_file( + filename: *const gchar, + mode: *const gchar, + error: *mut *mut GError, + ) -> *mut GIOChannel; +} +extern "C" { + pub fn g_io_channel_error_quark() -> GQuark; +} +extern "C" { + pub fn g_io_channel_error_from_errno(en: gint) -> GIOChannelError; +} +extern "C" { + pub fn g_io_channel_unix_new(fd: ::std::os::raw::c_int) -> *mut GIOChannel; +} +extern "C" { + pub fn g_io_channel_unix_get_fd(channel: *mut GIOChannel) -> gint; +} +extern "C" { + pub static mut g_io_watch_funcs: GSourceFuncs; +} +pub const GKeyFileError_G_KEY_FILE_ERROR_UNKNOWN_ENCODING: GKeyFileError = 0; +pub const GKeyFileError_G_KEY_FILE_ERROR_PARSE: GKeyFileError = 1; +pub const GKeyFileError_G_KEY_FILE_ERROR_NOT_FOUND: GKeyFileError = 2; +pub const GKeyFileError_G_KEY_FILE_ERROR_KEY_NOT_FOUND: GKeyFileError = 3; +pub const GKeyFileError_G_KEY_FILE_ERROR_GROUP_NOT_FOUND: GKeyFileError = 4; +pub const GKeyFileError_G_KEY_FILE_ERROR_INVALID_VALUE: GKeyFileError = 5; +pub type GKeyFileError = u32; +extern "C" { + pub fn g_key_file_error_quark() -> GQuark; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GKeyFile { + _unused: [u8; 0], +} +pub type GKeyFile = _GKeyFile; +pub const GKeyFileFlags_G_KEY_FILE_NONE: GKeyFileFlags = 0; +pub const GKeyFileFlags_G_KEY_FILE_KEEP_COMMENTS: GKeyFileFlags = 1; +pub const GKeyFileFlags_G_KEY_FILE_KEEP_TRANSLATIONS: GKeyFileFlags = 2; +pub type GKeyFileFlags = u32; +extern "C" { + pub fn g_key_file_new() -> *mut GKeyFile; +} +extern "C" { + pub fn g_key_file_ref(key_file: *mut GKeyFile) -> *mut GKeyFile; +} +extern "C" { + pub fn g_key_file_unref(key_file: *mut GKeyFile); +} +extern "C" { + pub fn g_key_file_free(key_file: *mut GKeyFile); +} +extern "C" { + pub fn g_key_file_set_list_separator(key_file: *mut GKeyFile, separator: gchar); +} +extern "C" { + pub fn g_key_file_load_from_file( + key_file: *mut GKeyFile, + file: *const gchar, + flags: GKeyFileFlags, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_load_from_data( + key_file: *mut GKeyFile, + data: *const gchar, + length: gsize, + flags: GKeyFileFlags, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_load_from_bytes( + key_file: *mut GKeyFile, + bytes: *mut GBytes, + flags: GKeyFileFlags, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_load_from_dirs( + key_file: *mut GKeyFile, + file: *const gchar, + search_dirs: *mut *const gchar, + full_path: *mut *mut gchar, + flags: GKeyFileFlags, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_load_from_data_dirs( + key_file: *mut GKeyFile, + file: *const gchar, + full_path: *mut *mut gchar, + flags: GKeyFileFlags, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_to_data( + key_file: *mut GKeyFile, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_save_to_file( + key_file: *mut GKeyFile, + filename: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_get_start_group(key_file: *mut GKeyFile) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_get_groups(key_file: *mut GKeyFile, length: *mut gsize) -> *mut *mut gchar; +} +extern "C" { + pub fn g_key_file_get_keys( + key_file: *mut GKeyFile, + group_name: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_key_file_has_group(key_file: *mut GKeyFile, group_name: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_key_file_has_key( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_get_value( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_set_value( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + value: *const gchar, + ); +} +extern "C" { + pub fn g_key_file_get_string( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_set_string( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + string: *const gchar, + ); +} +extern "C" { + pub fn g_key_file_get_locale_string( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + locale: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_get_locale_for_key( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + locale: *const gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_set_locale_string( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + locale: *const gchar, + string: *const gchar, + ); +} +extern "C" { + pub fn g_key_file_get_boolean( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_set_boolean( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + value: gboolean, + ); +} +extern "C" { + pub fn g_key_file_get_integer( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gint; +} +extern "C" { + pub fn g_key_file_set_integer( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + value: gint, + ); +} +extern "C" { + pub fn g_key_file_get_int64( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gint64; +} +extern "C" { + pub fn g_key_file_set_int64( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + value: gint64, + ); +} +extern "C" { + pub fn g_key_file_get_uint64( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> guint64; +} +extern "C" { + pub fn g_key_file_set_uint64( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + value: guint64, + ); +} +extern "C" { + pub fn g_key_file_get_double( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gdouble; +} +extern "C" { + pub fn g_key_file_set_double( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + value: gdouble, + ); +} +extern "C" { + pub fn g_key_file_get_string_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_key_file_set_string_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + list: *const *const gchar, + length: gsize, + ); +} +extern "C" { + pub fn g_key_file_get_locale_string_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + locale: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_key_file_set_locale_string_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + locale: *const gchar, + list: *const *const gchar, + length: gsize, + ); +} +extern "C" { + pub fn g_key_file_get_boolean_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut gboolean; +} +extern "C" { + pub fn g_key_file_set_boolean_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + list: *mut gboolean, + length: gsize, + ); +} +extern "C" { + pub fn g_key_file_get_integer_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut gint; +} +extern "C" { + pub fn g_key_file_set_double_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + list: *mut gdouble, + length: gsize, + ); +} +extern "C" { + pub fn g_key_file_get_double_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + length: *mut gsize, + error: *mut *mut GError, + ) -> *mut gdouble; +} +extern "C" { + pub fn g_key_file_set_integer_list( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + list: *mut gint, + length: gsize, + ); +} +extern "C" { + pub fn g_key_file_set_comment( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + comment: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_get_comment( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_key_file_remove_comment( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_remove_key( + key_file: *mut GKeyFile, + group_name: *const gchar, + key: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_key_file_remove_group( + key_file: *mut GKeyFile, + group_name: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMappedFile { + _unused: [u8; 0], +} +pub type GMappedFile = _GMappedFile; +extern "C" { + pub fn g_mapped_file_new( + filename: *const gchar, + writable: gboolean, + error: *mut *mut GError, + ) -> *mut GMappedFile; +} +extern "C" { + pub fn g_mapped_file_new_from_fd( + fd: gint, + writable: gboolean, + error: *mut *mut GError, + ) -> *mut GMappedFile; +} +extern "C" { + pub fn g_mapped_file_get_length(file: *mut GMappedFile) -> gsize; +} +extern "C" { + pub fn g_mapped_file_get_contents(file: *mut GMappedFile) -> *mut gchar; +} +extern "C" { + pub fn g_mapped_file_get_bytes(file: *mut GMappedFile) -> *mut GBytes; +} +extern "C" { + pub fn g_mapped_file_ref(file: *mut GMappedFile) -> *mut GMappedFile; +} +extern "C" { + pub fn g_mapped_file_unref(file: *mut GMappedFile); +} +extern "C" { + pub fn g_mapped_file_free(file: *mut GMappedFile); +} +pub const GMarkupError_G_MARKUP_ERROR_BAD_UTF8: GMarkupError = 0; +pub const GMarkupError_G_MARKUP_ERROR_EMPTY: GMarkupError = 1; +pub const GMarkupError_G_MARKUP_ERROR_PARSE: GMarkupError = 2; +pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ELEMENT: GMarkupError = 3; +pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: GMarkupError = 4; +pub const GMarkupError_G_MARKUP_ERROR_INVALID_CONTENT: GMarkupError = 5; +pub const GMarkupError_G_MARKUP_ERROR_MISSING_ATTRIBUTE: GMarkupError = 6; +#[doc = " GMarkupError:"] +#[doc = " @G_MARKUP_ERROR_BAD_UTF8: text being parsed was not valid UTF-8"] +#[doc = " @G_MARKUP_ERROR_EMPTY: document contained nothing, or only whitespace"] +#[doc = " @G_MARKUP_ERROR_PARSE: document was ill-formed"] +#[doc = " @G_MARKUP_ERROR_UNKNOWN_ELEMENT: error should be set by #GMarkupParser"] +#[doc = " functions; element wasn't known"] +#[doc = " @G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: error should be set by #GMarkupParser"] +#[doc = " functions; attribute wasn't known"] +#[doc = " @G_MARKUP_ERROR_INVALID_CONTENT: error should be set by #GMarkupParser"] +#[doc = " functions; content was invalid"] +#[doc = " @G_MARKUP_ERROR_MISSING_ATTRIBUTE: error should be set by #GMarkupParser"] +#[doc = " functions; a required attribute was missing"] +#[doc = ""] +#[doc = " Error codes returned by markup parsing."] +pub type GMarkupError = u32; +extern "C" { + pub fn g_markup_error_quark() -> GQuark; +} +pub const GMarkupParseFlags_G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: GMarkupParseFlags = 1; +pub const GMarkupParseFlags_G_MARKUP_TREAT_CDATA_AS_TEXT: GMarkupParseFlags = 2; +pub const GMarkupParseFlags_G_MARKUP_PREFIX_ERROR_POSITION: GMarkupParseFlags = 4; +pub const GMarkupParseFlags_G_MARKUP_IGNORE_QUALIFIED: GMarkupParseFlags = 8; +#[doc = " GMarkupParseFlags:"] +#[doc = " @G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: flag you should not use"] +#[doc = " @G_MARKUP_TREAT_CDATA_AS_TEXT: When this flag is set, CDATA marked"] +#[doc = " sections are not passed literally to the @passthrough function of"] +#[doc = " the parser. Instead, the content of the section (without the"] +#[doc = " ``) is"] +#[doc = " passed to the @text function. This flag was added in GLib 2.12"] +#[doc = " @G_MARKUP_PREFIX_ERROR_POSITION: Normally errors caught by GMarkup"] +#[doc = " itself have line/column information prefixed to them to let the"] +#[doc = " caller know the location of the error. When this flag is set the"] +#[doc = " location information is also prefixed to errors generated by the"] +#[doc = " #GMarkupParser implementation functions"] +#[doc = " @G_MARKUP_IGNORE_QUALIFIED: Ignore (don't report) qualified"] +#[doc = " attributes and tags, along with their contents. A qualified"] +#[doc = " attribute or tag is one that contains ':' in its name (ie: is in"] +#[doc = " another namespace). Since: 2.40."] +#[doc = ""] +#[doc = " Flags that affect the behaviour of the parser."] +pub type GMarkupParseFlags = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMarkupParseContext { + _unused: [u8; 0], +} +#[doc = " GMarkupParseContext:"] +#[doc = ""] +#[doc = " A parse context is used to parse a stream of bytes that"] +#[doc = " you expect to contain marked-up text."] +#[doc = ""] +#[doc = " See g_markup_parse_context_new(), #GMarkupParser, and so"] +#[doc = " on for more details."] +pub type GMarkupParseContext = _GMarkupParseContext; +pub type GMarkupParser = _GMarkupParser; +#[doc = " GMarkupParser:"] +#[doc = " @start_element: Callback to invoke when the opening tag of an element"] +#[doc = " is seen. The callback's @attribute_names and @attribute_values parameters"] +#[doc = " are %NULL-terminated."] +#[doc = " @end_element: Callback to invoke when the closing tag of an element"] +#[doc = " is seen. Note that this is also called for empty tags like"] +#[doc = " ``."] +#[doc = " @text: Callback to invoke when some text is seen (text is always"] +#[doc = " inside an element). Note that the text of an element may be spread"] +#[doc = " over multiple calls of this function. If the"] +#[doc = " %G_MARKUP_TREAT_CDATA_AS_TEXT flag is set, this function is also"] +#[doc = " called for the content of CDATA marked sections."] +#[doc = " @passthrough: Callback to invoke for comments, processing instructions"] +#[doc = " and doctype declarations; if you're re-writing the parsed document,"] +#[doc = " write the passthrough text back out in the same position. If the"] +#[doc = " %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also"] +#[doc = " called for CDATA marked sections."] +#[doc = " @error: Callback to invoke when an error occurs."] +#[doc = ""] +#[doc = " Any of the fields in #GMarkupParser can be %NULL, in which case they"] +#[doc = " will be ignored. Except for the @error function, any of these callbacks"] +#[doc = " can set an error; in particular the %G_MARKUP_ERROR_UNKNOWN_ELEMENT,"] +#[doc = " %G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, and %G_MARKUP_ERROR_INVALID_CONTENT"] +#[doc = " errors are intended to be set from these callbacks. If you set an error"] +#[doc = " from a callback, g_markup_parse_context_parse() will report that error"] +#[doc = " back to its caller."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMarkupParser { + pub start_element: ::std::option::Option< + unsafe extern "C" fn( + context: *mut GMarkupParseContext, + element_name: *const gchar, + attribute_names: *mut *const gchar, + attribute_values: *mut *const gchar, + user_data: gpointer, + error: *mut *mut GError, + ), + >, + pub end_element: ::std::option::Option< + unsafe extern "C" fn( + context: *mut GMarkupParseContext, + element_name: *const gchar, + user_data: gpointer, + error: *mut *mut GError, + ), + >, + pub text: ::std::option::Option< + unsafe extern "C" fn( + context: *mut GMarkupParseContext, + text: *const gchar, + text_len: gsize, + user_data: gpointer, + error: *mut *mut GError, + ), + >, + pub passthrough: ::std::option::Option< + unsafe extern "C" fn( + context: *mut GMarkupParseContext, + passthrough_text: *const gchar, + text_len: gsize, + user_data: gpointer, + error: *mut *mut GError, + ), + >, + pub error: ::std::option::Option< + unsafe extern "C" fn( + context: *mut GMarkupParseContext, + error: *mut GError, + user_data: gpointer, + ), + >, +} +#[test] +fn bindgen_test_layout__GMarkupParser() { + assert_eq!( + ::std::mem::size_of::<_GMarkupParser>(), + 40usize, + concat!("Size of: ", stringify!(_GMarkupParser)) + ); + assert_eq!( + ::std::mem::align_of::<_GMarkupParser>(), + 8usize, + concat!("Alignment of ", stringify!(_GMarkupParser)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMarkupParser>())).start_element as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GMarkupParser), + "::", + stringify!(start_element) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMarkupParser>())).end_element as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GMarkupParser), + "::", + stringify!(end_element) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMarkupParser>())).text as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GMarkupParser), + "::", + stringify!(text) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMarkupParser>())).passthrough as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GMarkupParser), + "::", + stringify!(passthrough) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GMarkupParser>())).error as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GMarkupParser), + "::", + stringify!(error) + ) + ); +} +extern "C" { + pub fn g_markup_parse_context_new( + parser: *const GMarkupParser, + flags: GMarkupParseFlags, + user_data: gpointer, + user_data_dnotify: GDestroyNotify, + ) -> *mut GMarkupParseContext; +} +extern "C" { + pub fn g_markup_parse_context_ref( + context: *mut GMarkupParseContext, + ) -> *mut GMarkupParseContext; +} +extern "C" { + pub fn g_markup_parse_context_unref(context: *mut GMarkupParseContext); +} +extern "C" { + pub fn g_markup_parse_context_free(context: *mut GMarkupParseContext); +} +extern "C" { + pub fn g_markup_parse_context_parse( + context: *mut GMarkupParseContext, + text: *const gchar, + text_len: gssize, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_markup_parse_context_push( + context: *mut GMarkupParseContext, + parser: *const GMarkupParser, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_markup_parse_context_pop(context: *mut GMarkupParseContext) -> gpointer; +} +extern "C" { + pub fn g_markup_parse_context_end_parse( + context: *mut GMarkupParseContext, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_markup_parse_context_get_element(context: *mut GMarkupParseContext) -> *const gchar; +} +extern "C" { + pub fn g_markup_parse_context_get_element_stack( + context: *mut GMarkupParseContext, + ) -> *const GSList; +} +extern "C" { + pub fn g_markup_parse_context_get_position( + context: *mut GMarkupParseContext, + line_number: *mut gint, + char_number: *mut gint, + ); +} +extern "C" { + pub fn g_markup_parse_context_get_user_data(context: *mut GMarkupParseContext) -> gpointer; +} +extern "C" { + pub fn g_markup_escape_text(text: *const gchar, length: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_markup_printf_escaped(format: *const ::std::os::raw::c_char, ...) -> *mut gchar; +} +extern "C" { + pub fn g_markup_vprintf_escaped( + format: *const ::std::os::raw::c_char, + args: *mut __va_list_tag, + ) -> *mut gchar; +} +pub const GMarkupCollectType_G_MARKUP_COLLECT_INVALID: GMarkupCollectType = 0; +pub const GMarkupCollectType_G_MARKUP_COLLECT_STRING: GMarkupCollectType = 1; +pub const GMarkupCollectType_G_MARKUP_COLLECT_STRDUP: GMarkupCollectType = 2; +pub const GMarkupCollectType_G_MARKUP_COLLECT_BOOLEAN: GMarkupCollectType = 3; +pub const GMarkupCollectType_G_MARKUP_COLLECT_TRISTATE: GMarkupCollectType = 4; +pub const GMarkupCollectType_G_MARKUP_COLLECT_OPTIONAL: GMarkupCollectType = 65536; +pub type GMarkupCollectType = u32; +extern "C" { + pub fn g_markup_collect_attributes( + element_name: *const gchar, + attribute_names: *mut *const gchar, + attribute_values: *mut *const gchar, + error: *mut *mut GError, + first_type: GMarkupCollectType, + first_attr: *const gchar, + ... + ) -> gboolean; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GVariantType { + _unused: [u8; 0], +} +#[doc = " GVariantType:"] +#[doc = ""] +#[doc = " A type in the GVariant type system."] +#[doc = ""] +#[doc = " Two types may not be compared by value; use g_variant_type_equal() or"] +#[doc = " g_variant_type_is_subtype_of(). May be copied using"] +#[doc = " g_variant_type_copy() and freed using g_variant_type_free()."] +pub type GVariantType = _GVariantType; +extern "C" { + pub fn g_variant_type_string_is_valid(type_string: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_variant_type_string_scan( + string: *const gchar, + limit: *const gchar, + endptr: *mut *const gchar, + ) -> gboolean; +} +extern "C" { + pub fn g_variant_type_free(type_: *mut GVariantType); +} +extern "C" { + pub fn g_variant_type_copy(type_: *const GVariantType) -> *mut GVariantType; +} +extern "C" { + pub fn g_variant_type_new(type_string: *const gchar) -> *mut GVariantType; +} +extern "C" { + pub fn g_variant_type_get_string_length(type_: *const GVariantType) -> gsize; +} +extern "C" { + pub fn g_variant_type_peek_string(type_: *const GVariantType) -> *const gchar; +} +extern "C" { + pub fn g_variant_type_dup_string(type_: *const GVariantType) -> *mut gchar; +} +extern "C" { + pub fn g_variant_type_is_definite(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_container(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_basic(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_maybe(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_array(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_tuple(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_dict_entry(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_variant(type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_type_hash(type_: gconstpointer) -> guint; +} +extern "C" { + pub fn g_variant_type_equal(type1: gconstpointer, type2: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_variant_type_is_subtype_of( + type_: *const GVariantType, + supertype: *const GVariantType, + ) -> gboolean; +} +extern "C" { + pub fn g_variant_type_element(type_: *const GVariantType) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_type_first(type_: *const GVariantType) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_type_next(type_: *const GVariantType) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_type_n_items(type_: *const GVariantType) -> gsize; +} +extern "C" { + pub fn g_variant_type_key(type_: *const GVariantType) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_type_value(type_: *const GVariantType) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_type_new_array(element: *const GVariantType) -> *mut GVariantType; +} +extern "C" { + pub fn g_variant_type_new_maybe(element: *const GVariantType) -> *mut GVariantType; +} +extern "C" { + pub fn g_variant_type_new_tuple( + items: *const *const GVariantType, + length: gint, + ) -> *mut GVariantType; +} +extern "C" { + pub fn g_variant_type_new_dict_entry( + key: *const GVariantType, + value: *const GVariantType, + ) -> *mut GVariantType; +} +extern "C" { + pub fn g_variant_type_checked_(arg1: *const gchar) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_type_string_get_depth_(type_string: *const gchar) -> gsize; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GVariant { + _unused: [u8; 0], +} +pub type GVariant = _GVariant; +pub const GVariantClass_G_VARIANT_CLASS_BOOLEAN: GVariantClass = 98; +pub const GVariantClass_G_VARIANT_CLASS_BYTE: GVariantClass = 121; +pub const GVariantClass_G_VARIANT_CLASS_INT16: GVariantClass = 110; +pub const GVariantClass_G_VARIANT_CLASS_UINT16: GVariantClass = 113; +pub const GVariantClass_G_VARIANT_CLASS_INT32: GVariantClass = 105; +pub const GVariantClass_G_VARIANT_CLASS_UINT32: GVariantClass = 117; +pub const GVariantClass_G_VARIANT_CLASS_INT64: GVariantClass = 120; +pub const GVariantClass_G_VARIANT_CLASS_UINT64: GVariantClass = 116; +pub const GVariantClass_G_VARIANT_CLASS_HANDLE: GVariantClass = 104; +pub const GVariantClass_G_VARIANT_CLASS_DOUBLE: GVariantClass = 100; +pub const GVariantClass_G_VARIANT_CLASS_STRING: GVariantClass = 115; +pub const GVariantClass_G_VARIANT_CLASS_OBJECT_PATH: GVariantClass = 111; +pub const GVariantClass_G_VARIANT_CLASS_SIGNATURE: GVariantClass = 103; +pub const GVariantClass_G_VARIANT_CLASS_VARIANT: GVariantClass = 118; +pub const GVariantClass_G_VARIANT_CLASS_MAYBE: GVariantClass = 109; +pub const GVariantClass_G_VARIANT_CLASS_ARRAY: GVariantClass = 97; +pub const GVariantClass_G_VARIANT_CLASS_TUPLE: GVariantClass = 40; +pub const GVariantClass_G_VARIANT_CLASS_DICT_ENTRY: GVariantClass = 123; +pub type GVariantClass = u32; +extern "C" { + pub fn g_variant_unref(value: *mut GVariant); +} +extern "C" { + pub fn g_variant_ref(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_ref_sink(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_is_floating(value: *mut GVariant) -> gboolean; +} +extern "C" { + pub fn g_variant_take_ref(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get_type(value: *mut GVariant) -> *const GVariantType; +} +extern "C" { + pub fn g_variant_get_type_string(value: *mut GVariant) -> *const gchar; +} +extern "C" { + pub fn g_variant_is_of_type(value: *mut GVariant, type_: *const GVariantType) -> gboolean; +} +extern "C" { + pub fn g_variant_is_container(value: *mut GVariant) -> gboolean; +} +extern "C" { + pub fn g_variant_classify(value: *mut GVariant) -> GVariantClass; +} +extern "C" { + pub fn g_variant_new_boolean(value: gboolean) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_byte(value: guchar) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_int16(value: gint16) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_uint16(value: guint16) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_int32(value: gint32) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_uint32(value: guint32) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_int64(value: gint64) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_uint64(value: guint64) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_handle(value: gint32) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_double(value: gdouble) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_string(string: *const gchar) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_take_string(string: *mut gchar) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_printf(format_string: *const gchar, ...) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_object_path(object_path: *const gchar) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_is_object_path(string: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_variant_new_signature(signature: *const gchar) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_is_signature(string: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_variant_new_variant(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_strv(strv: *const *const gchar, length: gssize) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_objv(strv: *const *const gchar, length: gssize) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_bytestring(string: *const gchar) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_bytestring_array( + strv: *const *const gchar, + length: gssize, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_fixed_array( + element_type: *const GVariantType, + elements: gconstpointer, + n_elements: gsize, + element_size: gsize, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get_boolean(value: *mut GVariant) -> gboolean; +} +extern "C" { + pub fn g_variant_get_byte(value: *mut GVariant) -> guchar; +} +extern "C" { + pub fn g_variant_get_int16(value: *mut GVariant) -> gint16; +} +extern "C" { + pub fn g_variant_get_uint16(value: *mut GVariant) -> guint16; +} +extern "C" { + pub fn g_variant_get_int32(value: *mut GVariant) -> gint32; +} +extern "C" { + pub fn g_variant_get_uint32(value: *mut GVariant) -> guint32; +} +extern "C" { + pub fn g_variant_get_int64(value: *mut GVariant) -> gint64; +} +extern "C" { + pub fn g_variant_get_uint64(value: *mut GVariant) -> guint64; +} +extern "C" { + pub fn g_variant_get_handle(value: *mut GVariant) -> gint32; +} +extern "C" { + pub fn g_variant_get_double(value: *mut GVariant) -> gdouble; +} +extern "C" { + pub fn g_variant_get_variant(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get_string(value: *mut GVariant, length: *mut gsize) -> *const gchar; +} +extern "C" { + pub fn g_variant_dup_string(value: *mut GVariant, length: *mut gsize) -> *mut gchar; +} +extern "C" { + pub fn g_variant_get_strv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar; +} +extern "C" { + pub fn g_variant_dup_strv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar; +} +extern "C" { + pub fn g_variant_get_objv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar; +} +extern "C" { + pub fn g_variant_dup_objv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar; +} +extern "C" { + pub fn g_variant_get_bytestring(value: *mut GVariant) -> *const gchar; +} +extern "C" { + pub fn g_variant_dup_bytestring(value: *mut GVariant, length: *mut gsize) -> *mut gchar; +} +extern "C" { + pub fn g_variant_get_bytestring_array( + value: *mut GVariant, + length: *mut gsize, + ) -> *mut *const gchar; +} +extern "C" { + pub fn g_variant_dup_bytestring_array( + value: *mut GVariant, + length: *mut gsize, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_variant_new_maybe( + child_type: *const GVariantType, + child: *mut GVariant, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_array( + child_type: *const GVariantType, + children: *const *mut GVariant, + n_children: gsize, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_tuple(children: *const *mut GVariant, n_children: gsize) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_dict_entry(key: *mut GVariant, value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get_maybe(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_n_children(value: *mut GVariant) -> gsize; +} +extern "C" { + pub fn g_variant_get_child( + value: *mut GVariant, + index_: gsize, + format_string: *const gchar, + ... + ); +} +extern "C" { + pub fn g_variant_get_child_value(value: *mut GVariant, index_: gsize) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_lookup( + dictionary: *mut GVariant, + key: *const gchar, + format_string: *const gchar, + ... + ) -> gboolean; +} +extern "C" { + pub fn g_variant_lookup_value( + dictionary: *mut GVariant, + key: *const gchar, + expected_type: *const GVariantType, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get_fixed_array( + value: *mut GVariant, + n_elements: *mut gsize, + element_size: gsize, + ) -> gconstpointer; +} +extern "C" { + pub fn g_variant_get_size(value: *mut GVariant) -> gsize; +} +extern "C" { + pub fn g_variant_get_data(value: *mut GVariant) -> gconstpointer; +} +extern "C" { + pub fn g_variant_get_data_as_bytes(value: *mut GVariant) -> *mut GBytes; +} +extern "C" { + pub fn g_variant_store(value: *mut GVariant, data: gpointer); +} +extern "C" { + pub fn g_variant_print(value: *mut GVariant, type_annotate: gboolean) -> *mut gchar; +} +extern "C" { + pub fn g_variant_print_string( + value: *mut GVariant, + string: *mut GString, + type_annotate: gboolean, + ) -> *mut GString; +} +extern "C" { + pub fn g_variant_hash(value: gconstpointer) -> guint; +} +extern "C" { + pub fn g_variant_equal(one: gconstpointer, two: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_variant_get_normal_form(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_is_normal_form(value: *mut GVariant) -> gboolean; +} +extern "C" { + pub fn g_variant_byteswap(value: *mut GVariant) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_from_bytes( + type_: *const GVariantType, + bytes: *mut GBytes, + trusted: gboolean, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_from_data( + type_: *const GVariantType, + data: gconstpointer, + size: gsize, + trusted: gboolean, + notify: GDestroyNotify, + user_data: gpointer, + ) -> *mut GVariant; +} +pub type GVariantIter = _GVariantIter; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GVariantIter { + pub x: [gsize; 16usize], +} +#[test] +fn bindgen_test_layout__GVariantIter() { + assert_eq!( + ::std::mem::size_of::<_GVariantIter>(), + 128usize, + concat!("Size of: ", stringify!(_GVariantIter)) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantIter>(), + 8usize, + concat!("Alignment of ", stringify!(_GVariantIter)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GVariantIter>())).x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantIter), + "::", + stringify!(x) + ) + ); +} +extern "C" { + pub fn g_variant_iter_new(value: *mut GVariant) -> *mut GVariantIter; +} +extern "C" { + pub fn g_variant_iter_init(iter: *mut GVariantIter, value: *mut GVariant) -> gsize; +} +extern "C" { + pub fn g_variant_iter_copy(iter: *mut GVariantIter) -> *mut GVariantIter; +} +extern "C" { + pub fn g_variant_iter_n_children(iter: *mut GVariantIter) -> gsize; +} +extern "C" { + pub fn g_variant_iter_free(iter: *mut GVariantIter); +} +extern "C" { + pub fn g_variant_iter_next_value(iter: *mut GVariantIter) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_iter_next( + iter: *mut GVariantIter, + format_string: *const gchar, + ... + ) -> gboolean; +} +extern "C" { + pub fn g_variant_iter_loop( + iter: *mut GVariantIter, + format_string: *const gchar, + ... + ) -> gboolean; +} +pub type GVariantBuilder = _GVariantBuilder; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GVariantBuilder { + pub u: _GVariantBuilder__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GVariantBuilder__bindgen_ty_1 { + pub s: _GVariantBuilder__bindgen_ty_1__bindgen_ty_1, + pub x: [gsize; 16usize], + _bindgen_union_align: [u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GVariantBuilder__bindgen_ty_1__bindgen_ty_1 { + pub partial_magic: gsize, + pub type_: *const GVariantType, + pub y: [gsize; 14usize], +} +#[test] +fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>())).partial_magic + as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(partial_magic) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>())).type_ + as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>())).y as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(y) + ) + ); +} +#[test] +fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1>(), + 128usize, + concat!("Size of: ", stringify!(_GVariantBuilder__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_GVariantBuilder__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantBuilder__bindgen_ty_1>())).s as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantBuilder__bindgen_ty_1), + "::", + stringify!(s) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantBuilder__bindgen_ty_1>())).x as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantBuilder__bindgen_ty_1), + "::", + stringify!(x) + ) + ); +} +#[test] +fn bindgen_test_layout__GVariantBuilder() { + assert_eq!( + ::std::mem::size_of::<_GVariantBuilder>(), + 128usize, + concat!("Size of: ", stringify!(_GVariantBuilder)) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantBuilder>(), + 8usize, + concat!("Alignment of ", stringify!(_GVariantBuilder)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GVariantBuilder>())).u as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantBuilder), + "::", + stringify!(u) + ) + ); +} +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_FAILED: GVariantParseError = 0; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED: GVariantParseError = 1; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE: GVariantParseError = 2; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED: GVariantParseError = 3; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END: GVariantParseError = 4; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_CHARACTER: GVariantParseError = 5; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING: GVariantParseError = 6; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH: GVariantParseError = 7; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE: GVariantParseError = 8; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING: GVariantParseError = 9; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE: GVariantParseError = 10; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE: GVariantParseError = 11; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG: GVariantParseError = 12; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_TYPE_ERROR: GVariantParseError = 13; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN: GVariantParseError = 14; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD: GVariantParseError = 15; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT: + GVariantParseError = 16; +pub const GVariantParseError_G_VARIANT_PARSE_ERROR_VALUE_EXPECTED: GVariantParseError = 17; +pub type GVariantParseError = u32; +extern "C" { + pub fn g_variant_parser_get_error_quark() -> GQuark; +} +extern "C" { + pub fn g_variant_parse_error_quark() -> GQuark; +} +extern "C" { + pub fn g_variant_builder_new(type_: *const GVariantType) -> *mut GVariantBuilder; +} +extern "C" { + pub fn g_variant_builder_unref(builder: *mut GVariantBuilder); +} +extern "C" { + pub fn g_variant_builder_ref(builder: *mut GVariantBuilder) -> *mut GVariantBuilder; +} +extern "C" { + pub fn g_variant_builder_init(builder: *mut GVariantBuilder, type_: *const GVariantType); +} +extern "C" { + pub fn g_variant_builder_end(builder: *mut GVariantBuilder) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_builder_clear(builder: *mut GVariantBuilder); +} +extern "C" { + pub fn g_variant_builder_open(builder: *mut GVariantBuilder, type_: *const GVariantType); +} +extern "C" { + pub fn g_variant_builder_close(builder: *mut GVariantBuilder); +} +extern "C" { + pub fn g_variant_builder_add_value(builder: *mut GVariantBuilder, value: *mut GVariant); +} +extern "C" { + pub fn g_variant_builder_add(builder: *mut GVariantBuilder, format_string: *const gchar, ...); +} +extern "C" { + pub fn g_variant_builder_add_parsed(builder: *mut GVariantBuilder, format: *const gchar, ...); +} +extern "C" { + pub fn g_variant_new(format_string: *const gchar, ...) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get(value: *mut GVariant, format_string: *const gchar, ...); +} +extern "C" { + pub fn g_variant_new_va( + format_string: *const gchar, + endptr: *mut *const gchar, + app: *mut va_list, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_get_va( + value: *mut GVariant, + format_string: *const gchar, + endptr: *mut *const gchar, + app: *mut va_list, + ); +} +extern "C" { + pub fn g_variant_check_format_string( + value: *mut GVariant, + format_string: *const gchar, + copy_only: gboolean, + ) -> gboolean; +} +extern "C" { + pub fn g_variant_parse( + type_: *const GVariantType, + text: *const gchar, + limit: *const gchar, + endptr: *mut *const gchar, + error: *mut *mut GError, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_parsed(format: *const gchar, ...) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_new_parsed_va(format: *const gchar, app: *mut va_list) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_parse_error_print_context( + error: *mut GError, + source_str: *const gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_variant_compare(one: gconstpointer, two: gconstpointer) -> gint; +} +pub type GVariantDict = _GVariantDict; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GVariantDict { + pub u: _GVariantDict__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GVariantDict__bindgen_ty_1 { + pub s: _GVariantDict__bindgen_ty_1__bindgen_ty_1, + pub x: [gsize; 16usize], + _bindgen_union_align: [u64; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GVariantDict__bindgen_ty_1__bindgen_ty_1 { + pub asv: *mut GVariant, + pub partial_magic: gsize, + pub y: [gsize; 14usize], +} +#[test] +fn bindgen_test_layout__GVariantDict__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>())).asv as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(asv) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>())).partial_magic + as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(partial_magic) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>())).y as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(y) + ) + ); +} +#[test] +fn bindgen_test_layout__GVariantDict__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GVariantDict__bindgen_ty_1>(), + 128usize, + concat!("Size of: ", stringify!(_GVariantDict__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantDict__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_GVariantDict__bindgen_ty_1)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GVariantDict__bindgen_ty_1>())).s as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantDict__bindgen_ty_1), + "::", + stringify!(s) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GVariantDict__bindgen_ty_1>())).x as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantDict__bindgen_ty_1), + "::", + stringify!(x) + ) + ); +} +#[test] +fn bindgen_test_layout__GVariantDict() { + assert_eq!( + ::std::mem::size_of::<_GVariantDict>(), + 128usize, + concat!("Size of: ", stringify!(_GVariantDict)) + ); + assert_eq!( + ::std::mem::align_of::<_GVariantDict>(), + 8usize, + concat!("Alignment of ", stringify!(_GVariantDict)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GVariantDict>())).u as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GVariantDict), + "::", + stringify!(u) + ) + ); +} +extern "C" { + pub fn g_variant_dict_new(from_asv: *mut GVariant) -> *mut GVariantDict; +} +extern "C" { + pub fn g_variant_dict_init(dict: *mut GVariantDict, from_asv: *mut GVariant); +} +extern "C" { + pub fn g_variant_dict_lookup( + dict: *mut GVariantDict, + key: *const gchar, + format_string: *const gchar, + ... + ) -> gboolean; +} +extern "C" { + pub fn g_variant_dict_lookup_value( + dict: *mut GVariantDict, + key: *const gchar, + expected_type: *const GVariantType, + ) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_dict_contains(dict: *mut GVariantDict, key: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_variant_dict_insert( + dict: *mut GVariantDict, + key: *const gchar, + format_string: *const gchar, + ... + ); +} +extern "C" { + pub fn g_variant_dict_insert_value( + dict: *mut GVariantDict, + key: *const gchar, + value: *mut GVariant, + ); +} +extern "C" { + pub fn g_variant_dict_remove(dict: *mut GVariantDict, key: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_variant_dict_clear(dict: *mut GVariantDict); +} +extern "C" { + pub fn g_variant_dict_end(dict: *mut GVariantDict) -> *mut GVariant; +} +extern "C" { + pub fn g_variant_dict_ref(dict: *mut GVariantDict) -> *mut GVariantDict; +} +extern "C" { + pub fn g_variant_dict_unref(dict: *mut GVariantDict); +} +extern "C" { + pub fn g_printf_string_upper_bound(format: *const gchar, args: *mut __va_list_tag) -> gsize; +} +pub const GLogLevelFlags_G_LOG_FLAG_RECURSION: GLogLevelFlags = 1; +pub const GLogLevelFlags_G_LOG_FLAG_FATAL: GLogLevelFlags = 2; +pub const GLogLevelFlags_G_LOG_LEVEL_ERROR: GLogLevelFlags = 4; +pub const GLogLevelFlags_G_LOG_LEVEL_CRITICAL: GLogLevelFlags = 8; +pub const GLogLevelFlags_G_LOG_LEVEL_WARNING: GLogLevelFlags = 16; +pub const GLogLevelFlags_G_LOG_LEVEL_MESSAGE: GLogLevelFlags = 32; +pub const GLogLevelFlags_G_LOG_LEVEL_INFO: GLogLevelFlags = 64; +pub const GLogLevelFlags_G_LOG_LEVEL_DEBUG: GLogLevelFlags = 128; +pub const GLogLevelFlags_G_LOG_LEVEL_MASK: GLogLevelFlags = -4; +pub type GLogLevelFlags = i32; +pub type GLogFunc = ::std::option::Option< + unsafe extern "C" fn( + log_domain: *const gchar, + log_level: GLogLevelFlags, + message: *const gchar, + user_data: gpointer, + ), +>; +extern "C" { + pub fn g_log_set_handler( + log_domain: *const gchar, + log_levels: GLogLevelFlags, + log_func: GLogFunc, + user_data: gpointer, + ) -> guint; +} +extern "C" { + pub fn g_log_set_handler_full( + log_domain: *const gchar, + log_levels: GLogLevelFlags, + log_func: GLogFunc, + user_data: gpointer, + destroy: GDestroyNotify, + ) -> guint; +} +extern "C" { + pub fn g_log_remove_handler(log_domain: *const gchar, handler_id: guint); +} +extern "C" { + pub fn g_log_default_handler( + log_domain: *const gchar, + log_level: GLogLevelFlags, + message: *const gchar, + unused_data: gpointer, + ); +} +extern "C" { + pub fn g_log_set_default_handler(log_func: GLogFunc, user_data: gpointer) -> GLogFunc; +} +extern "C" { + pub fn g_log(log_domain: *const gchar, log_level: GLogLevelFlags, format: *const gchar, ...); +} +extern "C" { + pub fn g_logv( + log_domain: *const gchar, + log_level: GLogLevelFlags, + format: *const gchar, + args: *mut __va_list_tag, + ); +} +extern "C" { + pub fn g_log_set_fatal_mask( + log_domain: *const gchar, + fatal_mask: GLogLevelFlags, + ) -> GLogLevelFlags; +} +extern "C" { + pub fn g_log_set_always_fatal(fatal_mask: GLogLevelFlags) -> GLogLevelFlags; +} +pub const GLogWriterOutput_G_LOG_WRITER_HANDLED: GLogWriterOutput = 1; +pub const GLogWriterOutput_G_LOG_WRITER_UNHANDLED: GLogWriterOutput = 0; +#[doc = " GLogWriterOutput:"] +#[doc = " @G_LOG_WRITER_HANDLED: Log writer has handled the log entry."] +#[doc = " @G_LOG_WRITER_UNHANDLED: Log writer could not handle the log entry."] +#[doc = ""] +#[doc = " Return values from #GLogWriterFuncs to indicate whether the given log entry"] +#[doc = " was successfully handled by the writer, or whether there was an error in"] +#[doc = " handling it (and hence a fallback writer should be used)."] +#[doc = ""] +#[doc = " If a #GLogWriterFunc ignores a log entry, it should return"] +#[doc = " %G_LOG_WRITER_HANDLED."] +#[doc = ""] +#[doc = " Since: 2.50"] +pub type GLogWriterOutput = u32; +#[doc = " GLogField:"] +#[doc = " @key: field name (UTF-8 string)"] +#[doc = " @value: field value (arbitrary bytes)"] +#[doc = " @length: length of @value, in bytes, or -1 if it is nul-terminated"] +#[doc = ""] +#[doc = " Structure representing a single field in a structured log entry. See"] +#[doc = " g_log_structured() for details."] +#[doc = ""] +#[doc = " Log fields may contain arbitrary values, including binary with embedded nul"] +#[doc = " bytes. If the field contains a string, the string must be UTF-8 encoded and"] +#[doc = " have a trailing nul byte. Otherwise, @length must be set to a non-negative"] +#[doc = " value."] +#[doc = ""] +#[doc = " Since: 2.50"] +pub type GLogField = _GLogField; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GLogField { + pub key: *const gchar, + pub value: gconstpointer, + pub length: gssize, +} +#[test] +fn bindgen_test_layout__GLogField() { + assert_eq!( + ::std::mem::size_of::<_GLogField>(), + 24usize, + concat!("Size of: ", stringify!(_GLogField)) + ); + assert_eq!( + ::std::mem::align_of::<_GLogField>(), + 8usize, + concat!("Alignment of ", stringify!(_GLogField)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GLogField>())).key as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GLogField), + "::", + stringify!(key) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GLogField>())).value as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GLogField), + "::", + stringify!(value) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GLogField>())).length as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GLogField), + "::", + stringify!(length) + ) + ); +} +#[doc = " GLogWriterFunc:"] +#[doc = " @log_level: log level of the message"] +#[doc = " @fields: (array length=n_fields): fields forming the message"] +#[doc = " @n_fields: number of @fields"] +#[doc = " @user_data: user data passed to g_log_set_writer_func()"] +#[doc = ""] +#[doc = " Writer function for log entries. A log entry is a collection of one or more"] +#[doc = " #GLogFields, using the standard [field names from journal"] +#[doc = " specification](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html)."] +#[doc = " See g_log_structured() for more information."] +#[doc = ""] +#[doc = " Writer functions must ignore fields which they do not recognise, unless they"] +#[doc = " can write arbitrary binary output, as field values may be arbitrary binary."] +#[doc = ""] +#[doc = " @log_level is guaranteed to be included in @fields as the `PRIORITY` field,"] +#[doc = " but is provided separately for convenience of deciding whether or where to"] +#[doc = " output the log entry."] +#[doc = ""] +#[doc = " Writer functions should return %G_LOG_WRITER_HANDLED if they handled the log"] +#[doc = " message successfully or if they deliberately ignored it. If there was an"] +#[doc = " error handling the message (for example, if the writer function is meant to"] +#[doc = " send messages to a remote logging server and there is a network error), it"] +#[doc = " should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be"] +#[doc = " chained and fall back to simpler handlers in case of failure."] +#[doc = ""] +#[doc = " Returns: %G_LOG_WRITER_HANDLED if the log entry was handled successfully;"] +#[doc = " %G_LOG_WRITER_UNHANDLED otherwise"] +#[doc = " Since: 2.50"] +pub type GLogWriterFunc = ::std::option::Option< + unsafe extern "C" fn( + log_level: GLogLevelFlags, + fields: *const GLogField, + n_fields: gsize, + user_data: gpointer, + ) -> GLogWriterOutput, +>; +extern "C" { + pub fn g_log_structured(log_domain: *const gchar, log_level: GLogLevelFlags, ...); +} +extern "C" { + pub fn g_log_structured_array( + log_level: GLogLevelFlags, + fields: *const GLogField, + n_fields: gsize, + ); +} +extern "C" { + pub fn g_log_variant( + log_domain: *const gchar, + log_level: GLogLevelFlags, + fields: *mut GVariant, + ); +} +extern "C" { + pub fn g_log_set_writer_func( + func: GLogWriterFunc, + user_data: gpointer, + user_data_free: GDestroyNotify, + ); +} +extern "C" { + pub fn g_log_writer_supports_color(output_fd: gint) -> gboolean; +} +extern "C" { + pub fn g_log_writer_is_journald(output_fd: gint) -> gboolean; +} +extern "C" { + pub fn g_log_writer_format_fields( + log_level: GLogLevelFlags, + fields: *const GLogField, + n_fields: gsize, + use_color: gboolean, + ) -> *mut gchar; +} +extern "C" { + pub fn g_log_writer_journald( + log_level: GLogLevelFlags, + fields: *const GLogField, + n_fields: gsize, + user_data: gpointer, + ) -> GLogWriterOutput; +} +extern "C" { + pub fn g_log_writer_standard_streams( + log_level: GLogLevelFlags, + fields: *const GLogField, + n_fields: gsize, + user_data: gpointer, + ) -> GLogWriterOutput; +} +extern "C" { + pub fn g_log_writer_default( + log_level: GLogLevelFlags, + fields: *const GLogField, + n_fields: gsize, + user_data: gpointer, + ) -> GLogWriterOutput; +} +extern "C" { + pub fn _g_log_fallback_handler( + log_domain: *const gchar, + log_level: GLogLevelFlags, + message: *const gchar, + unused_data: gpointer, + ); +} +extern "C" { + pub fn g_return_if_fail_warning( + log_domain: *const ::std::os::raw::c_char, + pretty_function: *const ::std::os::raw::c_char, + expression: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_warn_message( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + warnexpr: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_assert_warning( + log_domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + pretty_function: *const ::std::os::raw::c_char, + expression: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_log_structured_standard( + log_domain: *const gchar, + log_level: GLogLevelFlags, + file: *const gchar, + line: *const gchar, + func: *const gchar, + message_format: *const gchar, + ... + ); +} +#[doc = " GPrintFunc:"] +#[doc = " @string: the message to output"] +#[doc = ""] +#[doc = " Specifies the type of the print handler functions."] +#[doc = " These are called with the complete formatted string to output."] +pub type GPrintFunc = ::std::option::Option; +extern "C" { + pub fn g_print(format: *const gchar, ...); +} +extern "C" { + pub fn g_set_print_handler(func: GPrintFunc) -> GPrintFunc; +} +extern "C" { + pub fn g_printerr(format: *const gchar, ...); +} +extern "C" { + pub fn g_set_printerr_handler(func: GPrintFunc) -> GPrintFunc; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GOptionContext { + _unused: [u8; 0], +} +#[doc = " GOptionContext:"] +#[doc = ""] +#[doc = " A `GOptionContext` struct defines which options"] +#[doc = " are accepted by the commandline option parser. The struct has only private"] +#[doc = " fields and should not be directly accessed."] +pub type GOptionContext = _GOptionContext; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GOptionGroup { + _unused: [u8; 0], +} +#[doc = " GOptionGroup:"] +#[doc = ""] +#[doc = " A `GOptionGroup` struct defines the options in a single"] +#[doc = " group. The struct has only private fields and should not be directly accessed."] +#[doc = ""] +#[doc = " All options in a group share the same translation function. Libraries which"] +#[doc = " need to parse commandline options are expected to provide a function for"] +#[doc = " getting a `GOptionGroup` holding their options, which"] +#[doc = " the application can then add to its #GOptionContext."] +pub type GOptionGroup = _GOptionGroup; +pub type GOptionEntry = _GOptionEntry; +pub const GOptionFlags_G_OPTION_FLAG_NONE: GOptionFlags = 0; +pub const GOptionFlags_G_OPTION_FLAG_HIDDEN: GOptionFlags = 1; +pub const GOptionFlags_G_OPTION_FLAG_IN_MAIN: GOptionFlags = 2; +pub const GOptionFlags_G_OPTION_FLAG_REVERSE: GOptionFlags = 4; +pub const GOptionFlags_G_OPTION_FLAG_NO_ARG: GOptionFlags = 8; +pub const GOptionFlags_G_OPTION_FLAG_FILENAME: GOptionFlags = 16; +pub const GOptionFlags_G_OPTION_FLAG_OPTIONAL_ARG: GOptionFlags = 32; +pub const GOptionFlags_G_OPTION_FLAG_NOALIAS: GOptionFlags = 64; +#[doc = " GOptionFlags:"] +#[doc = " @G_OPTION_FLAG_NONE: No flags. Since: 2.42."] +#[doc = " @G_OPTION_FLAG_HIDDEN: The option doesn't appear in `--help` output."] +#[doc = " @G_OPTION_FLAG_IN_MAIN: The option appears in the main section of the"] +#[doc = " `--help` output, even if it is defined in a group."] +#[doc = " @G_OPTION_FLAG_REVERSE: For options of the %G_OPTION_ARG_NONE kind, this"] +#[doc = " flag indicates that the sense of the option is reversed."] +#[doc = " @G_OPTION_FLAG_NO_ARG: For options of the %G_OPTION_ARG_CALLBACK kind,"] +#[doc = " this flag indicates that the callback does not take any argument"] +#[doc = " (like a %G_OPTION_ARG_NONE option). Since 2.8"] +#[doc = " @G_OPTION_FLAG_FILENAME: For options of the %G_OPTION_ARG_CALLBACK"] +#[doc = " kind, this flag indicates that the argument should be passed to the"] +#[doc = " callback in the GLib filename encoding rather than UTF-8. Since 2.8"] +#[doc = " @G_OPTION_FLAG_OPTIONAL_ARG: For options of the %G_OPTION_ARG_CALLBACK"] +#[doc = " kind, this flag indicates that the argument supply is optional."] +#[doc = " If no argument is given then data of %GOptionParseFunc will be"] +#[doc = " set to NULL. Since 2.8"] +#[doc = " @G_OPTION_FLAG_NOALIAS: This flag turns off the automatic conflict"] +#[doc = " resolution which prefixes long option names with `groupname-` if"] +#[doc = " there is a conflict. This option should only be used in situations"] +#[doc = " where aliasing is necessary to model some legacy commandline interface."] +#[doc = " It is not safe to use this option, unless all option groups are under"] +#[doc = " your direct control. Since 2.8."] +#[doc = ""] +#[doc = " Flags which modify individual options."] +pub type GOptionFlags = u32; +pub const GOptionArg_G_OPTION_ARG_NONE: GOptionArg = 0; +pub const GOptionArg_G_OPTION_ARG_STRING: GOptionArg = 1; +pub const GOptionArg_G_OPTION_ARG_INT: GOptionArg = 2; +pub const GOptionArg_G_OPTION_ARG_CALLBACK: GOptionArg = 3; +pub const GOptionArg_G_OPTION_ARG_FILENAME: GOptionArg = 4; +pub const GOptionArg_G_OPTION_ARG_STRING_ARRAY: GOptionArg = 5; +pub const GOptionArg_G_OPTION_ARG_FILENAME_ARRAY: GOptionArg = 6; +pub const GOptionArg_G_OPTION_ARG_DOUBLE: GOptionArg = 7; +pub const GOptionArg_G_OPTION_ARG_INT64: GOptionArg = 8; +#[doc = " GOptionArg:"] +#[doc = " @G_OPTION_ARG_NONE: No extra argument. This is useful for simple flags."] +#[doc = " @G_OPTION_ARG_STRING: The option takes a string argument."] +#[doc = " @G_OPTION_ARG_INT: The option takes an integer argument."] +#[doc = " @G_OPTION_ARG_CALLBACK: The option provides a callback (of type"] +#[doc = " #GOptionArgFunc) to parse the extra argument."] +#[doc = " @G_OPTION_ARG_FILENAME: The option takes a filename as argument."] +#[doc = " @G_OPTION_ARG_STRING_ARRAY: The option takes a string argument, multiple"] +#[doc = " uses of the option are collected into an array of strings."] +#[doc = " @G_OPTION_ARG_FILENAME_ARRAY: The option takes a filename as argument,"] +#[doc = " multiple uses of the option are collected into an array of strings."] +#[doc = " @G_OPTION_ARG_DOUBLE: The option takes a double argument. The argument"] +#[doc = " can be formatted either for the user's locale or for the \"C\" locale."] +#[doc = " Since 2.12"] +#[doc = " @G_OPTION_ARG_INT64: The option takes a 64-bit integer. Like"] +#[doc = " %G_OPTION_ARG_INT but for larger numbers. The number can be in"] +#[doc = " decimal base, or in hexadecimal (when prefixed with `0x`, for"] +#[doc = " example, `0xffffffff`). Since 2.12"] +#[doc = ""] +#[doc = " The #GOptionArg enum values determine which type of extra argument the"] +#[doc = " options expect to find. If an option expects an extra argument, it can"] +#[doc = " be specified in several ways; with a short option: `-x arg`, with a long"] +#[doc = " option: `--name arg` or combined in a single argument: `--name=arg`."] +pub type GOptionArg = u32; +#[doc = " GOptionArgFunc:"] +#[doc = " @option_name: The name of the option being parsed. This will be either a"] +#[doc = " single dash followed by a single letter (for a short name) or two dashes"] +#[doc = " followed by a long option name."] +#[doc = " @value: The value to be parsed."] +#[doc = " @data: User data added to the #GOptionGroup containing the option when it"] +#[doc = " was created with g_option_group_new()"] +#[doc = " @error: A return location for errors. The error code %G_OPTION_ERROR_FAILED"] +#[doc = " is intended to be used for errors in #GOptionArgFunc callbacks."] +#[doc = ""] +#[doc = " The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK"] +#[doc = " options."] +#[doc = ""] +#[doc = " Returns: %TRUE if the option was successfully parsed, %FALSE if an error"] +#[doc = " occurred, in which case @error should be set with g_set_error()"] +pub type GOptionArgFunc = ::std::option::Option< + unsafe extern "C" fn( + option_name: *const gchar, + value: *const gchar, + data: gpointer, + error: *mut *mut GError, + ) -> gboolean, +>; +#[doc = " GOptionParseFunc:"] +#[doc = " @context: The active #GOptionContext"] +#[doc = " @group: The group to which the function belongs"] +#[doc = " @data: User data added to the #GOptionGroup containing the option when it"] +#[doc = " was created with g_option_group_new()"] +#[doc = " @error: A return location for error details"] +#[doc = ""] +#[doc = " The type of function that can be called before and after parsing."] +#[doc = ""] +#[doc = " Returns: %TRUE if the function completed successfully, %FALSE if an error"] +#[doc = " occurred, in which case @error should be set with g_set_error()"] +pub type GOptionParseFunc = ::std::option::Option< + unsafe extern "C" fn( + context: *mut GOptionContext, + group: *mut GOptionGroup, + data: gpointer, + error: *mut *mut GError, + ) -> gboolean, +>; +#[doc = " GOptionErrorFunc:"] +#[doc = " @context: The active #GOptionContext"] +#[doc = " @group: The group to which the function belongs"] +#[doc = " @data: User data added to the #GOptionGroup containing the option when it"] +#[doc = " was created with g_option_group_new()"] +#[doc = " @error: The #GError containing details about the parse error"] +#[doc = ""] +#[doc = " The type of function to be used as callback when a parse error occurs."] +pub type GOptionErrorFunc = ::std::option::Option< + unsafe extern "C" fn( + context: *mut GOptionContext, + group: *mut GOptionGroup, + data: gpointer, + error: *mut *mut GError, + ), +>; +pub const GOptionError_G_OPTION_ERROR_UNKNOWN_OPTION: GOptionError = 0; +pub const GOptionError_G_OPTION_ERROR_BAD_VALUE: GOptionError = 1; +pub const GOptionError_G_OPTION_ERROR_FAILED: GOptionError = 2; +#[doc = " GOptionError:"] +#[doc = " @G_OPTION_ERROR_UNKNOWN_OPTION: An option was not known to the parser."] +#[doc = " This error will only be reported, if the parser hasn't been instructed"] +#[doc = " to ignore unknown options, see g_option_context_set_ignore_unknown_options()."] +#[doc = " @G_OPTION_ERROR_BAD_VALUE: A value couldn't be parsed."] +#[doc = " @G_OPTION_ERROR_FAILED: A #GOptionArgFunc callback failed."] +#[doc = ""] +#[doc = " Error codes returned by option parsing."] +pub type GOptionError = u32; +extern "C" { + pub fn g_option_error_quark() -> GQuark; +} +#[doc = " GOptionEntry:"] +#[doc = " @long_name: The long name of an option can be used to specify it"] +#[doc = " in a commandline as `--long_name`. Every option must have a"] +#[doc = " long name. To resolve conflicts if multiple option groups contain"] +#[doc = " the same long name, it is also possible to specify the option as"] +#[doc = " `--groupname-long_name`."] +#[doc = " @short_name: If an option has a short name, it can be specified"] +#[doc = " `-short_name` in a commandline. @short_name must be a printable"] +#[doc = " ASCII character different from '-', or zero if the option has no"] +#[doc = " short name."] +#[doc = " @flags: Flags from #GOptionFlags"] +#[doc = " @arg: The type of the option, as a #GOptionArg"] +#[doc = " @arg_data: If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data"] +#[doc = " must point to a #GOptionArgFunc callback function, which will be"] +#[doc = " called to handle the extra argument. Otherwise, @arg_data is a"] +#[doc = " pointer to a location to store the value, the required type of"] +#[doc = " the location depends on the @arg type:"] +#[doc = " - %G_OPTION_ARG_NONE: %gboolean"] +#[doc = " - %G_OPTION_ARG_STRING: %gchar*"] +#[doc = " - %G_OPTION_ARG_INT: %gint"] +#[doc = " - %G_OPTION_ARG_FILENAME: %gchar*"] +#[doc = " - %G_OPTION_ARG_STRING_ARRAY: %gchar**"] +#[doc = " - %G_OPTION_ARG_FILENAME_ARRAY: %gchar**"] +#[doc = " - %G_OPTION_ARG_DOUBLE: %gdouble"] +#[doc = " If @arg type is %G_OPTION_ARG_STRING or %G_OPTION_ARG_FILENAME,"] +#[doc = " the location will contain a newly allocated string if the option"] +#[doc = " was given. That string needs to be freed by the callee using g_free()."] +#[doc = " Likewise if @arg type is %G_OPTION_ARG_STRING_ARRAY or"] +#[doc = " %G_OPTION_ARG_FILENAME_ARRAY, the data should be freed using g_strfreev()."] +#[doc = " @description: the description for the option in `--help`"] +#[doc = " output. The @description is translated using the @translate_func"] +#[doc = " of the group, see g_option_group_set_translation_domain()."] +#[doc = " @arg_description: The placeholder to use for the extra argument parsed"] +#[doc = " by the option in `--help` output. The @arg_description is translated"] +#[doc = " using the @translate_func of the group, see"] +#[doc = " g_option_group_set_translation_domain()."] +#[doc = ""] +#[doc = " A GOptionEntry struct defines a single option. To have an effect, they"] +#[doc = " must be added to a #GOptionGroup with g_option_context_add_main_entries()"] +#[doc = " or g_option_group_add_entries()."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GOptionEntry { + pub long_name: *const gchar, + pub short_name: gchar, + pub flags: gint, + pub arg: GOptionArg, + pub arg_data: gpointer, + pub description: *const gchar, + pub arg_description: *const gchar, +} +#[test] +fn bindgen_test_layout__GOptionEntry() { + assert_eq!( + ::std::mem::size_of::<_GOptionEntry>(), + 48usize, + concat!("Size of: ", stringify!(_GOptionEntry)) + ); + assert_eq!( + ::std::mem::align_of::<_GOptionEntry>(), + 8usize, + concat!("Alignment of ", stringify!(_GOptionEntry)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).long_name as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(long_name) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).short_name as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(short_name) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).flags as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).arg as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(arg) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).arg_data as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(arg_data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).description as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(description) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GOptionEntry>())).arg_description as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GOptionEntry), + "::", + stringify!(arg_description) + ) + ); +} +extern "C" { + pub fn g_option_context_new(parameter_string: *const gchar) -> *mut GOptionContext; +} +extern "C" { + pub fn g_option_context_set_summary(context: *mut GOptionContext, summary: *const gchar); +} +extern "C" { + pub fn g_option_context_get_summary(context: *mut GOptionContext) -> *const gchar; +} +extern "C" { + pub fn g_option_context_set_description( + context: *mut GOptionContext, + description: *const gchar, + ); +} +extern "C" { + pub fn g_option_context_get_description(context: *mut GOptionContext) -> *const gchar; +} +extern "C" { + pub fn g_option_context_free(context: *mut GOptionContext); +} +extern "C" { + pub fn g_option_context_set_help_enabled(context: *mut GOptionContext, help_enabled: gboolean); +} +extern "C" { + pub fn g_option_context_get_help_enabled(context: *mut GOptionContext) -> gboolean; +} +extern "C" { + pub fn g_option_context_set_ignore_unknown_options( + context: *mut GOptionContext, + ignore_unknown: gboolean, + ); +} +extern "C" { + pub fn g_option_context_get_ignore_unknown_options(context: *mut GOptionContext) -> gboolean; +} +extern "C" { + pub fn g_option_context_set_strict_posix(context: *mut GOptionContext, strict_posix: gboolean); +} +extern "C" { + pub fn g_option_context_get_strict_posix(context: *mut GOptionContext) -> gboolean; +} +extern "C" { + pub fn g_option_context_add_main_entries( + context: *mut GOptionContext, + entries: *const GOptionEntry, + translation_domain: *const gchar, + ); +} +extern "C" { + pub fn g_option_context_parse( + context: *mut GOptionContext, + argc: *mut gint, + argv: *mut *mut *mut gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_option_context_parse_strv( + context: *mut GOptionContext, + arguments: *mut *mut *mut gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_option_context_set_translate_func( + context: *mut GOptionContext, + func: GTranslateFunc, + data: gpointer, + destroy_notify: GDestroyNotify, + ); +} +extern "C" { + pub fn g_option_context_set_translation_domain( + context: *mut GOptionContext, + domain: *const gchar, + ); +} +extern "C" { + pub fn g_option_context_add_group(context: *mut GOptionContext, group: *mut GOptionGroup); +} +extern "C" { + pub fn g_option_context_set_main_group(context: *mut GOptionContext, group: *mut GOptionGroup); +} +extern "C" { + pub fn g_option_context_get_main_group(context: *mut GOptionContext) -> *mut GOptionGroup; +} +extern "C" { + pub fn g_option_context_get_help( + context: *mut GOptionContext, + main_help: gboolean, + group: *mut GOptionGroup, + ) -> *mut gchar; +} +extern "C" { + pub fn g_option_group_new( + name: *const gchar, + description: *const gchar, + help_description: *const gchar, + user_data: gpointer, + destroy: GDestroyNotify, + ) -> *mut GOptionGroup; +} +extern "C" { + pub fn g_option_group_set_parse_hooks( + group: *mut GOptionGroup, + pre_parse_func: GOptionParseFunc, + post_parse_func: GOptionParseFunc, + ); +} +extern "C" { + pub fn g_option_group_set_error_hook(group: *mut GOptionGroup, error_func: GOptionErrorFunc); +} +extern "C" { + pub fn g_option_group_free(group: *mut GOptionGroup); +} +extern "C" { + pub fn g_option_group_ref(group: *mut GOptionGroup) -> *mut GOptionGroup; +} +extern "C" { + pub fn g_option_group_unref(group: *mut GOptionGroup); +} +extern "C" { + pub fn g_option_group_add_entries(group: *mut GOptionGroup, entries: *const GOptionEntry); +} +extern "C" { + pub fn g_option_group_set_translate_func( + group: *mut GOptionGroup, + func: GTranslateFunc, + data: gpointer, + destroy_notify: GDestroyNotify, + ); +} +extern "C" { + pub fn g_option_group_set_translation_domain(group: *mut GOptionGroup, domain: *const gchar); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GPatternSpec { + _unused: [u8; 0], +} +pub type GPatternSpec = _GPatternSpec; +extern "C" { + pub fn g_pattern_spec_new(pattern: *const gchar) -> *mut GPatternSpec; +} +extern "C" { + pub fn g_pattern_spec_free(pspec: *mut GPatternSpec); +} +extern "C" { + pub fn g_pattern_spec_equal(pspec1: *mut GPatternSpec, pspec2: *mut GPatternSpec) -> gboolean; +} +extern "C" { + pub fn g_pattern_match( + pspec: *mut GPatternSpec, + string_length: guint, + string: *const gchar, + string_reversed: *const gchar, + ) -> gboolean; +} +extern "C" { + pub fn g_pattern_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_pattern_match_simple(pattern: *const gchar, string: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_spaced_primes_closest(num: guint) -> guint; +} +extern "C" { + pub fn g_qsort_with_data( + pbase: gconstpointer, + total_elems: gint, + size: gsize, + compare_func: GCompareDataFunc, + user_data: gpointer, + ); +} +pub type GQueue = _GQueue; +#[doc = " GQueue:"] +#[doc = " @head: a pointer to the first element of the queue"] +#[doc = " @tail: a pointer to the last element of the queue"] +#[doc = " @length: the number of elements in the queue"] +#[doc = ""] +#[doc = " Contains the public fields of a"] +#[doc = " [Queue][glib-Double-ended-Queues]."] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GQueue { + pub head: *mut GList, + pub tail: *mut GList, + pub length: guint, +} +#[test] +fn bindgen_test_layout__GQueue() { + assert_eq!( + ::std::mem::size_of::<_GQueue>(), + 24usize, + concat!("Size of: ", stringify!(_GQueue)) + ); + assert_eq!( + ::std::mem::align_of::<_GQueue>(), + 8usize, + concat!("Alignment of ", stringify!(_GQueue)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GQueue>())).head as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GQueue), + "::", + stringify!(head) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GQueue>())).tail as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GQueue), + "::", + stringify!(tail) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GQueue>())).length as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GQueue), + "::", + stringify!(length) + ) + ); +} +extern "C" { + pub fn g_queue_new() -> *mut GQueue; +} +extern "C" { + pub fn g_queue_free(queue: *mut GQueue); +} +extern "C" { + pub fn g_queue_free_full(queue: *mut GQueue, free_func: GDestroyNotify); +} +extern "C" { + pub fn g_queue_init(queue: *mut GQueue); +} +extern "C" { + pub fn g_queue_clear(queue: *mut GQueue); +} +extern "C" { + pub fn g_queue_is_empty(queue: *mut GQueue) -> gboolean; +} +extern "C" { + pub fn g_queue_get_length(queue: *mut GQueue) -> guint; +} +extern "C" { + pub fn g_queue_reverse(queue: *mut GQueue); +} +extern "C" { + pub fn g_queue_copy(queue: *mut GQueue) -> *mut GQueue; +} +extern "C" { + pub fn g_queue_foreach(queue: *mut GQueue, func: GFunc, user_data: gpointer); +} +extern "C" { + pub fn g_queue_find(queue: *mut GQueue, data: gconstpointer) -> *mut GList; +} +extern "C" { + pub fn g_queue_find_custom( + queue: *mut GQueue, + data: gconstpointer, + func: GCompareFunc, + ) -> *mut GList; +} +extern "C" { + pub fn g_queue_sort(queue: *mut GQueue, compare_func: GCompareDataFunc, user_data: gpointer); +} +extern "C" { + pub fn g_queue_push_head(queue: *mut GQueue, data: gpointer); +} +extern "C" { + pub fn g_queue_push_tail(queue: *mut GQueue, data: gpointer); +} +extern "C" { + pub fn g_queue_push_nth(queue: *mut GQueue, data: gpointer, n: gint); +} +extern "C" { + pub fn g_queue_pop_head(queue: *mut GQueue) -> gpointer; +} +extern "C" { + pub fn g_queue_pop_tail(queue: *mut GQueue) -> gpointer; +} +extern "C" { + pub fn g_queue_pop_nth(queue: *mut GQueue, n: guint) -> gpointer; +} +extern "C" { + pub fn g_queue_peek_head(queue: *mut GQueue) -> gpointer; +} +extern "C" { + pub fn g_queue_peek_tail(queue: *mut GQueue) -> gpointer; +} +extern "C" { + pub fn g_queue_peek_nth(queue: *mut GQueue, n: guint) -> gpointer; +} +extern "C" { + pub fn g_queue_index(queue: *mut GQueue, data: gconstpointer) -> gint; +} +extern "C" { + pub fn g_queue_remove(queue: *mut GQueue, data: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_queue_remove_all(queue: *mut GQueue, data: gconstpointer) -> guint; +} +extern "C" { + pub fn g_queue_insert_before(queue: *mut GQueue, sibling: *mut GList, data: gpointer); +} +extern "C" { + pub fn g_queue_insert_after(queue: *mut GQueue, sibling: *mut GList, data: gpointer); +} +extern "C" { + pub fn g_queue_insert_sorted( + queue: *mut GQueue, + data: gpointer, + func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_queue_push_head_link(queue: *mut GQueue, link_: *mut GList); +} +extern "C" { + pub fn g_queue_push_tail_link(queue: *mut GQueue, link_: *mut GList); +} +extern "C" { + pub fn g_queue_push_nth_link(queue: *mut GQueue, n: gint, link_: *mut GList); +} +extern "C" { + pub fn g_queue_pop_head_link(queue: *mut GQueue) -> *mut GList; +} +extern "C" { + pub fn g_queue_pop_tail_link(queue: *mut GQueue) -> *mut GList; +} +extern "C" { + pub fn g_queue_pop_nth_link(queue: *mut GQueue, n: guint) -> *mut GList; +} +extern "C" { + pub fn g_queue_peek_head_link(queue: *mut GQueue) -> *mut GList; +} +extern "C" { + pub fn g_queue_peek_tail_link(queue: *mut GQueue) -> *mut GList; +} +extern "C" { + pub fn g_queue_peek_nth_link(queue: *mut GQueue, n: guint) -> *mut GList; +} +extern "C" { + pub fn g_queue_link_index(queue: *mut GQueue, link_: *mut GList) -> gint; +} +extern "C" { + pub fn g_queue_unlink(queue: *mut GQueue, link_: *mut GList); +} +extern "C" { + pub fn g_queue_delete_link(queue: *mut GQueue, link_: *mut GList); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRand { + _unused: [u8; 0], +} +pub type GRand = _GRand; +extern "C" { + pub fn g_rand_new_with_seed(seed: guint32) -> *mut GRand; +} +extern "C" { + pub fn g_rand_new_with_seed_array(seed: *const guint32, seed_length: guint) -> *mut GRand; +} +extern "C" { + pub fn g_rand_new() -> *mut GRand; +} +extern "C" { + pub fn g_rand_free(rand_: *mut GRand); +} +extern "C" { + pub fn g_rand_copy(rand_: *mut GRand) -> *mut GRand; +} +extern "C" { + pub fn g_rand_set_seed(rand_: *mut GRand, seed: guint32); +} +extern "C" { + pub fn g_rand_set_seed_array(rand_: *mut GRand, seed: *const guint32, seed_length: guint); +} +extern "C" { + pub fn g_rand_int(rand_: *mut GRand) -> guint32; +} +extern "C" { + pub fn g_rand_int_range(rand_: *mut GRand, begin: gint32, end: gint32) -> gint32; +} +extern "C" { + pub fn g_rand_double(rand_: *mut GRand) -> gdouble; +} +extern "C" { + pub fn g_rand_double_range(rand_: *mut GRand, begin: gdouble, end: gdouble) -> gdouble; +} +extern "C" { + pub fn g_random_set_seed(seed: guint32); +} +extern "C" { + pub fn g_random_int() -> guint32; +} +extern "C" { + pub fn g_random_int_range(begin: gint32, end: gint32) -> gint32; +} +extern "C" { + pub fn g_random_double() -> gdouble; +} +extern "C" { + pub fn g_random_double_range(begin: gdouble, end: gdouble) -> gdouble; +} +pub const GRegexError_G_REGEX_ERROR_COMPILE: GRegexError = 0; +pub const GRegexError_G_REGEX_ERROR_OPTIMIZE: GRegexError = 1; +pub const GRegexError_G_REGEX_ERROR_REPLACE: GRegexError = 2; +pub const GRegexError_G_REGEX_ERROR_MATCH: GRegexError = 3; +pub const GRegexError_G_REGEX_ERROR_INTERNAL: GRegexError = 4; +pub const GRegexError_G_REGEX_ERROR_STRAY_BACKSLASH: GRegexError = 101; +pub const GRegexError_G_REGEX_ERROR_MISSING_CONTROL_CHAR: GRegexError = 102; +pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: GRegexError = 103; +pub const GRegexError_G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: GRegexError = 104; +pub const GRegexError_G_REGEX_ERROR_QUANTIFIER_TOO_BIG: GRegexError = 105; +pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: GRegexError = 106; +pub const GRegexError_G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: GRegexError = 107; +pub const GRegexError_G_REGEX_ERROR_RANGE_OUT_OF_ORDER: GRegexError = 108; +pub const GRegexError_G_REGEX_ERROR_NOTHING_TO_REPEAT: GRegexError = 109; +pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: GRegexError = 112; +pub const GRegexError_G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: GRegexError = 113; +pub const GRegexError_G_REGEX_ERROR_UNMATCHED_PARENTHESIS: GRegexError = 114; +pub const GRegexError_G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: GRegexError = 115; +pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_COMMENT: GRegexError = 118; +pub const GRegexError_G_REGEX_ERROR_EXPRESSION_TOO_LARGE: GRegexError = 120; +pub const GRegexError_G_REGEX_ERROR_MEMORY_ERROR: GRegexError = 121; +pub const GRegexError_G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: GRegexError = 125; +pub const GRegexError_G_REGEX_ERROR_MALFORMED_CONDITION: GRegexError = 126; +pub const GRegexError_G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: GRegexError = 127; +pub const GRegexError_G_REGEX_ERROR_ASSERTION_EXPECTED: GRegexError = 128; +pub const GRegexError_G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: GRegexError = 130; +pub const GRegexError_G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: GRegexError = 131; +pub const GRegexError_G_REGEX_ERROR_HEX_CODE_TOO_LARGE: GRegexError = 134; +pub const GRegexError_G_REGEX_ERROR_INVALID_CONDITION: GRegexError = 135; +pub const GRegexError_G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: GRegexError = 136; +pub const GRegexError_G_REGEX_ERROR_INFINITE_LOOP: GRegexError = 140; +pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: GRegexError = 142; +pub const GRegexError_G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: GRegexError = 143; +pub const GRegexError_G_REGEX_ERROR_MALFORMED_PROPERTY: GRegexError = 146; +pub const GRegexError_G_REGEX_ERROR_UNKNOWN_PROPERTY: GRegexError = 147; +pub const GRegexError_G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: GRegexError = 148; +pub const GRegexError_G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: GRegexError = 149; +pub const GRegexError_G_REGEX_ERROR_INVALID_OCTAL_VALUE: GRegexError = 151; +pub const GRegexError_G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: GRegexError = 154; +pub const GRegexError_G_REGEX_ERROR_DEFINE_REPETION: GRegexError = 155; +pub const GRegexError_G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: GRegexError = 156; +pub const GRegexError_G_REGEX_ERROR_MISSING_BACK_REFERENCE: GRegexError = 157; +pub const GRegexError_G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: GRegexError = 158; +pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: GRegexError = 159; +pub const GRegexError_G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: GRegexError = 160; +pub const GRegexError_G_REGEX_ERROR_NUMBER_TOO_BIG: GRegexError = 161; +pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: GRegexError = 162; +pub const GRegexError_G_REGEX_ERROR_MISSING_DIGIT: GRegexError = 163; +pub const GRegexError_G_REGEX_ERROR_INVALID_DATA_CHARACTER: GRegexError = 164; +pub const GRegexError_G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: GRegexError = 165; +pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: GRegexError = 166; +pub const GRegexError_G_REGEX_ERROR_INVALID_CONTROL_CHAR: GRegexError = 168; +pub const GRegexError_G_REGEX_ERROR_MISSING_NAME: GRegexError = 169; +pub const GRegexError_G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: GRegexError = 171; +pub const GRegexError_G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: GRegexError = 172; +pub const GRegexError_G_REGEX_ERROR_NAME_TOO_LONG: GRegexError = 175; +pub const GRegexError_G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: GRegexError = 176; +#[doc = " GRegexError:"] +#[doc = " @G_REGEX_ERROR_COMPILE: Compilation of the regular expression failed."] +#[doc = " @G_REGEX_ERROR_OPTIMIZE: Optimization of the regular expression failed."] +#[doc = " @G_REGEX_ERROR_REPLACE: Replacement failed due to an ill-formed replacement"] +#[doc = " string."] +#[doc = " @G_REGEX_ERROR_MATCH: The match process failed."] +#[doc = " @G_REGEX_ERROR_INTERNAL: Internal error of the regular expression engine."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_STRAY_BACKSLASH: \"\\\\\" at end of pattern. Since 2.16"] +#[doc = " @G_REGEX_ERROR_MISSING_CONTROL_CHAR: \"\\\\c\" at end of pattern. Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: Unrecognized character follows \"\\\\\"."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: Numbers out of order in \"{}\""] +#[doc = " quantifier. Since 2.16"] +#[doc = " @G_REGEX_ERROR_QUANTIFIER_TOO_BIG: Number too big in \"{}\" quantifier."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: Missing terminating \"]\" for"] +#[doc = " character class. Since 2.16"] +#[doc = " @G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: Invalid escape sequence"] +#[doc = " in character class. Since 2.16"] +#[doc = " @G_REGEX_ERROR_RANGE_OUT_OF_ORDER: Range out of order in character class."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_NOTHING_TO_REPEAT: Nothing to repeat. Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: Unrecognized character after \"(?\","] +#[doc = " \"(?<\" or \"(?P\". Since 2.16"] +#[doc = " @G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: POSIX named classes are"] +#[doc = " supported only within a class. Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNMATCHED_PARENTHESIS: Missing terminating \")\" or \")\""] +#[doc = " without opening \"(\". Since 2.16"] +#[doc = " @G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: Reference to non-existent"] +#[doc = " subpattern. Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNTERMINATED_COMMENT: Missing terminating \")\" after comment."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_EXPRESSION_TOO_LARGE: Regular expression too large."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_MEMORY_ERROR: Failed to get memory. Since 2.16"] +#[doc = " @G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: Lookbehind assertion is not"] +#[doc = " fixed length. Since 2.16"] +#[doc = " @G_REGEX_ERROR_MALFORMED_CONDITION: Malformed number or name after \"(?(\"."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: Conditional group contains"] +#[doc = " more than two branches. Since 2.16"] +#[doc = " @G_REGEX_ERROR_ASSERTION_EXPECTED: Assertion expected after \"(?(\"."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: Unknown POSIX class name."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: POSIX collating"] +#[doc = " elements are not supported. Since 2.16"] +#[doc = " @G_REGEX_ERROR_HEX_CODE_TOO_LARGE: Character value in \"\\\\x{...}\" sequence"] +#[doc = " is too large. Since 2.16"] +#[doc = " @G_REGEX_ERROR_INVALID_CONDITION: Invalid condition \"(?(0)\". Since 2.16"] +#[doc = " @G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: \\\\C not allowed in"] +#[doc = " lookbehind assertion. Since 2.16"] +#[doc = " @G_REGEX_ERROR_INFINITE_LOOP: Recursive call could loop indefinitely."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: Missing terminator"] +#[doc = " in subpattern name. Since 2.16"] +#[doc = " @G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: Two named subpatterns have"] +#[doc = " the same name. Since 2.16"] +#[doc = " @G_REGEX_ERROR_MALFORMED_PROPERTY: Malformed \"\\\\P\" or \"\\\\p\" sequence."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_UNKNOWN_PROPERTY: Unknown property name after \"\\\\P\" or"] +#[doc = " \"\\\\p\". Since 2.16"] +#[doc = " @G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: Subpattern name is too long"] +#[doc = " (maximum 32 characters). Since 2.16"] +#[doc = " @G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: Too many named subpatterns (maximum"] +#[doc = " 10,000). Since 2.16"] +#[doc = " @G_REGEX_ERROR_INVALID_OCTAL_VALUE: Octal value is greater than \"\\\\377\"."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: \"DEFINE\" group contains more"] +#[doc = " than one branch. Since 2.16"] +#[doc = " @G_REGEX_ERROR_DEFINE_REPETION: Repeating a \"DEFINE\" group is not allowed."] +#[doc = " This error is never raised. Since: 2.16 Deprecated: 2.34"] +#[doc = " @G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: Inconsistent newline options."] +#[doc = " Since 2.16"] +#[doc = " @G_REGEX_ERROR_MISSING_BACK_REFERENCE: \"\\\\g\" is not followed by a braced,"] +#[doc = " angle-bracketed, or quoted name or number, or by a plain number. Since: 2.16"] +#[doc = " @G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: relative reference must not be zero. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: the backtracing"] +#[doc = " control verb used does not allow an argument. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: unknown backtracing"] +#[doc = " control verb. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_NUMBER_TOO_BIG: number is too big in escape sequence. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: Missing subpattern name. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_MISSING_DIGIT: Missing digit. Since 2.34"] +#[doc = " @G_REGEX_ERROR_INVALID_DATA_CHARACTER: In JavaScript compatibility mode,"] +#[doc = " \"[\" is an invalid data character. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: different names for subpatterns of the"] +#[doc = " same number are not allowed. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: the backtracing control"] +#[doc = " verb requires an argument. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_INVALID_CONTROL_CHAR: \"\\\\c\" must be followed by an ASCII"] +#[doc = " character. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_MISSING_NAME: \"\\\\k\" is not followed by a braced, angle-bracketed, or"] +#[doc = " quoted name. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: \"\\\\N\" is not supported in a class. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: too many forward references. Since: 2.34"] +#[doc = " @G_REGEX_ERROR_NAME_TOO_LONG: the name is too long in \"(*MARK)\", \"(*PRUNE)\","] +#[doc = " \"(*SKIP)\", or \"(*THEN)\". Since: 2.34"] +#[doc = " @G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: the character value in the \\\\u sequence is"] +#[doc = " too large. Since: 2.34"] +#[doc = ""] +#[doc = " Error codes returned by regular expressions functions."] +#[doc = ""] +#[doc = " Since: 2.14"] +pub type GRegexError = u32; +extern "C" { + pub fn g_regex_error_quark() -> GQuark; +} +pub const GRegexCompileFlags_G_REGEX_CASELESS: GRegexCompileFlags = 1; +pub const GRegexCompileFlags_G_REGEX_MULTILINE: GRegexCompileFlags = 2; +pub const GRegexCompileFlags_G_REGEX_DOTALL: GRegexCompileFlags = 4; +pub const GRegexCompileFlags_G_REGEX_EXTENDED: GRegexCompileFlags = 8; +pub const GRegexCompileFlags_G_REGEX_ANCHORED: GRegexCompileFlags = 16; +pub const GRegexCompileFlags_G_REGEX_DOLLAR_ENDONLY: GRegexCompileFlags = 32; +pub const GRegexCompileFlags_G_REGEX_UNGREEDY: GRegexCompileFlags = 512; +pub const GRegexCompileFlags_G_REGEX_RAW: GRegexCompileFlags = 2048; +pub const GRegexCompileFlags_G_REGEX_NO_AUTO_CAPTURE: GRegexCompileFlags = 4096; +pub const GRegexCompileFlags_G_REGEX_OPTIMIZE: GRegexCompileFlags = 8192; +pub const GRegexCompileFlags_G_REGEX_FIRSTLINE: GRegexCompileFlags = 262144; +pub const GRegexCompileFlags_G_REGEX_DUPNAMES: GRegexCompileFlags = 524288; +pub const GRegexCompileFlags_G_REGEX_NEWLINE_CR: GRegexCompileFlags = 1048576; +pub const GRegexCompileFlags_G_REGEX_NEWLINE_LF: GRegexCompileFlags = 2097152; +pub const GRegexCompileFlags_G_REGEX_NEWLINE_CRLF: GRegexCompileFlags = 3145728; +pub const GRegexCompileFlags_G_REGEX_NEWLINE_ANYCRLF: GRegexCompileFlags = 5242880; +pub const GRegexCompileFlags_G_REGEX_BSR_ANYCRLF: GRegexCompileFlags = 8388608; +pub const GRegexCompileFlags_G_REGEX_JAVASCRIPT_COMPAT: GRegexCompileFlags = 33554432; +#[doc = " GRegexCompileFlags:"] +#[doc = " @G_REGEX_CASELESS: Letters in the pattern match both upper- and"] +#[doc = " lowercase letters. This option can be changed within a pattern"] +#[doc = " by a \"(?i)\" option setting."] +#[doc = " @G_REGEX_MULTILINE: By default, GRegex treats the strings as consisting"] +#[doc = " of a single line of characters (even if it actually contains"] +#[doc = " newlines). The \"start of line\" metacharacter (\"^\") matches only"] +#[doc = " at the start of the string, while the \"end of line\" metacharacter"] +#[doc = " (\"$\") matches only at the end of the string, or before a terminating"] +#[doc = " newline (unless #G_REGEX_DOLLAR_ENDONLY is set). When"] +#[doc = " #G_REGEX_MULTILINE is set, the \"start of line\" and \"end of line\""] +#[doc = " constructs match immediately following or immediately before any"] +#[doc = " newline in the string, respectively, as well as at the very start"] +#[doc = " and end. This can be changed within a pattern by a \"(?m)\" option"] +#[doc = " setting."] +#[doc = " @G_REGEX_DOTALL: A dot metacharacter (\".\") in the pattern matches all"] +#[doc = " characters, including newlines. Without it, newlines are excluded."] +#[doc = " This option can be changed within a pattern by a (\"?s\") option setting."] +#[doc = " @G_REGEX_EXTENDED: Whitespace data characters in the pattern are"] +#[doc = " totally ignored except when escaped or inside a character class."] +#[doc = " Whitespace does not include the VT character (code 11). In addition,"] +#[doc = " characters between an unescaped \"#\" outside a character class and"] +#[doc = " the next newline character, inclusive, are also ignored. This can"] +#[doc = " be changed within a pattern by a \"(?x)\" option setting."] +#[doc = " @G_REGEX_ANCHORED: The pattern is forced to be \"anchored\", that is,"] +#[doc = " it is constrained to match only at the first matching point in the"] +#[doc = " string that is being searched. This effect can also be achieved by"] +#[doc = " appropriate constructs in the pattern itself such as the \"^\""] +#[doc = " metacharacter."] +#[doc = " @G_REGEX_DOLLAR_ENDONLY: A dollar metacharacter (\"$\") in the pattern"] +#[doc = " matches only at the end of the string. Without this option, a"] +#[doc = " dollar also matches immediately before the final character if"] +#[doc = " it is a newline (but not before any other newlines). This option"] +#[doc = " is ignored if #G_REGEX_MULTILINE is set."] +#[doc = " @G_REGEX_UNGREEDY: Inverts the \"greediness\" of the quantifiers so that"] +#[doc = " they are not greedy by default, but become greedy if followed by \"?\"."] +#[doc = " It can also be set by a \"(?U)\" option setting within the pattern."] +#[doc = " @G_REGEX_RAW: Usually strings must be valid UTF-8 strings, using this"] +#[doc = " flag they are considered as a raw sequence of bytes."] +#[doc = " @G_REGEX_NO_AUTO_CAPTURE: Disables the use of numbered capturing"] +#[doc = " parentheses in the pattern. Any opening parenthesis that is not"] +#[doc = " followed by \"?\" behaves as if it were followed by \"?:\" but named"] +#[doc = " parentheses can still be used for capturing (and they acquire numbers"] +#[doc = " in the usual way)."] +#[doc = " @G_REGEX_OPTIMIZE: Optimize the regular expression. If the pattern will"] +#[doc = " be used many times, then it may be worth the effort to optimize it"] +#[doc = " to improve the speed of matches."] +#[doc = " @G_REGEX_FIRSTLINE: Limits an unanchored pattern to match before (or at) the"] +#[doc = " first newline. Since: 2.34"] +#[doc = " @G_REGEX_DUPNAMES: Names used to identify capturing subpatterns need not"] +#[doc = " be unique. This can be helpful for certain types of pattern when it"] +#[doc = " is known that only one instance of the named subpattern can ever be"] +#[doc = " matched."] +#[doc = " @G_REGEX_NEWLINE_CR: Usually any newline character or character sequence is"] +#[doc = " recognized. If this option is set, the only recognized newline character"] +#[doc = " is '\\r'."] +#[doc = " @G_REGEX_NEWLINE_LF: Usually any newline character or character sequence is"] +#[doc = " recognized. If this option is set, the only recognized newline character"] +#[doc = " is '\\n'."] +#[doc = " @G_REGEX_NEWLINE_CRLF: Usually any newline character or character sequence is"] +#[doc = " recognized. If this option is set, the only recognized newline character"] +#[doc = " sequence is '\\r\\n'."] +#[doc = " @G_REGEX_NEWLINE_ANYCRLF: Usually any newline character or character sequence"] +#[doc = " is recognized. If this option is set, the only recognized newline character"] +#[doc = " sequences are '\\r', '\\n', and '\\r\\n'. Since: 2.34"] +#[doc = " @G_REGEX_BSR_ANYCRLF: Usually any newline character or character sequence"] +#[doc = " is recognised. If this option is set, then \"\\R\" only recognizes the newline"] +#[doc = " characters '\\r', '\\n' and '\\r\\n'. Since: 2.34"] +#[doc = " @G_REGEX_JAVASCRIPT_COMPAT: Changes behaviour so that it is compatible with"] +#[doc = " JavaScript rather than PCRE. Since: 2.34"] +#[doc = ""] +#[doc = " Flags specifying compile-time options."] +#[doc = ""] +#[doc = " Since: 2.14"] +pub type GRegexCompileFlags = u32; +pub const GRegexMatchFlags_G_REGEX_MATCH_ANCHORED: GRegexMatchFlags = 16; +pub const GRegexMatchFlags_G_REGEX_MATCH_NOTBOL: GRegexMatchFlags = 128; +pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEOL: GRegexMatchFlags = 256; +pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY: GRegexMatchFlags = 1024; +pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL: GRegexMatchFlags = 32768; +pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CR: GRegexMatchFlags = 1048576; +pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_LF: GRegexMatchFlags = 2097152; +pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CRLF: GRegexMatchFlags = 3145728; +pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANY: GRegexMatchFlags = 4194304; +pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANYCRLF: GRegexMatchFlags = 5242880; +pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANYCRLF: GRegexMatchFlags = 8388608; +pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANY: GRegexMatchFlags = 16777216; +pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_SOFT: GRegexMatchFlags = 32768; +pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_HARD: GRegexMatchFlags = 134217728; +pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY_ATSTART: GRegexMatchFlags = 268435456; +#[doc = " GRegexMatchFlags:"] +#[doc = " @G_REGEX_MATCH_ANCHORED: The pattern is forced to be \"anchored\", that is,"] +#[doc = " it is constrained to match only at the first matching point in the"] +#[doc = " string that is being searched. This effect can also be achieved by"] +#[doc = " appropriate constructs in the pattern itself such as the \"^\""] +#[doc = " metacharacter."] +#[doc = " @G_REGEX_MATCH_NOTBOL: Specifies that first character of the string is"] +#[doc = " not the beginning of a line, so the circumflex metacharacter should"] +#[doc = " not match before it. Setting this without #G_REGEX_MULTILINE (at"] +#[doc = " compile time) causes circumflex never to match. This option affects"] +#[doc = " only the behaviour of the circumflex metacharacter, it does not"] +#[doc = " affect \"\\A\"."] +#[doc = " @G_REGEX_MATCH_NOTEOL: Specifies that the end of the subject string is"] +#[doc = " not the end of a line, so the dollar metacharacter should not match"] +#[doc = " it nor (except in multiline mode) a newline immediately before it."] +#[doc = " Setting this without #G_REGEX_MULTILINE (at compile time) causes"] +#[doc = " dollar never to match. This option affects only the behaviour of"] +#[doc = " the dollar metacharacter, it does not affect \"\\Z\" or \"\\z\"."] +#[doc = " @G_REGEX_MATCH_NOTEMPTY: An empty string is not considered to be a valid"] +#[doc = " match if this option is set. If there are alternatives in the pattern,"] +#[doc = " they are tried. If all the alternatives match the empty string, the"] +#[doc = " entire match fails. For example, if the pattern \"a?b?\" is applied to"] +#[doc = " a string not beginning with \"a\" or \"b\", it matches the empty string"] +#[doc = " at the start of the string. With this flag set, this match is not"] +#[doc = " valid, so GRegex searches further into the string for occurrences"] +#[doc = " of \"a\" or \"b\"."] +#[doc = " @G_REGEX_MATCH_PARTIAL: Turns on the partial matching feature, for more"] +#[doc = " documentation on partial matching see g_match_info_is_partial_match()."] +#[doc = " @G_REGEX_MATCH_NEWLINE_CR: Overrides the newline definition set when"] +#[doc = " creating a new #GRegex, setting the '\\r' character as line terminator."] +#[doc = " @G_REGEX_MATCH_NEWLINE_LF: Overrides the newline definition set when"] +#[doc = " creating a new #GRegex, setting the '\\n' character as line terminator."] +#[doc = " @G_REGEX_MATCH_NEWLINE_CRLF: Overrides the newline definition set when"] +#[doc = " creating a new #GRegex, setting the '\\r\\n' characters sequence as line terminator."] +#[doc = " @G_REGEX_MATCH_NEWLINE_ANY: Overrides the newline definition set when"] +#[doc = " creating a new #GRegex, any Unicode newline sequence"] +#[doc = " is recognised as a newline. These are '\\r', '\\n' and '\\rn', and the"] +#[doc = " single characters U+000B LINE TABULATION, U+000C FORM FEED (FF),"] +#[doc = " U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and"] +#[doc = " U+2029 PARAGRAPH SEPARATOR."] +#[doc = " @G_REGEX_MATCH_NEWLINE_ANYCRLF: Overrides the newline definition set when"] +#[doc = " creating a new #GRegex; any '\\r', '\\n', or '\\r\\n' character sequence"] +#[doc = " is recognized as a newline. Since: 2.34"] +#[doc = " @G_REGEX_MATCH_BSR_ANYCRLF: Overrides the newline definition for \"\\R\" set when"] +#[doc = " creating a new #GRegex; only '\\r', '\\n', or '\\r\\n' character sequences"] +#[doc = " are recognized as a newline by \"\\R\". Since: 2.34"] +#[doc = " @G_REGEX_MATCH_BSR_ANY: Overrides the newline definition for \"\\R\" set when"] +#[doc = " creating a new #GRegex; any Unicode newline character or character sequence"] +#[doc = " are recognized as a newline by \"\\R\". These are '\\r', '\\n' and '\\rn', and the"] +#[doc = " single characters U+000B LINE TABULATION, U+000C FORM FEED (FF),"] +#[doc = " U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and"] +#[doc = " U+2029 PARAGRAPH SEPARATOR. Since: 2.34"] +#[doc = " @G_REGEX_MATCH_PARTIAL_SOFT: An alias for #G_REGEX_MATCH_PARTIAL. Since: 2.34"] +#[doc = " @G_REGEX_MATCH_PARTIAL_HARD: Turns on the partial matching feature. In contrast to"] +#[doc = " to #G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match"] +#[doc = " is found, without continuing to search for a possible complete match. See"] +#[doc = " g_match_info_is_partial_match() for more information. Since: 2.34"] +#[doc = " @G_REGEX_MATCH_NOTEMPTY_ATSTART: Like #G_REGEX_MATCH_NOTEMPTY, but only applied to"] +#[doc = " the start of the matched string. For anchored"] +#[doc = " patterns this can only happen for pattern containing \"\\K\". Since: 2.34"] +#[doc = ""] +#[doc = " Flags specifying match-time options."] +#[doc = ""] +#[doc = " Since: 2.14"] +pub type GRegexMatchFlags = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRegex { + _unused: [u8; 0], +} +#[doc = " GRegex:"] +#[doc = ""] +#[doc = " A GRegex is the \"compiled\" form of a regular expression pattern."] +#[doc = " This structure is opaque and its fields cannot be accessed directly."] +#[doc = ""] +#[doc = " Since: 2.14"] +pub type GRegex = _GRegex; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMatchInfo { + _unused: [u8; 0], +} +#[doc = " GMatchInfo:"] +#[doc = ""] +#[doc = " A GMatchInfo is an opaque struct used to return information about"] +#[doc = " matches."] +pub type GMatchInfo = _GMatchInfo; +#[doc = " GRegexEvalCallback:"] +#[doc = " @match_info: the #GMatchInfo generated by the match."] +#[doc = " Use g_match_info_get_regex() and g_match_info_get_string() if you"] +#[doc = " need the #GRegex or the matched string."] +#[doc = " @result: a #GString containing the new string"] +#[doc = " @user_data: user data passed to g_regex_replace_eval()"] +#[doc = ""] +#[doc = " Specifies the type of the function passed to g_regex_replace_eval()."] +#[doc = " It is called for each occurrence of the pattern in the string passed"] +#[doc = " to g_regex_replace_eval(), and it should append the replacement to"] +#[doc = " @result."] +#[doc = ""] +#[doc = " Returns: %FALSE to continue the replacement process, %TRUE to stop it"] +#[doc = ""] +#[doc = " Since: 2.14"] +pub type GRegexEvalCallback = ::std::option::Option< + unsafe extern "C" fn( + match_info: *const GMatchInfo, + result: *mut GString, + user_data: gpointer, + ) -> gboolean, +>; +extern "C" { + pub fn g_regex_new( + pattern: *const gchar, + compile_options: GRegexCompileFlags, + match_options: GRegexMatchFlags, + error: *mut *mut GError, + ) -> *mut GRegex; +} +extern "C" { + pub fn g_regex_ref(regex: *mut GRegex) -> *mut GRegex; +} +extern "C" { + pub fn g_regex_unref(regex: *mut GRegex); +} +extern "C" { + pub fn g_regex_get_pattern(regex: *const GRegex) -> *const gchar; +} +extern "C" { + pub fn g_regex_get_max_backref(regex: *const GRegex) -> gint; +} +extern "C" { + pub fn g_regex_get_capture_count(regex: *const GRegex) -> gint; +} +extern "C" { + pub fn g_regex_get_has_cr_or_lf(regex: *const GRegex) -> gboolean; +} +extern "C" { + pub fn g_regex_get_max_lookbehind(regex: *const GRegex) -> gint; +} +extern "C" { + pub fn g_regex_get_string_number(regex: *const GRegex, name: *const gchar) -> gint; +} +extern "C" { + pub fn g_regex_escape_string(string: *const gchar, length: gint) -> *mut gchar; +} +extern "C" { + pub fn g_regex_escape_nul(string: *const gchar, length: gint) -> *mut gchar; +} +extern "C" { + pub fn g_regex_get_compile_flags(regex: *const GRegex) -> GRegexCompileFlags; +} +extern "C" { + pub fn g_regex_get_match_flags(regex: *const GRegex) -> GRegexMatchFlags; +} +extern "C" { + pub fn g_regex_match_simple( + pattern: *const gchar, + string: *const gchar, + compile_options: GRegexCompileFlags, + match_options: GRegexMatchFlags, + ) -> gboolean; +} +extern "C" { + pub fn g_regex_match( + regex: *const GRegex, + string: *const gchar, + match_options: GRegexMatchFlags, + match_info: *mut *mut GMatchInfo, + ) -> gboolean; +} +extern "C" { + pub fn g_regex_match_full( + regex: *const GRegex, + string: *const gchar, + string_len: gssize, + start_position: gint, + match_options: GRegexMatchFlags, + match_info: *mut *mut GMatchInfo, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_regex_match_all( + regex: *const GRegex, + string: *const gchar, + match_options: GRegexMatchFlags, + match_info: *mut *mut GMatchInfo, + ) -> gboolean; +} +extern "C" { + pub fn g_regex_match_all_full( + regex: *const GRegex, + string: *const gchar, + string_len: gssize, + start_position: gint, + match_options: GRegexMatchFlags, + match_info: *mut *mut GMatchInfo, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_regex_split_simple( + pattern: *const gchar, + string: *const gchar, + compile_options: GRegexCompileFlags, + match_options: GRegexMatchFlags, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_regex_split( + regex: *const GRegex, + string: *const gchar, + match_options: GRegexMatchFlags, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_regex_split_full( + regex: *const GRegex, + string: *const gchar, + string_len: gssize, + start_position: gint, + match_options: GRegexMatchFlags, + max_tokens: gint, + error: *mut *mut GError, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_regex_replace( + regex: *const GRegex, + string: *const gchar, + string_len: gssize, + start_position: gint, + replacement: *const gchar, + match_options: GRegexMatchFlags, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_regex_replace_literal( + regex: *const GRegex, + string: *const gchar, + string_len: gssize, + start_position: gint, + replacement: *const gchar, + match_options: GRegexMatchFlags, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_regex_replace_eval( + regex: *const GRegex, + string: *const gchar, + string_len: gssize, + start_position: gint, + match_options: GRegexMatchFlags, + eval: GRegexEvalCallback, + user_data: gpointer, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_regex_check_replacement( + replacement: *const gchar, + has_references: *mut gboolean, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_match_info_get_regex(match_info: *const GMatchInfo) -> *mut GRegex; +} +extern "C" { + pub fn g_match_info_get_string(match_info: *const GMatchInfo) -> *const gchar; +} +extern "C" { + pub fn g_match_info_ref(match_info: *mut GMatchInfo) -> *mut GMatchInfo; +} +extern "C" { + pub fn g_match_info_unref(match_info: *mut GMatchInfo); +} +extern "C" { + pub fn g_match_info_free(match_info: *mut GMatchInfo); +} +extern "C" { + pub fn g_match_info_next(match_info: *mut GMatchInfo, error: *mut *mut GError) -> gboolean; +} +extern "C" { + pub fn g_match_info_matches(match_info: *const GMatchInfo) -> gboolean; +} +extern "C" { + pub fn g_match_info_get_match_count(match_info: *const GMatchInfo) -> gint; +} +extern "C" { + pub fn g_match_info_is_partial_match(match_info: *const GMatchInfo) -> gboolean; +} +extern "C" { + pub fn g_match_info_expand_references( + match_info: *const GMatchInfo, + string_to_expand: *const gchar, + error: *mut *mut GError, + ) -> *mut gchar; +} +extern "C" { + pub fn g_match_info_fetch(match_info: *const GMatchInfo, match_num: gint) -> *mut gchar; +} +extern "C" { + pub fn g_match_info_fetch_pos( + match_info: *const GMatchInfo, + match_num: gint, + start_pos: *mut gint, + end_pos: *mut gint, + ) -> gboolean; +} +extern "C" { + pub fn g_match_info_fetch_named( + match_info: *const GMatchInfo, + name: *const gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_match_info_fetch_named_pos( + match_info: *const GMatchInfo, + name: *const gchar, + start_pos: *mut gint, + end_pos: *mut gint, + ) -> gboolean; +} +extern "C" { + pub fn g_match_info_fetch_all(match_info: *const GMatchInfo) -> *mut *mut gchar; +} +pub type GScanner = _GScanner; +pub type GScannerConfig = _GScannerConfig; +pub type GTokenValue = _GTokenValue; +pub type GScannerMsgFunc = ::std::option::Option< + unsafe extern "C" fn(scanner: *mut GScanner, message: *mut gchar, error: gboolean), +>; +pub const GErrorType_G_ERR_UNKNOWN: GErrorType = 0; +pub const GErrorType_G_ERR_UNEXP_EOF: GErrorType = 1; +pub const GErrorType_G_ERR_UNEXP_EOF_IN_STRING: GErrorType = 2; +pub const GErrorType_G_ERR_UNEXP_EOF_IN_COMMENT: GErrorType = 3; +pub const GErrorType_G_ERR_NON_DIGIT_IN_CONST: GErrorType = 4; +pub const GErrorType_G_ERR_DIGIT_RADIX: GErrorType = 5; +pub const GErrorType_G_ERR_FLOAT_RADIX: GErrorType = 6; +pub const GErrorType_G_ERR_FLOAT_MALFORMED: GErrorType = 7; +pub type GErrorType = u32; +pub const GTokenType_G_TOKEN_EOF: GTokenType = 0; +pub const GTokenType_G_TOKEN_LEFT_PAREN: GTokenType = 40; +pub const GTokenType_G_TOKEN_RIGHT_PAREN: GTokenType = 41; +pub const GTokenType_G_TOKEN_LEFT_CURLY: GTokenType = 123; +pub const GTokenType_G_TOKEN_RIGHT_CURLY: GTokenType = 125; +pub const GTokenType_G_TOKEN_LEFT_BRACE: GTokenType = 91; +pub const GTokenType_G_TOKEN_RIGHT_BRACE: GTokenType = 93; +pub const GTokenType_G_TOKEN_EQUAL_SIGN: GTokenType = 61; +pub const GTokenType_G_TOKEN_COMMA: GTokenType = 44; +pub const GTokenType_G_TOKEN_NONE: GTokenType = 256; +pub const GTokenType_G_TOKEN_ERROR: GTokenType = 257; +pub const GTokenType_G_TOKEN_CHAR: GTokenType = 258; +pub const GTokenType_G_TOKEN_BINARY: GTokenType = 259; +pub const GTokenType_G_TOKEN_OCTAL: GTokenType = 260; +pub const GTokenType_G_TOKEN_INT: GTokenType = 261; +pub const GTokenType_G_TOKEN_HEX: GTokenType = 262; +pub const GTokenType_G_TOKEN_FLOAT: GTokenType = 263; +pub const GTokenType_G_TOKEN_STRING: GTokenType = 264; +pub const GTokenType_G_TOKEN_SYMBOL: GTokenType = 265; +pub const GTokenType_G_TOKEN_IDENTIFIER: GTokenType = 266; +pub const GTokenType_G_TOKEN_IDENTIFIER_NULL: GTokenType = 267; +pub const GTokenType_G_TOKEN_COMMENT_SINGLE: GTokenType = 268; +pub const GTokenType_G_TOKEN_COMMENT_MULTI: GTokenType = 269; +pub const GTokenType_G_TOKEN_LAST: GTokenType = 270; +pub type GTokenType = u32; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GTokenValue { + pub v_symbol: gpointer, + pub v_identifier: *mut gchar, + pub v_binary: gulong, + pub v_octal: gulong, + pub v_int: gulong, + pub v_int64: guint64, + pub v_float: gdouble, + pub v_hex: gulong, + pub v_string: *mut gchar, + pub v_comment: *mut gchar, + pub v_char: guchar, + pub v_error: guint, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout__GTokenValue() { + assert_eq!( + ::std::mem::size_of::<_GTokenValue>(), + 8usize, + concat!("Size of: ", stringify!(_GTokenValue)) + ); + assert_eq!( + ::std::mem::align_of::<_GTokenValue>(), + 8usize, + concat!("Alignment of ", stringify!(_GTokenValue)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_symbol as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_symbol) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_identifier as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_identifier) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_binary as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_binary) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_octal as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_octal) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_int as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_int) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_int64 as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_int64) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_float as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_float) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_hex as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_hex) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_string as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_string) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_comment as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_comment) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_char as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_char) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTokenValue>())).v_error as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTokenValue), + "::", + stringify!(v_error) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GScannerConfig { + pub cset_skip_characters: *mut gchar, + pub cset_identifier_first: *mut gchar, + pub cset_identifier_nth: *mut gchar, + pub cpair_comment_single: *mut gchar, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize], u8>, + pub padding_dummy: guint, +} +#[test] +fn bindgen_test_layout__GScannerConfig() { + assert_eq!( + ::std::mem::size_of::<_GScannerConfig>(), + 40usize, + concat!("Size of: ", stringify!(_GScannerConfig)) + ); + assert_eq!( + ::std::mem::align_of::<_GScannerConfig>(), + 8usize, + concat!("Alignment of ", stringify!(_GScannerConfig)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GScannerConfig>())).cset_skip_characters as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GScannerConfig), + "::", + stringify!(cset_skip_characters) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GScannerConfig>())).cset_identifier_first as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GScannerConfig), + "::", + stringify!(cset_identifier_first) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GScannerConfig>())).cset_identifier_nth as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GScannerConfig), + "::", + stringify!(cset_identifier_nth) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GScannerConfig>())).cpair_comment_single as *const _ as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GScannerConfig), + "::", + stringify!(cpair_comment_single) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScannerConfig>())).padding_dummy as *const _ as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_GScannerConfig), + "::", + stringify!(padding_dummy) + ) + ); +} +impl _GScannerConfig { + #[inline] + pub fn case_sensitive(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_case_sensitive(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn skip_comment_multi(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_skip_comment_multi(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn skip_comment_single(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_skip_comment_single(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_comment_multi(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_comment_multi(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_identifier(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_identifier(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_identifier_1char(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_identifier_1char(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_identifier_NULL(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_identifier_NULL(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_symbols(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_symbols(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_binary(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_binary(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_octal(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_octal(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_float(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_float(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_hex(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_hex(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_hex_dollar(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_hex_dollar(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_string_sq(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_string_sq(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn scan_string_dq(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_scan_string_dq(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn numbers_2_int(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_numbers_2_int(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn int_2_float(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_int_2_float(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub fn identifier_2_string(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } + } + #[inline] + pub fn set_identifier_2_string(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub fn char_2_token(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_char_2_token(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub fn symbol_2_token(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_symbol_2_token(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub fn scope_0_fallback(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_scope_0_fallback(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn store_int64(&self) -> guint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_store_int64(&mut self, val: guint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + case_sensitive: guint, + skip_comment_multi: guint, + skip_comment_single: guint, + scan_comment_multi: guint, + scan_identifier: guint, + scan_identifier_1char: guint, + scan_identifier_NULL: guint, + scan_symbols: guint, + scan_binary: guint, + scan_octal: guint, + scan_float: guint, + scan_hex: guint, + scan_hex_dollar: guint, + scan_string_sq: guint, + scan_string_dq: guint, + numbers_2_int: guint, + int_2_float: guint, + identifier_2_string: guint, + char_2_token: guint, + symbol_2_token: guint, + scope_0_fallback: guint, + store_int64: guint, + ) -> __BindgenBitfieldUnit<[u8; 3usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let case_sensitive: u32 = unsafe { ::std::mem::transmute(case_sensitive) }; + case_sensitive as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let skip_comment_multi: u32 = unsafe { ::std::mem::transmute(skip_comment_multi) }; + skip_comment_multi as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let skip_comment_single: u32 = unsafe { ::std::mem::transmute(skip_comment_single) }; + skip_comment_single as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let scan_comment_multi: u32 = unsafe { ::std::mem::transmute(scan_comment_multi) }; + scan_comment_multi as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let scan_identifier: u32 = unsafe { ::std::mem::transmute(scan_identifier) }; + scan_identifier as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let scan_identifier_1char: u32 = + unsafe { ::std::mem::transmute(scan_identifier_1char) }; + scan_identifier_1char as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let scan_identifier_NULL: u32 = unsafe { ::std::mem::transmute(scan_identifier_NULL) }; + scan_identifier_NULL as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let scan_symbols: u32 = unsafe { ::std::mem::transmute(scan_symbols) }; + scan_symbols as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let scan_binary: u32 = unsafe { ::std::mem::transmute(scan_binary) }; + scan_binary as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let scan_octal: u32 = unsafe { ::std::mem::transmute(scan_octal) }; + scan_octal as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let scan_float: u32 = unsafe { ::std::mem::transmute(scan_float) }; + scan_float as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let scan_hex: u32 = unsafe { ::std::mem::transmute(scan_hex) }; + scan_hex as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let scan_hex_dollar: u32 = unsafe { ::std::mem::transmute(scan_hex_dollar) }; + scan_hex_dollar as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let scan_string_sq: u32 = unsafe { ::std::mem::transmute(scan_string_sq) }; + scan_string_sq as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let scan_string_dq: u32 = unsafe { ::std::mem::transmute(scan_string_dq) }; + scan_string_dq as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let numbers_2_int: u32 = unsafe { ::std::mem::transmute(numbers_2_int) }; + numbers_2_int as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let int_2_float: u32 = unsafe { ::std::mem::transmute(int_2_float) }; + int_2_float as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let identifier_2_string: u32 = unsafe { ::std::mem::transmute(identifier_2_string) }; + identifier_2_string as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let char_2_token: u32 = unsafe { ::std::mem::transmute(char_2_token) }; + char_2_token as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let symbol_2_token: u32 = unsafe { ::std::mem::transmute(symbol_2_token) }; + symbol_2_token as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let scope_0_fallback: u32 = unsafe { ::std::mem::transmute(scope_0_fallback) }; + scope_0_fallback as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let store_int64: u32 = unsafe { ::std::mem::transmute(store_int64) }; + store_int64 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GScanner { + pub user_data: gpointer, + pub max_parse_errors: guint, + pub parse_errors: guint, + pub input_name: *const gchar, + pub qdata: *mut GData, + pub config: *mut GScannerConfig, + pub token: GTokenType, + pub value: GTokenValue, + pub line: guint, + pub position: guint, + pub next_token: GTokenType, + pub next_value: GTokenValue, + pub next_line: guint, + pub next_position: guint, + pub symbol_table: *mut GHashTable, + pub input_fd: gint, + pub text: *const gchar, + pub text_end: *const gchar, + pub buffer: *mut gchar, + pub scope_id: guint, + pub msg_handler: GScannerMsgFunc, +} +#[test] +fn bindgen_test_layout__GScanner() { + assert_eq!( + ::std::mem::size_of::<_GScanner>(), + 144usize, + concat!("Size of: ", stringify!(_GScanner)) + ); + assert_eq!( + ::std::mem::align_of::<_GScanner>(), + 8usize, + concat!("Alignment of ", stringify!(_GScanner)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).user_data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(user_data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).max_parse_errors as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(max_parse_errors) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).parse_errors as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(parse_errors) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).input_name as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(input_name) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).qdata as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(qdata) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).config as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(config) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).token as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(token) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).value as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(value) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).line as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(line) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).position as *const _ as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(position) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).next_token as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(next_token) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).next_value as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(next_value) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).next_line as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(next_line) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).next_position as *const _ as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(next_position) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).symbol_table as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(symbol_table) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).input_fd as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(input_fd) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).text as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(text) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).text_end as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(text_end) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).buffer as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(buffer) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).scope_id as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(scope_id) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GScanner>())).msg_handler as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_GScanner), + "::", + stringify!(msg_handler) + ) + ); +} +extern "C" { + pub fn g_scanner_new(config_templ: *const GScannerConfig) -> *mut GScanner; +} +extern "C" { + pub fn g_scanner_destroy(scanner: *mut GScanner); +} +extern "C" { + pub fn g_scanner_input_file(scanner: *mut GScanner, input_fd: gint); +} +extern "C" { + pub fn g_scanner_sync_file_offset(scanner: *mut GScanner); +} +extern "C" { + pub fn g_scanner_input_text(scanner: *mut GScanner, text: *const gchar, text_len: guint); +} +extern "C" { + pub fn g_scanner_get_next_token(scanner: *mut GScanner) -> GTokenType; +} +extern "C" { + pub fn g_scanner_peek_next_token(scanner: *mut GScanner) -> GTokenType; +} +extern "C" { + pub fn g_scanner_cur_token(scanner: *mut GScanner) -> GTokenType; +} +extern "C" { + pub fn g_scanner_cur_value(scanner: *mut GScanner) -> GTokenValue; +} +extern "C" { + pub fn g_scanner_cur_line(scanner: *mut GScanner) -> guint; +} +extern "C" { + pub fn g_scanner_cur_position(scanner: *mut GScanner) -> guint; +} +extern "C" { + pub fn g_scanner_eof(scanner: *mut GScanner) -> gboolean; +} +extern "C" { + pub fn g_scanner_set_scope(scanner: *mut GScanner, scope_id: guint) -> guint; +} +extern "C" { + pub fn g_scanner_scope_add_symbol( + scanner: *mut GScanner, + scope_id: guint, + symbol: *const gchar, + value: gpointer, + ); +} +extern "C" { + pub fn g_scanner_scope_remove_symbol( + scanner: *mut GScanner, + scope_id: guint, + symbol: *const gchar, + ); +} +extern "C" { + pub fn g_scanner_scope_lookup_symbol( + scanner: *mut GScanner, + scope_id: guint, + symbol: *const gchar, + ) -> gpointer; +} +extern "C" { + pub fn g_scanner_scope_foreach_symbol( + scanner: *mut GScanner, + scope_id: guint, + func: GHFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_scanner_lookup_symbol(scanner: *mut GScanner, symbol: *const gchar) -> gpointer; +} +extern "C" { + pub fn g_scanner_unexp_token( + scanner: *mut GScanner, + expected_token: GTokenType, + identifier_spec: *const gchar, + symbol_spec: *const gchar, + symbol_name: *const gchar, + message: *const gchar, + is_error: gint, + ); +} +extern "C" { + pub fn g_scanner_error(scanner: *mut GScanner, format: *const gchar, ...); +} +extern "C" { + pub fn g_scanner_warn(scanner: *mut GScanner, format: *const gchar, ...); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSequence { + _unused: [u8; 0], +} +pub type GSequence = _GSequence; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GSequenceNode { + _unused: [u8; 0], +} +pub type GSequenceIter = _GSequenceNode; +pub type GSequenceIterCompareFunc = ::std::option::Option< + unsafe extern "C" fn(a: *mut GSequenceIter, b: *mut GSequenceIter, data: gpointer) -> gint, +>; +extern "C" { + pub fn g_sequence_new(data_destroy: GDestroyNotify) -> *mut GSequence; +} +extern "C" { + pub fn g_sequence_free(seq: *mut GSequence); +} +extern "C" { + pub fn g_sequence_get_length(seq: *mut GSequence) -> gint; +} +extern "C" { + pub fn g_sequence_foreach(seq: *mut GSequence, func: GFunc, user_data: gpointer); +} +extern "C" { + pub fn g_sequence_foreach_range( + begin: *mut GSequenceIter, + end: *mut GSequenceIter, + func: GFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_sequence_sort(seq: *mut GSequence, cmp_func: GCompareDataFunc, cmp_data: gpointer); +} +extern "C" { + pub fn g_sequence_sort_iter( + seq: *mut GSequence, + cmp_func: GSequenceIterCompareFunc, + cmp_data: gpointer, + ); +} +extern "C" { + pub fn g_sequence_is_empty(seq: *mut GSequence) -> gboolean; +} +extern "C" { + pub fn g_sequence_get_begin_iter(seq: *mut GSequence) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_get_end_iter(seq: *mut GSequence) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_get_iter_at_pos(seq: *mut GSequence, pos: gint) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_append(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_prepend(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_insert_before(iter: *mut GSequenceIter, data: gpointer) + -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_move(src: *mut GSequenceIter, dest: *mut GSequenceIter); +} +extern "C" { + pub fn g_sequence_swap(a: *mut GSequenceIter, b: *mut GSequenceIter); +} +extern "C" { + pub fn g_sequence_insert_sorted( + seq: *mut GSequence, + data: gpointer, + cmp_func: GCompareDataFunc, + cmp_data: gpointer, + ) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_insert_sorted_iter( + seq: *mut GSequence, + data: gpointer, + iter_cmp: GSequenceIterCompareFunc, + cmp_data: gpointer, + ) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_sort_changed( + iter: *mut GSequenceIter, + cmp_func: GCompareDataFunc, + cmp_data: gpointer, + ); +} +extern "C" { + pub fn g_sequence_sort_changed_iter( + iter: *mut GSequenceIter, + iter_cmp: GSequenceIterCompareFunc, + cmp_data: gpointer, + ); +} +extern "C" { + pub fn g_sequence_remove(iter: *mut GSequenceIter); +} +extern "C" { + pub fn g_sequence_remove_range(begin: *mut GSequenceIter, end: *mut GSequenceIter); +} +extern "C" { + pub fn g_sequence_move_range( + dest: *mut GSequenceIter, + begin: *mut GSequenceIter, + end: *mut GSequenceIter, + ); +} +extern "C" { + pub fn g_sequence_search( + seq: *mut GSequence, + data: gpointer, + cmp_func: GCompareDataFunc, + cmp_data: gpointer, + ) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_search_iter( + seq: *mut GSequence, + data: gpointer, + iter_cmp: GSequenceIterCompareFunc, + cmp_data: gpointer, + ) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_lookup( + seq: *mut GSequence, + data: gpointer, + cmp_func: GCompareDataFunc, + cmp_data: gpointer, + ) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_lookup_iter( + seq: *mut GSequence, + data: gpointer, + iter_cmp: GSequenceIterCompareFunc, + cmp_data: gpointer, + ) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_get(iter: *mut GSequenceIter) -> gpointer; +} +extern "C" { + pub fn g_sequence_set(iter: *mut GSequenceIter, data: gpointer); +} +extern "C" { + pub fn g_sequence_iter_is_begin(iter: *mut GSequenceIter) -> gboolean; +} +extern "C" { + pub fn g_sequence_iter_is_end(iter: *mut GSequenceIter) -> gboolean; +} +extern "C" { + pub fn g_sequence_iter_next(iter: *mut GSequenceIter) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_iter_prev(iter: *mut GSequenceIter) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_iter_get_position(iter: *mut GSequenceIter) -> gint; +} +extern "C" { + pub fn g_sequence_iter_move(iter: *mut GSequenceIter, delta: gint) -> *mut GSequenceIter; +} +extern "C" { + pub fn g_sequence_iter_get_sequence(iter: *mut GSequenceIter) -> *mut GSequence; +} +extern "C" { + pub fn g_sequence_iter_compare(a: *mut GSequenceIter, b: *mut GSequenceIter) -> gint; +} +extern "C" { + pub fn g_sequence_range_get_midpoint( + begin: *mut GSequenceIter, + end: *mut GSequenceIter, + ) -> *mut GSequenceIter; +} +pub const GShellError_G_SHELL_ERROR_BAD_QUOTING: GShellError = 0; +pub const GShellError_G_SHELL_ERROR_EMPTY_STRING: GShellError = 1; +pub const GShellError_G_SHELL_ERROR_FAILED: GShellError = 2; +pub type GShellError = u32; +extern "C" { + pub fn g_shell_error_quark() -> GQuark; +} +extern "C" { + pub fn g_shell_quote(unquoted_string: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_shell_unquote(quoted_string: *const gchar, error: *mut *mut GError) -> *mut gchar; +} +extern "C" { + pub fn g_shell_parse_argv( + command_line: *const gchar, + argcp: *mut gint, + argvp: *mut *mut *mut gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_slice_alloc(block_size: gsize) -> gpointer; +} +extern "C" { + pub fn g_slice_alloc0(block_size: gsize) -> gpointer; +} +extern "C" { + pub fn g_slice_copy(block_size: gsize, mem_block: gconstpointer) -> gpointer; +} +extern "C" { + pub fn g_slice_free1(block_size: gsize, mem_block: gpointer); +} +extern "C" { + pub fn g_slice_free_chain_with_offset( + block_size: gsize, + mem_chain: gpointer, + next_offset: gsize, + ); +} +pub const GSliceConfig_G_SLICE_CONFIG_ALWAYS_MALLOC: GSliceConfig = 1; +pub const GSliceConfig_G_SLICE_CONFIG_BYPASS_MAGAZINES: GSliceConfig = 2; +pub const GSliceConfig_G_SLICE_CONFIG_WORKING_SET_MSECS: GSliceConfig = 3; +pub const GSliceConfig_G_SLICE_CONFIG_COLOR_INCREMENT: GSliceConfig = 4; +pub const GSliceConfig_G_SLICE_CONFIG_CHUNK_SIZES: GSliceConfig = 5; +pub const GSliceConfig_G_SLICE_CONFIG_CONTENTION_COUNTER: GSliceConfig = 6; +pub type GSliceConfig = u32; +extern "C" { + pub fn g_slice_set_config(ckey: GSliceConfig, value: gint64); +} +extern "C" { + pub fn g_slice_get_config(ckey: GSliceConfig) -> gint64; +} +extern "C" { + pub fn g_slice_get_config_state( + ckey: GSliceConfig, + address: gint64, + n_values: *mut guint, + ) -> *mut gint64; +} +pub const GSpawnError_G_SPAWN_ERROR_FORK: GSpawnError = 0; +pub const GSpawnError_G_SPAWN_ERROR_READ: GSpawnError = 1; +pub const GSpawnError_G_SPAWN_ERROR_CHDIR: GSpawnError = 2; +pub const GSpawnError_G_SPAWN_ERROR_ACCES: GSpawnError = 3; +pub const GSpawnError_G_SPAWN_ERROR_PERM: GSpawnError = 4; +pub const GSpawnError_G_SPAWN_ERROR_TOO_BIG: GSpawnError = 5; +pub const GSpawnError_G_SPAWN_ERROR_2BIG: GSpawnError = 5; +pub const GSpawnError_G_SPAWN_ERROR_NOEXEC: GSpawnError = 6; +pub const GSpawnError_G_SPAWN_ERROR_NAMETOOLONG: GSpawnError = 7; +pub const GSpawnError_G_SPAWN_ERROR_NOENT: GSpawnError = 8; +pub const GSpawnError_G_SPAWN_ERROR_NOMEM: GSpawnError = 9; +pub const GSpawnError_G_SPAWN_ERROR_NOTDIR: GSpawnError = 10; +pub const GSpawnError_G_SPAWN_ERROR_LOOP: GSpawnError = 11; +pub const GSpawnError_G_SPAWN_ERROR_TXTBUSY: GSpawnError = 12; +pub const GSpawnError_G_SPAWN_ERROR_IO: GSpawnError = 13; +pub const GSpawnError_G_SPAWN_ERROR_NFILE: GSpawnError = 14; +pub const GSpawnError_G_SPAWN_ERROR_MFILE: GSpawnError = 15; +pub const GSpawnError_G_SPAWN_ERROR_INVAL: GSpawnError = 16; +pub const GSpawnError_G_SPAWN_ERROR_ISDIR: GSpawnError = 17; +pub const GSpawnError_G_SPAWN_ERROR_LIBBAD: GSpawnError = 18; +pub const GSpawnError_G_SPAWN_ERROR_FAILED: GSpawnError = 19; +#[doc = " GSpawnError:"] +#[doc = " @G_SPAWN_ERROR_FORK: Fork failed due to lack of memory."] +#[doc = " @G_SPAWN_ERROR_READ: Read or select on pipes failed."] +#[doc = " @G_SPAWN_ERROR_CHDIR: Changing to working directory failed."] +#[doc = " @G_SPAWN_ERROR_ACCES: execv() returned `EACCES`"] +#[doc = " @G_SPAWN_ERROR_PERM: execv() returned `EPERM`"] +#[doc = " @G_SPAWN_ERROR_TOO_BIG: execv() returned `E2BIG`"] +#[doc = " @G_SPAWN_ERROR_2BIG: deprecated alias for %G_SPAWN_ERROR_TOO_BIG"] +#[doc = " @G_SPAWN_ERROR_NOEXEC: execv() returned `ENOEXEC`"] +#[doc = " @G_SPAWN_ERROR_NAMETOOLONG: execv() returned `ENAMETOOLONG`"] +#[doc = " @G_SPAWN_ERROR_NOENT: execv() returned `ENOENT`"] +#[doc = " @G_SPAWN_ERROR_NOMEM: execv() returned `ENOMEM`"] +#[doc = " @G_SPAWN_ERROR_NOTDIR: execv() returned `ENOTDIR`"] +#[doc = " @G_SPAWN_ERROR_LOOP: execv() returned `ELOOP`"] +#[doc = " @G_SPAWN_ERROR_TXTBUSY: execv() returned `ETXTBUSY`"] +#[doc = " @G_SPAWN_ERROR_IO: execv() returned `EIO`"] +#[doc = " @G_SPAWN_ERROR_NFILE: execv() returned `ENFILE`"] +#[doc = " @G_SPAWN_ERROR_MFILE: execv() returned `EMFILE`"] +#[doc = " @G_SPAWN_ERROR_INVAL: execv() returned `EINVAL`"] +#[doc = " @G_SPAWN_ERROR_ISDIR: execv() returned `EISDIR`"] +#[doc = " @G_SPAWN_ERROR_LIBBAD: execv() returned `ELIBBAD`"] +#[doc = " @G_SPAWN_ERROR_FAILED: Some other fatal failure,"] +#[doc = " `error->message` should explain."] +#[doc = ""] +#[doc = " Error codes returned by spawning processes."] +pub type GSpawnError = u32; +#[doc = " GSpawnChildSetupFunc:"] +#[doc = " @user_data: (closure): user data to pass to the function."] +#[doc = ""] +#[doc = " Specifies the type of the setup function passed to g_spawn_async(),"] +#[doc = " g_spawn_sync() and g_spawn_async_with_pipes(), which can, in very"] +#[doc = " limited ways, be used to affect the child's execution."] +#[doc = ""] +#[doc = " On POSIX platforms, the function is called in the child after GLib"] +#[doc = " has performed all the setup it plans to perform, but before calling"] +#[doc = " exec(). Actions taken in this function will only affect the child,"] +#[doc = " not the parent."] +#[doc = ""] +#[doc = " On Windows, the function is called in the parent. Its usefulness on"] +#[doc = " Windows is thus questionable. In many cases executing the child setup"] +#[doc = " function in the parent can have ill effects, and you should be very"] +#[doc = " careful when porting software to Windows that uses child setup"] +#[doc = " functions."] +#[doc = ""] +#[doc = " However, even on POSIX, you are extremely limited in what you can"] +#[doc = " safely do from a #GSpawnChildSetupFunc, because any mutexes that were"] +#[doc = " held by other threads in the parent process at the time of the fork()"] +#[doc = " will still be locked in the child process, and they will never be"] +#[doc = " unlocked (since the threads that held them don't exist in the child)."] +#[doc = " POSIX allows only async-signal-safe functions (see signal(7)) to be"] +#[doc = " called in the child between fork() and exec(), which drastically limits"] +#[doc = " the usefulness of child setup functions."] +#[doc = ""] +#[doc = " In particular, it is not safe to call any function which may"] +#[doc = " call malloc(), which includes POSIX functions such as setenv()."] +#[doc = " If you need to set up the child environment differently from"] +#[doc = " the parent, you should use g_get_environ(), g_environ_setenv(),"] +#[doc = " and g_environ_unsetenv(), and then pass the complete environment"] +#[doc = " list to the `g_spawn...` function."] +pub type GSpawnChildSetupFunc = ::std::option::Option; +pub const GSpawnFlags_G_SPAWN_DEFAULT: GSpawnFlags = 0; +pub const GSpawnFlags_G_SPAWN_LEAVE_DESCRIPTORS_OPEN: GSpawnFlags = 1; +pub const GSpawnFlags_G_SPAWN_DO_NOT_REAP_CHILD: GSpawnFlags = 2; +pub const GSpawnFlags_G_SPAWN_SEARCH_PATH: GSpawnFlags = 4; +pub const GSpawnFlags_G_SPAWN_STDOUT_TO_DEV_NULL: GSpawnFlags = 8; +pub const GSpawnFlags_G_SPAWN_STDERR_TO_DEV_NULL: GSpawnFlags = 16; +pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDIN: GSpawnFlags = 32; +pub const GSpawnFlags_G_SPAWN_FILE_AND_ARGV_ZERO: GSpawnFlags = 64; +pub const GSpawnFlags_G_SPAWN_SEARCH_PATH_FROM_ENVP: GSpawnFlags = 128; +pub const GSpawnFlags_G_SPAWN_CLOEXEC_PIPES: GSpawnFlags = 256; +#[doc = " GSpawnFlags:"] +#[doc = " @G_SPAWN_DEFAULT: no flags, default behaviour"] +#[doc = " @G_SPAWN_LEAVE_DESCRIPTORS_OPEN: the parent's open file descriptors will"] +#[doc = " be inherited by the child; otherwise all descriptors except stdin,"] +#[doc = " stdout and stderr will be closed before calling exec() in the child."] +#[doc = " @G_SPAWN_DO_NOT_REAP_CHILD: the child will not be automatically reaped;"] +#[doc = " you must use g_child_watch_add() yourself (or call waitpid() or handle"] +#[doc = " `SIGCHLD` yourself), or the child will become a zombie."] +#[doc = " @G_SPAWN_SEARCH_PATH: `argv[0]` need not be an absolute path, it will be"] +#[doc = " looked for in the user's `PATH`."] +#[doc = " @G_SPAWN_STDOUT_TO_DEV_NULL: the child's standard output will be discarded,"] +#[doc = " instead of going to the same location as the parent's standard output."] +#[doc = " @G_SPAWN_STDERR_TO_DEV_NULL: the child's standard error will be discarded."] +#[doc = " @G_SPAWN_CHILD_INHERITS_STDIN: the child will inherit the parent's standard"] +#[doc = " input (by default, the child's standard input is attached to `/dev/null`)."] +#[doc = " @G_SPAWN_FILE_AND_ARGV_ZERO: the first element of `argv` is the file to"] +#[doc = " execute, while the remaining elements are the actual argument vector"] +#[doc = " to pass to the file. Normally g_spawn_async_with_pipes() uses `argv[0]`"] +#[doc = " as the file to execute, and passes all of `argv` to the child."] +#[doc = " @G_SPAWN_SEARCH_PATH_FROM_ENVP: if `argv[0]` is not an abolute path,"] +#[doc = " it will be looked for in the `PATH` from the passed child environment."] +#[doc = " Since: 2.34"] +#[doc = " @G_SPAWN_CLOEXEC_PIPES: create all pipes with the `O_CLOEXEC` flag set."] +#[doc = " Since: 2.40"] +#[doc = ""] +#[doc = " Flags passed to g_spawn_sync(), g_spawn_async() and g_spawn_async_with_pipes()."] +pub type GSpawnFlags = u32; +extern "C" { + pub fn g_spawn_error_quark() -> GQuark; +} +extern "C" { + pub fn g_spawn_exit_error_quark() -> GQuark; +} +extern "C" { + pub fn g_spawn_async( + working_directory: *const gchar, + argv: *mut *mut gchar, + envp: *mut *mut gchar, + flags: GSpawnFlags, + child_setup: GSpawnChildSetupFunc, + user_data: gpointer, + child_pid: *mut GPid, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_spawn_async_with_pipes( + working_directory: *const gchar, + argv: *mut *mut gchar, + envp: *mut *mut gchar, + flags: GSpawnFlags, + child_setup: GSpawnChildSetupFunc, + user_data: gpointer, + child_pid: *mut GPid, + standard_input: *mut gint, + standard_output: *mut gint, + standard_error: *mut gint, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_spawn_sync( + working_directory: *const gchar, + argv: *mut *mut gchar, + envp: *mut *mut gchar, + flags: GSpawnFlags, + child_setup: GSpawnChildSetupFunc, + user_data: gpointer, + standard_output: *mut *mut gchar, + standard_error: *mut *mut gchar, + exit_status: *mut gint, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_spawn_command_line_sync( + command_line: *const gchar, + standard_output: *mut *mut gchar, + standard_error: *mut *mut gchar, + exit_status: *mut gint, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_spawn_command_line_async( + command_line: *const gchar, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_spawn_check_exit_status(exit_status: gint, error: *mut *mut GError) -> gboolean; +} +extern "C" { + pub fn g_spawn_close_pid(pid: GPid); +} +pub const GAsciiType_G_ASCII_ALNUM: GAsciiType = 1; +pub const GAsciiType_G_ASCII_ALPHA: GAsciiType = 2; +pub const GAsciiType_G_ASCII_CNTRL: GAsciiType = 4; +pub const GAsciiType_G_ASCII_DIGIT: GAsciiType = 8; +pub const GAsciiType_G_ASCII_GRAPH: GAsciiType = 16; +pub const GAsciiType_G_ASCII_LOWER: GAsciiType = 32; +pub const GAsciiType_G_ASCII_PRINT: GAsciiType = 64; +pub const GAsciiType_G_ASCII_PUNCT: GAsciiType = 128; +pub const GAsciiType_G_ASCII_SPACE: GAsciiType = 256; +pub const GAsciiType_G_ASCII_UPPER: GAsciiType = 512; +pub const GAsciiType_G_ASCII_XDIGIT: GAsciiType = 1024; +pub type GAsciiType = u32; +extern "C" { + pub static g_ascii_table: *const guint16; +} +extern "C" { + pub fn g_ascii_tolower(c: gchar) -> gchar; +} +extern "C" { + pub fn g_ascii_toupper(c: gchar) -> gchar; +} +extern "C" { + pub fn g_ascii_digit_value(c: gchar) -> gint; +} +extern "C" { + pub fn g_ascii_xdigit_value(c: gchar) -> gint; +} +extern "C" { + pub fn g_strdelimit( + string: *mut gchar, + delimiters: *const gchar, + new_delimiter: gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_strcanon( + string: *mut gchar, + valid_chars: *const gchar, + substitutor: gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_strerror(errnum: gint) -> *const gchar; +} +extern "C" { + pub fn g_strsignal(signum: gint) -> *const gchar; +} +extern "C" { + pub fn g_strreverse(string: *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strlcpy(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize; +} +extern "C" { + pub fn g_strlcat(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize; +} +extern "C" { + pub fn g_strstr_len( + haystack: *const gchar, + haystack_len: gssize, + needle: *const gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_strrstr(haystack: *const gchar, needle: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strrstr_len( + haystack: *const gchar, + haystack_len: gssize, + needle: *const gchar, + ) -> *mut gchar; +} +extern "C" { + pub fn g_str_has_suffix(str: *const gchar, suffix: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_str_has_prefix(str: *const gchar, prefix: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble; +} +extern "C" { + pub fn g_ascii_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble; +} +extern "C" { + pub fn g_ascii_strtoull(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> guint64; +} +extern "C" { + pub fn g_ascii_strtoll(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> gint64; +} +extern "C" { + pub fn g_ascii_dtostr(buffer: *mut gchar, buf_len: gint, d: gdouble) -> *mut gchar; +} +extern "C" { + pub fn g_ascii_formatd( + buffer: *mut gchar, + buf_len: gint, + format: *const gchar, + d: gdouble, + ) -> *mut gchar; +} +extern "C" { + pub fn g_strchug(string: *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strchomp(string: *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_ascii_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint; +} +extern "C" { + pub fn g_ascii_strncasecmp(s1: *const gchar, s2: *const gchar, n: gsize) -> gint; +} +extern "C" { + pub fn g_ascii_strdown(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_ascii_strup(str: *const gchar, len: gssize) -> *mut gchar; +} +extern "C" { + pub fn g_str_is_ascii(str: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint; +} +extern "C" { + pub fn g_strncasecmp(s1: *const gchar, s2: *const gchar, n: guint) -> gint; +} +extern "C" { + pub fn g_strdown(string: *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strup(string: *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strdup(str: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strdup_printf(format: *const gchar, ...) -> *mut gchar; +} +extern "C" { + pub fn g_strdup_vprintf(format: *const gchar, args: *mut __va_list_tag) -> *mut gchar; +} +extern "C" { + pub fn g_strndup(str: *const gchar, n: gsize) -> *mut gchar; +} +extern "C" { + pub fn g_strnfill(length: gsize, fill_char: gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strconcat(string1: *const gchar, ...) -> *mut gchar; +} +extern "C" { + pub fn g_strjoin(separator: *const gchar, ...) -> *mut gchar; +} +extern "C" { + pub fn g_strcompress(source: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strescape(source: *const gchar, exceptions: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_memdup(mem: gconstpointer, byte_size: guint) -> gpointer; +} +pub type GStrv = *mut *mut gchar; +extern "C" { + pub fn g_strsplit( + string: *const gchar, + delimiter: *const gchar, + max_tokens: gint, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_strsplit_set( + string: *const gchar, + delimiters: *const gchar, + max_tokens: gint, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_strjoinv(separator: *const gchar, str_array: *mut *mut gchar) -> *mut gchar; +} +extern "C" { + pub fn g_strfreev(str_array: *mut *mut gchar); +} +extern "C" { + pub fn g_strdupv(str_array: *mut *mut gchar) -> *mut *mut gchar; +} +extern "C" { + pub fn g_strv_length(str_array: *mut *mut gchar) -> guint; +} +extern "C" { + pub fn g_stpcpy(dest: *mut gchar, src: *const ::std::os::raw::c_char) -> *mut gchar; +} +extern "C" { + pub fn g_str_to_ascii(str: *const gchar, from_locale: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_str_tokenize_and_fold( + string: *const gchar, + translit_locale: *const gchar, + ascii_alternates: *mut *mut *mut gchar, + ) -> *mut *mut gchar; +} +extern "C" { + pub fn g_str_match_string( + search_term: *const gchar, + potential_hit: *const gchar, + accept_alternates: gboolean, + ) -> gboolean; +} +extern "C" { + pub fn g_strv_contains(strv: *const *const gchar, str: *const gchar) -> gboolean; +} +pub const GNumberParserError_G_NUMBER_PARSER_ERROR_INVALID: GNumberParserError = 0; +pub const GNumberParserError_G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: GNumberParserError = 1; +#[doc = " GNumberParserError:"] +#[doc = " @G_NUMBER_PARSER_ERROR_INVALID: String was not a valid number."] +#[doc = " @G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: String was a number, but out of bounds."] +#[doc = ""] +#[doc = " Error codes returned by functions converting a string to a number."] +#[doc = ""] +#[doc = " Since: 2.54"] +pub type GNumberParserError = u32; +extern "C" { + pub fn g_number_parser_error_quark() -> GQuark; +} +extern "C" { + pub fn g_ascii_string_to_signed( + str: *const gchar, + base: guint, + min: gint64, + max: gint64, + out_num: *mut gint64, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_ascii_string_to_unsigned( + str: *const gchar, + base: guint, + min: guint64, + max: guint64, + out_num: *mut guint64, + error: *mut *mut GError, + ) -> gboolean; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GStringChunk { + _unused: [u8; 0], +} +pub type GStringChunk = _GStringChunk; +extern "C" { + pub fn g_string_chunk_new(size: gsize) -> *mut GStringChunk; +} +extern "C" { + pub fn g_string_chunk_free(chunk: *mut GStringChunk); +} +extern "C" { + pub fn g_string_chunk_clear(chunk: *mut GStringChunk); +} +extern "C" { + pub fn g_string_chunk_insert(chunk: *mut GStringChunk, string: *const gchar) -> *mut gchar; +} +extern "C" { + pub fn g_string_chunk_insert_len( + chunk: *mut GStringChunk, + string: *const gchar, + len: gssize, + ) -> *mut gchar; +} +extern "C" { + pub fn g_string_chunk_insert_const( + chunk: *mut GStringChunk, + string: *const gchar, + ) -> *mut gchar; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GTestCase { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GTestSuite { + _unused: [u8; 0], +} +pub type GTestFunc = ::std::option::Option; +pub type GTestDataFunc = ::std::option::Option; +pub type GTestFixtureFunc = + ::std::option::Option; +extern "C" { + pub fn g_strcmp0( + str1: *const ::std::os::raw::c_char, + str2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn g_test_minimized_result( + minimized_quantity: f64, + format: *const ::std::os::raw::c_char, + ... + ); +} +extern "C" { + pub fn g_test_maximized_result( + maximized_quantity: f64, + format: *const ::std::os::raw::c_char, + ... + ); +} +extern "C" { + pub fn g_test_init( + argc: *mut ::std::os::raw::c_int, + argv: *mut *mut *mut ::std::os::raw::c_char, + ... + ); +} +extern "C" { + pub fn g_test_subprocess() -> gboolean; +} +extern "C" { + pub fn g_test_run() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn g_test_add_func(testpath: *const ::std::os::raw::c_char, test_func: GTestFunc); +} +extern "C" { + pub fn g_test_add_data_func( + testpath: *const ::std::os::raw::c_char, + test_data: gconstpointer, + test_func: GTestDataFunc, + ); +} +extern "C" { + pub fn g_test_add_data_func_full( + testpath: *const ::std::os::raw::c_char, + test_data: gpointer, + test_func: GTestDataFunc, + data_free_func: GDestroyNotify, + ); +} +extern "C" { + pub fn g_test_fail(); +} +extern "C" { + pub fn g_test_incomplete(msg: *const gchar); +} +extern "C" { + pub fn g_test_skip(msg: *const gchar); +} +extern "C" { + pub fn g_test_failed() -> gboolean; +} +extern "C" { + pub fn g_test_set_nonfatal_assertions(); +} +extern "C" { + pub fn g_test_message(format: *const ::std::os::raw::c_char, ...); +} +extern "C" { + pub fn g_test_bug_base(uri_pattern: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn g_test_bug(bug_uri_snippet: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn g_test_timer_start(); +} +extern "C" { + pub fn g_test_timer_elapsed() -> f64; +} +extern "C" { + pub fn g_test_timer_last() -> f64; +} +extern "C" { + pub fn g_test_queue_free(gfree_pointer: gpointer); +} +extern "C" { + pub fn g_test_queue_destroy(destroy_func: GDestroyNotify, destroy_data: gpointer); +} +pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDOUT: GTestTrapFlags = 128; +pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDERR: GTestTrapFlags = 256; +pub const GTestTrapFlags_G_TEST_TRAP_INHERIT_STDIN: GTestTrapFlags = 512; +pub type GTestTrapFlags = u32; +extern "C" { + pub fn g_test_trap_fork(usec_timeout: guint64, test_trap_flags: GTestTrapFlags) -> gboolean; +} +pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDIN: GTestSubprocessFlags = 1; +pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDOUT: GTestSubprocessFlags = 2; +pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDERR: GTestSubprocessFlags = 4; +pub type GTestSubprocessFlags = u32; +extern "C" { + pub fn g_test_trap_subprocess( + test_path: *const ::std::os::raw::c_char, + usec_timeout: guint64, + test_flags: GTestSubprocessFlags, + ); +} +extern "C" { + pub fn g_test_trap_has_passed() -> gboolean; +} +extern "C" { + pub fn g_test_trap_reached_timeout() -> gboolean; +} +extern "C" { + pub fn g_test_rand_int() -> gint32; +} +extern "C" { + pub fn g_test_rand_int_range(begin: gint32, end: gint32) -> gint32; +} +extern "C" { + pub fn g_test_rand_double() -> f64; +} +extern "C" { + pub fn g_test_rand_double_range(range_start: f64, range_end: f64) -> f64; +} +extern "C" { + pub fn g_test_create_case( + test_name: *const ::std::os::raw::c_char, + data_size: gsize, + test_data: gconstpointer, + data_setup: GTestFixtureFunc, + data_test: GTestFixtureFunc, + data_teardown: GTestFixtureFunc, + ) -> *mut GTestCase; +} +extern "C" { + pub fn g_test_create_suite(suite_name: *const ::std::os::raw::c_char) -> *mut GTestSuite; +} +extern "C" { + pub fn g_test_get_root() -> *mut GTestSuite; +} +extern "C" { + pub fn g_test_suite_add(suite: *mut GTestSuite, test_case: *mut GTestCase); +} +extern "C" { + pub fn g_test_suite_add_suite(suite: *mut GTestSuite, nestedsuite: *mut GTestSuite); +} +extern "C" { + pub fn g_test_run_suite(suite: *mut GTestSuite) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn g_test_trap_assertions( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + assertion_flags: guint64, + pattern: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_assertion_message( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + message: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_assertion_message_expr( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + expr: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_assertion_message_cmpstr( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + expr: *const ::std::os::raw::c_char, + arg1: *const ::std::os::raw::c_char, + cmp: *const ::std::os::raw::c_char, + arg2: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_assertion_message_cmpnum( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + expr: *const ::std::os::raw::c_char, + arg1: u128, + cmp: *const ::std::os::raw::c_char, + arg2: u128, + numtype: ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn g_assertion_message_error( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + expr: *const ::std::os::raw::c_char, + error: *const GError, + error_domain: GQuark, + error_code: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn g_test_add_vtable( + testpath: *const ::std::os::raw::c_char, + data_size: gsize, + test_data: gconstpointer, + data_setup: GTestFixtureFunc, + data_test: GTestFixtureFunc, + data_teardown: GTestFixtureFunc, + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GTestConfig { + pub test_initialized: gboolean, + pub test_quick: gboolean, + pub test_perf: gboolean, + pub test_verbose: gboolean, + pub test_quiet: gboolean, + pub test_undefined: gboolean, +} +#[test] +fn bindgen_test_layout_GTestConfig() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(GTestConfig)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(GTestConfig)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).test_initialized as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(GTestConfig), + "::", + stringify!(test_initialized) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).test_quick as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(GTestConfig), + "::", + stringify!(test_quick) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).test_perf as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(GTestConfig), + "::", + stringify!(test_perf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).test_verbose as *const _ as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(GTestConfig), + "::", + stringify!(test_verbose) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).test_quiet as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(GTestConfig), + "::", + stringify!(test_quiet) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).test_undefined as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(GTestConfig), + "::", + stringify!(test_undefined) + ) + ); +} +extern "C" { + pub static g_test_config_vars: *const GTestConfig; +} +pub const GTestResult_G_TEST_RUN_SUCCESS: GTestResult = 0; +pub const GTestResult_G_TEST_RUN_SKIPPED: GTestResult = 1; +pub const GTestResult_G_TEST_RUN_FAILURE: GTestResult = 2; +pub const GTestResult_G_TEST_RUN_INCOMPLETE: GTestResult = 3; +pub type GTestResult = u32; +pub const GTestLogType_G_TEST_LOG_NONE: GTestLogType = 0; +pub const GTestLogType_G_TEST_LOG_ERROR: GTestLogType = 1; +pub const GTestLogType_G_TEST_LOG_START_BINARY: GTestLogType = 2; +pub const GTestLogType_G_TEST_LOG_LIST_CASE: GTestLogType = 3; +pub const GTestLogType_G_TEST_LOG_SKIP_CASE: GTestLogType = 4; +pub const GTestLogType_G_TEST_LOG_START_CASE: GTestLogType = 5; +pub const GTestLogType_G_TEST_LOG_STOP_CASE: GTestLogType = 6; +pub const GTestLogType_G_TEST_LOG_MIN_RESULT: GTestLogType = 7; +pub const GTestLogType_G_TEST_LOG_MAX_RESULT: GTestLogType = 8; +pub const GTestLogType_G_TEST_LOG_MESSAGE: GTestLogType = 9; +pub const GTestLogType_G_TEST_LOG_START_SUITE: GTestLogType = 10; +pub const GTestLogType_G_TEST_LOG_STOP_SUITE: GTestLogType = 11; +pub type GTestLogType = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GTestLogMsg { + pub log_type: GTestLogType, + pub n_strings: guint, + pub strings: *mut *mut gchar, + pub n_nums: guint, + pub nums: *mut u128, +} +#[test] +fn bindgen_test_layout_GTestLogMsg() { + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(GTestLogMsg)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(GTestLogMsg)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).log_type as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(GTestLogMsg), + "::", + stringify!(log_type) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).n_strings as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(GTestLogMsg), + "::", + stringify!(n_strings) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).strings as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(GTestLogMsg), + "::", + stringify!(strings) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).n_nums as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(GTestLogMsg), + "::", + stringify!(n_nums) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).nums as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(GTestLogMsg), + "::", + stringify!(nums) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct GTestLogBuffer { + pub data: *mut GString, + pub msgs: *mut GSList, +} +#[test] +fn bindgen_test_layout_GTestLogBuffer() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(GTestLogBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(GTestLogBuffer)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(GTestLogBuffer), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).msgs as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(GTestLogBuffer), + "::", + stringify!(msgs) + ) + ); +} +extern "C" { + pub fn g_test_log_type_name(log_type: GTestLogType) -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn g_test_log_buffer_new() -> *mut GTestLogBuffer; +} +extern "C" { + pub fn g_test_log_buffer_free(tbuffer: *mut GTestLogBuffer); +} +extern "C" { + pub fn g_test_log_buffer_push( + tbuffer: *mut GTestLogBuffer, + n_bytes: guint, + bytes: *const guint8, + ); +} +extern "C" { + pub fn g_test_log_buffer_pop(tbuffer: *mut GTestLogBuffer) -> *mut GTestLogMsg; +} +extern "C" { + pub fn g_test_log_msg_free(tmsg: *mut GTestLogMsg); +} +#[doc = " GTestLogFatalFunc:"] +#[doc = " @log_domain: the log domain of the message"] +#[doc = " @log_level: the log level of the message (including the fatal and recursion flags)"] +#[doc = " @message: the message to process"] +#[doc = " @user_data: user data, set in g_test_log_set_fatal_handler()"] +#[doc = ""] +#[doc = " Specifies the prototype of fatal log handler functions."] +#[doc = ""] +#[doc = " Returns: %TRUE if the program should abort, %FALSE otherwise"] +#[doc = ""] +#[doc = " Since: 2.22"] +pub type GTestLogFatalFunc = ::std::option::Option< + unsafe extern "C" fn( + log_domain: *const gchar, + log_level: GLogLevelFlags, + message: *const gchar, + user_data: gpointer, + ) -> gboolean, +>; +extern "C" { + pub fn g_test_log_set_fatal_handler(log_func: GTestLogFatalFunc, user_data: gpointer); +} +extern "C" { + pub fn g_test_expect_message( + log_domain: *const gchar, + log_level: GLogLevelFlags, + pattern: *const gchar, + ); +} +extern "C" { + pub fn g_test_assert_expected_messages_internal( + domain: *const ::std::os::raw::c_char, + file: *const ::std::os::raw::c_char, + line: ::std::os::raw::c_int, + func: *const ::std::os::raw::c_char, + ); +} +pub const GTestFileType_G_TEST_DIST: GTestFileType = 0; +pub const GTestFileType_G_TEST_BUILT: GTestFileType = 1; +pub type GTestFileType = u32; +extern "C" { + pub fn g_test_build_filename( + file_type: GTestFileType, + first_path: *const gchar, + ... + ) -> *mut gchar; +} +extern "C" { + pub fn g_test_get_dir(file_type: GTestFileType) -> *const gchar; +} +extern "C" { + pub fn g_test_get_filename( + file_type: GTestFileType, + first_path: *const gchar, + ... + ) -> *const gchar; +} +pub type GThreadPool = _GThreadPool; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GThreadPool { + pub func: GFunc, + pub user_data: gpointer, + pub exclusive: gboolean, +} +#[test] +fn bindgen_test_layout__GThreadPool() { + assert_eq!( + ::std::mem::size_of::<_GThreadPool>(), + 24usize, + concat!("Size of: ", stringify!(_GThreadPool)) + ); + assert_eq!( + ::std::mem::align_of::<_GThreadPool>(), + 8usize, + concat!("Alignment of ", stringify!(_GThreadPool)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadPool>())).func as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GThreadPool), + "::", + stringify!(func) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadPool>())).user_data as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GThreadPool), + "::", + stringify!(user_data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadPool>())).exclusive as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GThreadPool), + "::", + stringify!(exclusive) + ) + ); +} +extern "C" { + pub fn g_thread_pool_new( + func: GFunc, + user_data: gpointer, + max_threads: gint, + exclusive: gboolean, + error: *mut *mut GError, + ) -> *mut GThreadPool; +} +extern "C" { + pub fn g_thread_pool_free(pool: *mut GThreadPool, immediate: gboolean, wait_: gboolean); +} +extern "C" { + pub fn g_thread_pool_push( + pool: *mut GThreadPool, + data: gpointer, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_thread_pool_unprocessed(pool: *mut GThreadPool) -> guint; +} +extern "C" { + pub fn g_thread_pool_set_sort_function( + pool: *mut GThreadPool, + func: GCompareDataFunc, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_thread_pool_move_to_front(pool: *mut GThreadPool, data: gpointer) -> gboolean; +} +extern "C" { + pub fn g_thread_pool_set_max_threads( + pool: *mut GThreadPool, + max_threads: gint, + error: *mut *mut GError, + ) -> gboolean; +} +extern "C" { + pub fn g_thread_pool_get_max_threads(pool: *mut GThreadPool) -> gint; +} +extern "C" { + pub fn g_thread_pool_get_num_threads(pool: *mut GThreadPool) -> guint; +} +extern "C" { + pub fn g_thread_pool_set_max_unused_threads(max_threads: gint); +} +extern "C" { + pub fn g_thread_pool_get_max_unused_threads() -> gint; +} +extern "C" { + pub fn g_thread_pool_get_num_unused_threads() -> guint; +} +extern "C" { + pub fn g_thread_pool_stop_unused_threads(); +} +extern "C" { + pub fn g_thread_pool_set_max_idle_time(interval: guint); +} +extern "C" { + pub fn g_thread_pool_get_max_idle_time() -> guint; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GTimer { + _unused: [u8; 0], +} +pub type GTimer = _GTimer; +extern "C" { + pub fn g_timer_new() -> *mut GTimer; +} +extern "C" { + pub fn g_timer_destroy(timer: *mut GTimer); +} +extern "C" { + pub fn g_timer_start(timer: *mut GTimer); +} +extern "C" { + pub fn g_timer_stop(timer: *mut GTimer); +} +extern "C" { + pub fn g_timer_reset(timer: *mut GTimer); +} +extern "C" { + pub fn g_timer_continue(timer: *mut GTimer); +} +extern "C" { + pub fn g_timer_elapsed(timer: *mut GTimer, microseconds: *mut gulong) -> gdouble; +} +extern "C" { + pub fn g_usleep(microseconds: gulong); +} +extern "C" { + pub fn g_time_val_add(time_: *mut GTimeVal, microseconds: glong); +} +extern "C" { + pub fn g_time_val_from_iso8601(iso_date: *const gchar, time_: *mut GTimeVal) -> gboolean; +} +extern "C" { + pub fn g_time_val_to_iso8601(time_: *mut GTimeVal) -> *mut gchar; +} +pub type GTrashStack = _GTrashStack; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GTrashStack { + pub next: *mut GTrashStack, +} +#[test] +fn bindgen_test_layout__GTrashStack() { + assert_eq!( + ::std::mem::size_of::<_GTrashStack>(), + 8usize, + concat!("Size of: ", stringify!(_GTrashStack)) + ); + assert_eq!( + ::std::mem::align_of::<_GTrashStack>(), + 8usize, + concat!("Alignment of ", stringify!(_GTrashStack)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTrashStack>())).next as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTrashStack), + "::", + stringify!(next) + ) + ); +} +extern "C" { + pub fn g_trash_stack_push(stack_p: *mut *mut GTrashStack, data_p: gpointer); +} +extern "C" { + pub fn g_trash_stack_pop(stack_p: *mut *mut GTrashStack) -> gpointer; +} +extern "C" { + pub fn g_trash_stack_peek(stack_p: *mut *mut GTrashStack) -> gpointer; +} +extern "C" { + pub fn g_trash_stack_height(stack_p: *mut *mut GTrashStack) -> guint; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GTree { + _unused: [u8; 0], +} +pub type GTree = _GTree; +pub type GTraverseFunc = ::std::option::Option< + unsafe extern "C" fn(key: gpointer, value: gpointer, data: gpointer) -> gboolean, +>; +extern "C" { + pub fn g_tree_new(key_compare_func: GCompareFunc) -> *mut GTree; +} +extern "C" { + pub fn g_tree_new_with_data( + key_compare_func: GCompareDataFunc, + key_compare_data: gpointer, + ) -> *mut GTree; +} +extern "C" { + pub fn g_tree_new_full( + key_compare_func: GCompareDataFunc, + key_compare_data: gpointer, + key_destroy_func: GDestroyNotify, + value_destroy_func: GDestroyNotify, + ) -> *mut GTree; +} +extern "C" { + pub fn g_tree_ref(tree: *mut GTree) -> *mut GTree; +} +extern "C" { + pub fn g_tree_unref(tree: *mut GTree); +} +extern "C" { + pub fn g_tree_destroy(tree: *mut GTree); +} +extern "C" { + pub fn g_tree_insert(tree: *mut GTree, key: gpointer, value: gpointer); +} +extern "C" { + pub fn g_tree_replace(tree: *mut GTree, key: gpointer, value: gpointer); +} +extern "C" { + pub fn g_tree_remove(tree: *mut GTree, key: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_tree_steal(tree: *mut GTree, key: gconstpointer) -> gboolean; +} +extern "C" { + pub fn g_tree_lookup(tree: *mut GTree, key: gconstpointer) -> gpointer; +} +extern "C" { + pub fn g_tree_lookup_extended( + tree: *mut GTree, + lookup_key: gconstpointer, + orig_key: *mut gpointer, + value: *mut gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_tree_foreach(tree: *mut GTree, func: GTraverseFunc, user_data: gpointer); +} +extern "C" { + pub fn g_tree_traverse( + tree: *mut GTree, + traverse_func: GTraverseFunc, + traverse_type: GTraverseType, + user_data: gpointer, + ); +} +extern "C" { + pub fn g_tree_search( + tree: *mut GTree, + search_func: GCompareFunc, + user_data: gconstpointer, + ) -> gpointer; +} +extern "C" { + pub fn g_tree_height(tree: *mut GTree) -> gint; +} +extern "C" { + pub fn g_tree_nnodes(tree: *mut GTree) -> gint; +} +extern "C" { + pub fn g_uri_unescape_string( + escaped_string: *const ::std::os::raw::c_char, + illegal_characters: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn g_uri_unescape_segment( + escaped_string: *const ::std::os::raw::c_char, + escaped_string_end: *const ::std::os::raw::c_char, + illegal_characters: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn g_uri_parse_scheme(uri: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn g_uri_escape_string( + unescaped: *const ::std::os::raw::c_char, + reserved_chars_allowed: *const ::std::os::raw::c_char, + allow_utf8: gboolean, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn g_uuid_string_is_valid(str: *const gchar) -> gboolean; +} +extern "C" { + pub fn g_uuid_string_random() -> *mut gchar; +} +extern "C" { + pub static glib_major_version: guint; +} +extern "C" { + pub static glib_minor_version: guint; +} +extern "C" { + pub static glib_micro_version: guint; +} +extern "C" { + pub static glib_interface_age: guint; +} +extern "C" { + pub static glib_binary_age: guint; +} +extern "C" { + pub fn glib_check_version( + required_major: guint, + required_minor: guint, + required_micro: guint, + ) -> *const gchar; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GAllocator { + _unused: [u8; 0], +} +pub type GAllocator = _GAllocator; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GMemChunk { + _unused: [u8; 0], +} +pub type GMemChunk = _GMemChunk; +extern "C" { + pub fn g_mem_chunk_new( + name: *const gchar, + atom_size: gint, + area_size: gsize, + type_: gint, + ) -> *mut GMemChunk; +} +extern "C" { + pub fn g_mem_chunk_destroy(mem_chunk: *mut GMemChunk); +} +extern "C" { + pub fn g_mem_chunk_alloc(mem_chunk: *mut GMemChunk) -> gpointer; +} +extern "C" { + pub fn g_mem_chunk_alloc0(mem_chunk: *mut GMemChunk) -> gpointer; +} +extern "C" { + pub fn g_mem_chunk_free(mem_chunk: *mut GMemChunk, mem: gpointer); +} +extern "C" { + pub fn g_mem_chunk_clean(mem_chunk: *mut GMemChunk); +} +extern "C" { + pub fn g_mem_chunk_reset(mem_chunk: *mut GMemChunk); +} +extern "C" { + pub fn g_mem_chunk_print(mem_chunk: *mut GMemChunk); +} +extern "C" { + pub fn g_mem_chunk_info(); +} +extern "C" { + pub fn g_blow_chunks(); +} +extern "C" { + pub fn g_allocator_new(name: *const gchar, n_preallocs: guint) -> *mut GAllocator; +} +extern "C" { + pub fn g_allocator_free(allocator: *mut GAllocator); +} +extern "C" { + pub fn g_list_push_allocator(allocator: *mut GAllocator); +} +extern "C" { + pub fn g_list_pop_allocator(); +} +extern "C" { + pub fn g_slist_push_allocator(allocator: *mut GAllocator); +} +extern "C" { + pub fn g_slist_pop_allocator(); +} +extern "C" { + pub fn g_node_push_allocator(allocator: *mut GAllocator); +} +extern "C" { + pub fn g_node_pop_allocator(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GCache { + _unused: [u8; 0], +} +pub type GCache = _GCache; +pub type GCacheNewFunc = ::std::option::Option gpointer>; +pub type GCacheDupFunc = ::std::option::Option gpointer>; +pub type GCacheDestroyFunc = ::std::option::Option; +extern "C" { + pub fn g_cache_new( + value_new_func: GCacheNewFunc, + value_destroy_func: GCacheDestroyFunc, + key_dup_func: GCacheDupFunc, + key_destroy_func: GCacheDestroyFunc, + hash_key_func: GHashFunc, + hash_value_func: GHashFunc, + key_equal_func: GEqualFunc, + ) -> *mut GCache; +} +extern "C" { + pub fn g_cache_destroy(cache: *mut GCache); +} +extern "C" { + pub fn g_cache_insert(cache: *mut GCache, key: gpointer) -> gpointer; +} +extern "C" { + pub fn g_cache_remove(cache: *mut GCache, value: gconstpointer); +} +extern "C" { + pub fn g_cache_key_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer); +} +extern "C" { + pub fn g_cache_value_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer); +} +pub type GCompletion = _GCompletion; +pub type GCompletionFunc = + ::std::option::Option *mut gchar>; +pub type GCompletionStrncmpFunc = ::std::option::Option< + unsafe extern "C" fn(s1: *const gchar, s2: *const gchar, n: gsize) -> gint, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GCompletion { + pub items: *mut GList, + pub func: GCompletionFunc, + pub prefix: *mut gchar, + pub cache: *mut GList, + pub strncmp_func: GCompletionStrncmpFunc, +} +#[test] +fn bindgen_test_layout__GCompletion() { + assert_eq!( + ::std::mem::size_of::<_GCompletion>(), + 40usize, + concat!("Size of: ", stringify!(_GCompletion)) + ); + assert_eq!( + ::std::mem::align_of::<_GCompletion>(), + 8usize, + concat!("Alignment of ", stringify!(_GCompletion)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCompletion>())).items as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GCompletion), + "::", + stringify!(items) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCompletion>())).func as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GCompletion), + "::", + stringify!(func) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCompletion>())).prefix as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GCompletion), + "::", + stringify!(prefix) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCompletion>())).cache as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GCompletion), + "::", + stringify!(cache) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GCompletion>())).strncmp_func as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GCompletion), + "::", + stringify!(strncmp_func) + ) + ); +} +extern "C" { + pub fn g_completion_new(func: GCompletionFunc) -> *mut GCompletion; +} +extern "C" { + pub fn g_completion_add_items(cmp: *mut GCompletion, items: *mut GList); +} +extern "C" { + pub fn g_completion_remove_items(cmp: *mut GCompletion, items: *mut GList); +} +extern "C" { + pub fn g_completion_clear_items(cmp: *mut GCompletion); +} +extern "C" { + pub fn g_completion_complete( + cmp: *mut GCompletion, + prefix: *const gchar, + new_prefix: *mut *mut gchar, + ) -> *mut GList; +} +extern "C" { + pub fn g_completion_complete_utf8( + cmp: *mut GCompletion, + prefix: *const gchar, + new_prefix: *mut *mut gchar, + ) -> *mut GList; +} +extern "C" { + pub fn g_completion_set_compare(cmp: *mut GCompletion, strncmp_func: GCompletionStrncmpFunc); +} +extern "C" { + pub fn g_completion_free(cmp: *mut GCompletion); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRelation { + _unused: [u8; 0], +} +pub type GRelation = _GRelation; +pub type GTuples = _GTuples; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GTuples { + pub len: guint, +} +#[test] +fn bindgen_test_layout__GTuples() { + assert_eq!( + ::std::mem::size_of::<_GTuples>(), + 4usize, + concat!("Size of: ", stringify!(_GTuples)) + ); + assert_eq!( + ::std::mem::align_of::<_GTuples>(), + 4usize, + concat!("Alignment of ", stringify!(_GTuples)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GTuples>())).len as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GTuples), + "::", + stringify!(len) + ) + ); +} +extern "C" { + pub fn g_relation_new(fields: gint) -> *mut GRelation; +} +extern "C" { + pub fn g_relation_destroy(relation: *mut GRelation); +} +extern "C" { + pub fn g_relation_index( + relation: *mut GRelation, + field: gint, + hash_func: GHashFunc, + key_equal_func: GEqualFunc, + ); +} +extern "C" { + pub fn g_relation_insert(relation: *mut GRelation, ...); +} +extern "C" { + pub fn g_relation_delete(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint; +} +extern "C" { + pub fn g_relation_select( + relation: *mut GRelation, + key: gconstpointer, + field: gint, + ) -> *mut GTuples; +} +extern "C" { + pub fn g_relation_count(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint; +} +extern "C" { + pub fn g_relation_exists(relation: *mut GRelation, ...) -> gboolean; +} +extern "C" { + pub fn g_relation_print(relation: *mut GRelation); +} +extern "C" { + pub fn g_tuples_destroy(tuples: *mut GTuples); +} +extern "C" { + pub fn g_tuples_index(tuples: *mut GTuples, index_: gint, field: gint) -> gpointer; +} +pub const GThreadPriority_G_THREAD_PRIORITY_LOW: GThreadPriority = 0; +pub const GThreadPriority_G_THREAD_PRIORITY_NORMAL: GThreadPriority = 1; +pub const GThreadPriority_G_THREAD_PRIORITY_HIGH: GThreadPriority = 2; +pub const GThreadPriority_G_THREAD_PRIORITY_URGENT: GThreadPriority = 3; +pub type GThreadPriority = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GThread { + pub func: GThreadFunc, + pub data: gpointer, + pub joinable: gboolean, + pub priority: GThreadPriority, +} +#[test] +fn bindgen_test_layout__GThread() { + assert_eq!( + ::std::mem::size_of::<_GThread>(), + 24usize, + concat!("Size of: ", stringify!(_GThread)) + ); + assert_eq!( + ::std::mem::align_of::<_GThread>(), + 8usize, + concat!("Alignment of ", stringify!(_GThread)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThread>())).func as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GThread), + "::", + stringify!(func) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThread>())).data as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GThread), + "::", + stringify!(data) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThread>())).joinable as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GThread), + "::", + stringify!(joinable) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThread>())).priority as *const _ as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_GThread), + "::", + stringify!(priority) + ) + ); +} +pub type GThreadFunctions = _GThreadFunctions; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GThreadFunctions { + pub mutex_new: ::std::option::Option *mut GMutex>, + pub mutex_lock: ::std::option::Option, + pub mutex_trylock: ::std::option::Option gboolean>, + pub mutex_unlock: ::std::option::Option, + pub mutex_free: ::std::option::Option, + pub cond_new: ::std::option::Option *mut GCond>, + pub cond_signal: ::std::option::Option, + pub cond_broadcast: ::std::option::Option, + pub cond_wait: + ::std::option::Option, + pub cond_timed_wait: ::std::option::Option< + unsafe extern "C" fn( + cond: *mut GCond, + mutex: *mut GMutex, + end_time: *mut GTimeVal, + ) -> gboolean, + >, + pub cond_free: ::std::option::Option, + pub private_new: + ::std::option::Option *mut GPrivate>, + pub private_get: + ::std::option::Option gpointer>, + pub private_set: + ::std::option::Option, + pub thread_create: ::std::option::Option< + unsafe extern "C" fn( + func: GThreadFunc, + data: gpointer, + stack_size: gulong, + joinable: gboolean, + bound: gboolean, + priority: GThreadPriority, + thread: gpointer, + error: *mut *mut GError, + ), + >, + pub thread_yield: ::std::option::Option, + pub thread_join: ::std::option::Option, + pub thread_exit: ::std::option::Option, + pub thread_set_priority: + ::std::option::Option, + pub thread_self: ::std::option::Option, + pub thread_equal: ::std::option::Option< + unsafe extern "C" fn(thread1: gpointer, thread2: gpointer) -> gboolean, + >, +} +#[test] +fn bindgen_test_layout__GThreadFunctions() { + assert_eq!( + ::std::mem::size_of::<_GThreadFunctions>(), + 168usize, + concat!("Size of: ", stringify!(_GThreadFunctions)) + ); + assert_eq!( + ::std::mem::align_of::<_GThreadFunctions>(), + 8usize, + concat!("Alignment of ", stringify!(_GThreadFunctions)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).mutex_new as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(mutex_new) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).mutex_lock as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(mutex_lock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).mutex_trylock as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(mutex_trylock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).mutex_unlock as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(mutex_unlock) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).mutex_free as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(mutex_free) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).cond_new as *const _ as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(cond_new) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).cond_signal as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(cond_signal) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GThreadFunctions>())).cond_broadcast as *const _ as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(cond_broadcast) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).cond_wait as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(cond_wait) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GThreadFunctions>())).cond_timed_wait as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(cond_timed_wait) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).cond_free as *const _ as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(cond_free) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).private_new as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(private_new) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).private_get as *const _ as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(private_get) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).private_set as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(private_set) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).thread_create as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_create) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).thread_yield as *const _ as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_yield) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).thread_join as *const _ as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_join) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).thread_exit as *const _ as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_exit) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GThreadFunctions>())).thread_set_priority as *const _ as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_set_priority) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).thread_self as *const _ as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_self) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GThreadFunctions>())).thread_equal as *const _ as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_GThreadFunctions), + "::", + stringify!(thread_equal) + ) + ); +} +extern "C" { + pub static mut g_thread_functions_for_glib_use: GThreadFunctions; +} +extern "C" { + pub static mut g_thread_use_default_impl: gboolean; +} +extern "C" { + pub static mut g_thread_gettime: ::std::option::Option guint64>; +} +extern "C" { + pub fn g_thread_create( + func: GThreadFunc, + data: gpointer, + joinable: gboolean, + error: *mut *mut GError, + ) -> *mut GThread; +} +extern "C" { + pub fn g_thread_create_full( + func: GThreadFunc, + data: gpointer, + stack_size: gulong, + joinable: gboolean, + bound: gboolean, + priority: GThreadPriority, + error: *mut *mut GError, + ) -> *mut GThread; +} +extern "C" { + pub fn g_thread_set_priority(thread: *mut GThread, priority: GThreadPriority); +} +extern "C" { + pub fn g_thread_foreach(thread_func: GFunc, user_data: gpointer); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sched_param { + pub sched_priority: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_sched_param() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(sched_param)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sched_param)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).sched_priority as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sched_param), + "::", + stringify!(sched_priority) + ) + ); +} +pub type __cpu_mask = ::std::os::raw::c_ulong; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cpu_set_t { + pub __bits: [__cpu_mask; 16usize], +} +#[test] +fn bindgen_test_layout_cpu_set_t() { + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(cpu_set_t)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(cpu_set_t)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).__bits as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(cpu_set_t), + "::", + stringify!(__bits) + ) + ); +} +extern "C" { + pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t; +} +extern "C" { + pub fn __sched_cpufree(__set: *mut cpu_set_t); +} +extern "C" { + pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_setscheduler( + __pid: __pid_t, + __policy: ::std::os::raw::c_int, + __param: *const sched_param, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_getscheduler(__pid: __pid_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_yield() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_get_priority_max(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_get_priority_min(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::std::os::raw::c_int; +} +pub type __jmp_buf = [::std::os::raw::c_long; 8usize]; +pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_15 = 0; +pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_15 = 1; +pub type _bindgen_ty_15 = u32; +pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_16 = 0; +pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_16 = 1; +pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_16 = 2; +pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_16 = 3; +pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_16 = 0; +pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_16 = 1; +pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_16 = 2; +pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_16 = 0; +pub type _bindgen_ty_16 = u32; +pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_17 = 0; +pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_17 = 0; +pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_17 = 1; +pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_17 = 1; +pub type _bindgen_ty_17 = u32; +pub const PTHREAD_PRIO_NONE: _bindgen_ty_18 = 0; +pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_18 = 1; +pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_18 = 2; +pub type _bindgen_ty_18 = u32; +pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_19 = 0; +pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_19 = 1; +pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_19 = 2; +pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_19 = 0; +pub type _bindgen_ty_19 = u32; +pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_20 = 0; +pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_20 = 1; +pub type _bindgen_ty_20 = u32; +pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_21 = 0; +pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_21 = 1; +pub type _bindgen_ty_21 = u32; +pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_22 = 0; +pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_22 = 1; +pub type _bindgen_ty_22 = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _pthread_cleanup_buffer { + pub __routine: ::std::option::Option, + pub __arg: *mut ::std::os::raw::c_void, + pub __canceltype: ::std::os::raw::c_int, + pub __prev: *mut _pthread_cleanup_buffer, +} +#[test] +fn bindgen_test_layout__pthread_cleanup_buffer() { + assert_eq!( + ::std::mem::size_of::<_pthread_cleanup_buffer>(), + 32usize, + concat!("Size of: ", stringify!(_pthread_cleanup_buffer)) + ); + assert_eq!( + ::std::mem::align_of::<_pthread_cleanup_buffer>(), + 8usize, + concat!("Alignment of ", stringify!(_pthread_cleanup_buffer)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__routine as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_pthread_cleanup_buffer), + "::", + stringify!(__routine) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__arg as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_pthread_cleanup_buffer), + "::", + stringify!(__arg) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__canceltype as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_pthread_cleanup_buffer), + "::", + stringify!(__canceltype) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__prev as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_pthread_cleanup_buffer), + "::", + stringify!(__prev) + ) + ); +} +pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_23 = 0; +pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_23 = 1; +pub type _bindgen_ty_23 = u32; +pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_24 = 0; +pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_24 = 1; +pub type _bindgen_ty_24 = u32; +extern "C" { + pub fn pthread_create( + __newthread: *mut pthread_t, + __attr: *const pthread_attr_t, + __start_routine: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void, + >, + __arg: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_exit(__retval: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn pthread_join( + __th: pthread_t, + __thread_return: *mut *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_detach(__th: pthread_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_self() -> pthread_t; +} +extern "C" { + pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getdetachstate( + __attr: *const pthread_attr_t, + __detachstate: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setdetachstate( + __attr: *mut pthread_attr_t, + __detachstate: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getguardsize( + __attr: *const pthread_attr_t, + __guardsize: *mut usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setguardsize( + __attr: *mut pthread_attr_t, + __guardsize: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getschedparam( + __attr: *const pthread_attr_t, + __param: *mut sched_param, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setschedparam( + __attr: *mut pthread_attr_t, + __param: *const sched_param, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getschedpolicy( + __attr: *const pthread_attr_t, + __policy: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setschedpolicy( + __attr: *mut pthread_attr_t, + __policy: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getinheritsched( + __attr: *const pthread_attr_t, + __inherit: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setinheritsched( + __attr: *mut pthread_attr_t, + __inherit: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getscope( + __attr: *const pthread_attr_t, + __scope: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setscope( + __attr: *mut pthread_attr_t, + __scope: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getstackaddr( + __attr: *const pthread_attr_t, + __stackaddr: *mut *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setstackaddr( + __attr: *mut pthread_attr_t, + __stackaddr: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getstacksize( + __attr: *const pthread_attr_t, + __stacksize: *mut usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setstacksize( + __attr: *mut pthread_attr_t, + __stacksize: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_getstack( + __attr: *const pthread_attr_t, + __stackaddr: *mut *mut ::std::os::raw::c_void, + __stacksize: *mut usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_attr_setstack( + __attr: *mut pthread_attr_t, + __stackaddr: *mut ::std::os::raw::c_void, + __stacksize: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_setschedparam( + __target_thread: pthread_t, + __policy: ::std::os::raw::c_int, + __param: *const sched_param, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_getschedparam( + __target_thread: pthread_t, + __policy: *mut ::std::os::raw::c_int, + __param: *mut sched_param, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_setschedprio( + __target_thread: pthread_t, + __prio: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_once( + __once_control: *mut pthread_once_t, + __init_routine: ::std::option::Option, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_setcancelstate( + __state: ::std::os::raw::c_int, + __oldstate: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_setcanceltype( + __type: ::std::os::raw::c_int, + __oldtype: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cancel(__th: pthread_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_testcancel(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_unwind_buf_t { + pub __cancel_jmp_buf: [__pthread_unwind_buf_t__bindgen_ty_1; 1usize], + pub __pad: [*mut ::std::os::raw::c_void; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_unwind_buf_t__bindgen_ty_1 { + pub __cancel_jmp_buf: __jmp_buf, + pub __mask_was_saved: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___pthread_unwind_buf_t__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<__pthread_unwind_buf_t__bindgen_ty_1>(), + 72usize, + concat!( + "Size of: ", + stringify!(__pthread_unwind_buf_t__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_unwind_buf_t__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(__pthread_unwind_buf_t__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__cancel_jmp_buf + as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_unwind_buf_t__bindgen_ty_1), + "::", + stringify!(__cancel_jmp_buf) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__mask_was_saved + as *const _ as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(__pthread_unwind_buf_t__bindgen_ty_1), + "::", + stringify!(__mask_was_saved) + ) + ); +} +#[test] +fn bindgen_test_layout___pthread_unwind_buf_t() { + assert_eq!( + ::std::mem::size_of::<__pthread_unwind_buf_t>(), + 104usize, + concat!("Size of: ", stringify!(__pthread_unwind_buf_t)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_unwind_buf_t>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_unwind_buf_t)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__cancel_jmp_buf as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_unwind_buf_t), + "::", + stringify!(__cancel_jmp_buf) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__pad as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(__pthread_unwind_buf_t), + "::", + stringify!(__pad) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __pthread_cleanup_frame { + pub __cancel_routine: + ::std::option::Option, + pub __cancel_arg: *mut ::std::os::raw::c_void, + pub __do_it: ::std::os::raw::c_int, + pub __cancel_type: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout___pthread_cleanup_frame() { + assert_eq!( + ::std::mem::size_of::<__pthread_cleanup_frame>(), + 24usize, + concat!("Size of: ", stringify!(__pthread_cleanup_frame)) + ); + assert_eq!( + ::std::mem::align_of::<__pthread_cleanup_frame>(), + 8usize, + concat!("Alignment of ", stringify!(__pthread_cleanup_frame)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_routine as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cleanup_frame), + "::", + stringify!(__cancel_routine) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_arg as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cleanup_frame), + "::", + stringify!(__cancel_arg) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__do_it as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cleanup_frame), + "::", + stringify!(__do_it) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_type as *const _ as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__pthread_cleanup_frame), + "::", + stringify!(__cancel_type) + ) + ); +} +extern "C" { + pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t); +} +extern "C" { + pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t); +} +extern "C" { + pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __jmp_buf_tag { + _unused: [u8; 0], +} +extern "C" { + pub fn __sigsetjmp( + __env: *mut __jmp_buf_tag, + __savemask: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_init( + __mutex: *mut pthread_mutex_t, + __mutexattr: *const pthread_mutexattr_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_timedlock( + __mutex: *mut pthread_mutex_t, + __abstime: *const timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_getprioceiling( + __mutex: *const pthread_mutex_t, + __prioceiling: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_setprioceiling( + __mutex: *mut pthread_mutex_t, + __prioceiling: ::std::os::raw::c_int, + __old_ceiling: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_getpshared( + __attr: *const pthread_mutexattr_t, + __pshared: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_setpshared( + __attr: *mut pthread_mutexattr_t, + __pshared: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_gettype( + __attr: *const pthread_mutexattr_t, + __kind: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_settype( + __attr: *mut pthread_mutexattr_t, + __kind: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_getprotocol( + __attr: *const pthread_mutexattr_t, + __protocol: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_setprotocol( + __attr: *mut pthread_mutexattr_t, + __protocol: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_getprioceiling( + __attr: *const pthread_mutexattr_t, + __prioceiling: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_setprioceiling( + __attr: *mut pthread_mutexattr_t, + __prioceiling: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_getrobust( + __attr: *const pthread_mutexattr_t, + __robustness: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_mutexattr_setrobust( + __attr: *mut pthread_mutexattr_t, + __robustness: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_init( + __rwlock: *mut pthread_rwlock_t, + __attr: *const pthread_rwlockattr_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_timedrdlock( + __rwlock: *mut pthread_rwlock_t, + __abstime: *const timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_timedwrlock( + __rwlock: *mut pthread_rwlock_t, + __abstime: *const timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlockattr_getpshared( + __attr: *const pthread_rwlockattr_t, + __pshared: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlockattr_setpshared( + __attr: *mut pthread_rwlockattr_t, + __pshared: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlockattr_getkind_np( + __attr: *const pthread_rwlockattr_t, + __pref: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_rwlockattr_setkind_np( + __attr: *mut pthread_rwlockattr_t, + __pref: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cond_init( + __cond: *mut pthread_cond_t, + __cond_attr: *const pthread_condattr_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cond_wait( + __cond: *mut pthread_cond_t, + __mutex: *mut pthread_mutex_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_cond_timedwait( + __cond: *mut pthread_cond_t, + __mutex: *mut pthread_mutex_t, + __abstime: *const timespec, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_condattr_getpshared( + __attr: *const pthread_condattr_t, + __pshared: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_condattr_setpshared( + __attr: *mut pthread_condattr_t, + __pshared: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_condattr_getclock( + __attr: *const pthread_condattr_t, + __clock_id: *mut __clockid_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_condattr_setclock( + __attr: *mut pthread_condattr_t, + __clock_id: __clockid_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_spin_init( + __lock: *mut pthread_spinlock_t, + __pshared: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrier_init( + __barrier: *mut pthread_barrier_t, + __attr: *const pthread_barrierattr_t, + __count: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrierattr_getpshared( + __attr: *const pthread_barrierattr_t, + __pshared: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_barrierattr_setpshared( + __attr: *mut pthread_barrierattr_t, + __pshared: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_key_create( + __key: *mut pthread_key_t, + __destr_function: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_key_delete(__key: pthread_key_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn pthread_setspecific( + __key: pthread_key_t, + __pointer: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_getcpuclockid( + __thread_id: pthread_t, + __clock_id: *mut __clockid_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn pthread_atfork( + __prepare: ::std::option::Option, + __parent: ::std::option::Option, + __child: ::std::option::Option, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct GStaticMutex { + pub mutex: *mut GMutex, + pub unused: pthread_mutex_t, +} +#[test] +fn bindgen_test_layout_GStaticMutex() { + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(GStaticMutex)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(GStaticMutex)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).mutex as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(GStaticMutex), + "::", + stringify!(mutex) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).unused as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(GStaticMutex), + "::", + stringify!(unused) + ) + ); +} +extern "C" { + pub fn g_static_mutex_init(mutex: *mut GStaticMutex); +} +extern "C" { + pub fn g_static_mutex_free(mutex: *mut GStaticMutex); +} +extern "C" { + pub fn g_static_mutex_get_mutex_impl(mutex: *mut GStaticMutex) -> *mut GMutex; +} +pub type GStaticRecMutex = _GStaticRecMutex; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GStaticRecMutex { + pub mutex: GStaticMutex, + pub depth: guint, + pub unused: _GStaticRecMutex__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GStaticRecMutex__bindgen_ty_1 { + pub owner: pthread_t, + pub dummy: gdouble, + _bindgen_union_align: u64, +} +#[test] +fn bindgen_test_layout__GStaticRecMutex__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_GStaticRecMutex__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_GStaticRecMutex__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_GStaticRecMutex__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_GStaticRecMutex__bindgen_ty_1)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GStaticRecMutex__bindgen_ty_1>())).owner as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRecMutex__bindgen_ty_1), + "::", + stringify!(owner) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<_GStaticRecMutex__bindgen_ty_1>())).dummy as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRecMutex__bindgen_ty_1), + "::", + stringify!(dummy) + ) + ); +} +#[test] +fn bindgen_test_layout__GStaticRecMutex() { + assert_eq!( + ::std::mem::size_of::<_GStaticRecMutex>(), + 64usize, + concat!("Size of: ", stringify!(_GStaticRecMutex)) + ); + assert_eq!( + ::std::mem::align_of::<_GStaticRecMutex>(), + 8usize, + concat!("Alignment of ", stringify!(_GStaticRecMutex)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRecMutex>())).mutex as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRecMutex), + "::", + stringify!(mutex) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRecMutex>())).depth as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRecMutex), + "::", + stringify!(depth) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRecMutex>())).unused as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRecMutex), + "::", + stringify!(unused) + ) + ); +} +extern "C" { + pub fn g_static_rec_mutex_init(mutex: *mut GStaticRecMutex); +} +extern "C" { + pub fn g_static_rec_mutex_lock(mutex: *mut GStaticRecMutex); +} +extern "C" { + pub fn g_static_rec_mutex_trylock(mutex: *mut GStaticRecMutex) -> gboolean; +} +extern "C" { + pub fn g_static_rec_mutex_unlock(mutex: *mut GStaticRecMutex); +} +extern "C" { + pub fn g_static_rec_mutex_lock_full(mutex: *mut GStaticRecMutex, depth: guint); +} +extern "C" { + pub fn g_static_rec_mutex_unlock_full(mutex: *mut GStaticRecMutex) -> guint; +} +extern "C" { + pub fn g_static_rec_mutex_free(mutex: *mut GStaticRecMutex); +} +pub type GStaticRWLock = _GStaticRWLock; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GStaticRWLock { + pub mutex: GStaticMutex, + pub read_cond: *mut GCond, + pub write_cond: *mut GCond, + pub read_counter: guint, + pub have_writer: gboolean, + pub want_to_read: guint, + pub want_to_write: guint, +} +#[test] +fn bindgen_test_layout__GStaticRWLock() { + assert_eq!( + ::std::mem::size_of::<_GStaticRWLock>(), + 80usize, + concat!("Size of: ", stringify!(_GStaticRWLock)) + ); + assert_eq!( + ::std::mem::align_of::<_GStaticRWLock>(), + 8usize, + concat!("Alignment of ", stringify!(_GStaticRWLock)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).mutex as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(mutex) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).read_cond as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(read_cond) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).write_cond as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(write_cond) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).read_counter as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(read_counter) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).have_writer as *const _ as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(have_writer) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).want_to_read as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(want_to_read) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticRWLock>())).want_to_write as *const _ as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_GStaticRWLock), + "::", + stringify!(want_to_write) + ) + ); +} +extern "C" { + pub fn g_static_rw_lock_init(lock: *mut GStaticRWLock); +} +extern "C" { + pub fn g_static_rw_lock_reader_lock(lock: *mut GStaticRWLock); +} +extern "C" { + pub fn g_static_rw_lock_reader_trylock(lock: *mut GStaticRWLock) -> gboolean; +} +extern "C" { + pub fn g_static_rw_lock_reader_unlock(lock: *mut GStaticRWLock); +} +extern "C" { + pub fn g_static_rw_lock_writer_lock(lock: *mut GStaticRWLock); +} +extern "C" { + pub fn g_static_rw_lock_writer_trylock(lock: *mut GStaticRWLock) -> gboolean; +} +extern "C" { + pub fn g_static_rw_lock_writer_unlock(lock: *mut GStaticRWLock); +} +extern "C" { + pub fn g_static_rw_lock_free(lock: *mut GStaticRWLock); +} +extern "C" { + pub fn g_private_new(notify: GDestroyNotify) -> *mut GPrivate; +} +pub type GStaticPrivate = _GStaticPrivate; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GStaticPrivate { + pub index: guint, +} +#[test] +fn bindgen_test_layout__GStaticPrivate() { + assert_eq!( + ::std::mem::size_of::<_GStaticPrivate>(), + 4usize, + concat!("Size of: ", stringify!(_GStaticPrivate)) + ); + assert_eq!( + ::std::mem::align_of::<_GStaticPrivate>(), + 4usize, + concat!("Alignment of ", stringify!(_GStaticPrivate)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_GStaticPrivate>())).index as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GStaticPrivate), + "::", + stringify!(index) + ) + ); +} +extern "C" { + pub fn g_static_private_init(private_key: *mut GStaticPrivate); +} +extern "C" { + pub fn g_static_private_get(private_key: *mut GStaticPrivate) -> gpointer; +} +extern "C" { + pub fn g_static_private_set( + private_key: *mut GStaticPrivate, + data: gpointer, + notify: GDestroyNotify, + ); +} +extern "C" { + pub fn g_static_private_free(private_key: *mut GStaticPrivate); +} +extern "C" { + pub fn g_once_init_enter_impl(location: *mut gsize) -> gboolean; +} +extern "C" { + pub fn g_thread_init(vtable: gpointer); +} +extern "C" { + pub fn g_thread_init_with_errorcheck_mutexes(vtable: gpointer); +} +extern "C" { + pub fn g_thread_get_initialized() -> gboolean; +} +extern "C" { + pub static mut g_threads_got_initialized: gboolean; +} +extern "C" { + pub fn g_mutex_new() -> *mut GMutex; +} +extern "C" { + pub fn g_mutex_free(mutex: *mut GMutex); +} +extern "C" { + pub fn g_cond_new() -> *mut GCond; +} +extern "C" { + pub fn g_cond_free(cond: *mut GCond); +} +extern "C" { + pub fn g_cond_timed_wait( + cond: *mut GCond, + mutex: *mut GMutex, + timeval: *mut GTimeVal, + ) -> gboolean; +} +pub type GAsyncQueue_autoptr = *mut GAsyncQueue; +pub type GAsyncQueue_listautoptr = *mut GList; +pub type GAsyncQueue_slistautoptr = *mut GSList; +pub type GBookmarkFile_autoptr = *mut GBookmarkFile; +pub type GBookmarkFile_listautoptr = *mut GList; +pub type GBookmarkFile_slistautoptr = *mut GSList; +pub type GBytes_autoptr = *mut GBytes; +pub type GBytes_listautoptr = *mut GList; +pub type GBytes_slistautoptr = *mut GSList; +pub type GChecksum_autoptr = *mut GChecksum; +pub type GChecksum_listautoptr = *mut GList; +pub type GChecksum_slistautoptr = *mut GSList; +pub type GDateTime_autoptr = *mut GDateTime; +pub type GDateTime_listautoptr = *mut GList; +pub type GDateTime_slistautoptr = *mut GSList; +pub type GDir_autoptr = *mut GDir; +pub type GDir_listautoptr = *mut GList; +pub type GDir_slistautoptr = *mut GSList; +pub type GError_autoptr = *mut GError; +pub type GError_listautoptr = *mut GList; +pub type GError_slistautoptr = *mut GSList; +pub type GHashTable_autoptr = *mut GHashTable; +pub type GHashTable_listautoptr = *mut GList; +pub type GHashTable_slistautoptr = *mut GSList; +pub type GHmac_autoptr = *mut GHmac; +pub type GHmac_listautoptr = *mut GList; +pub type GHmac_slistautoptr = *mut GSList; +pub type GIOChannel_autoptr = *mut GIOChannel; +pub type GIOChannel_listautoptr = *mut GList; +pub type GIOChannel_slistautoptr = *mut GSList; +pub type GKeyFile_autoptr = *mut GKeyFile; +pub type GKeyFile_listautoptr = *mut GList; +pub type GKeyFile_slistautoptr = *mut GSList; +pub type GList_autoptr = *mut GList; +pub type GList_listautoptr = *mut GList; +pub type GList_slistautoptr = *mut GSList; +pub type GArray_autoptr = *mut GArray; +pub type GArray_listautoptr = *mut GList; +pub type GArray_slistautoptr = *mut GSList; +pub type GPtrArray_autoptr = *mut GPtrArray; +pub type GPtrArray_listautoptr = *mut GList; +pub type GPtrArray_slistautoptr = *mut GSList; +pub type GByteArray_autoptr = *mut GByteArray; +pub type GByteArray_listautoptr = *mut GList; +pub type GByteArray_slistautoptr = *mut GSList; +pub type GMainContext_autoptr = *mut GMainContext; +pub type GMainContext_listautoptr = *mut GList; +pub type GMainContext_slistautoptr = *mut GSList; +pub type GMainLoop_autoptr = *mut GMainLoop; +pub type GMainLoop_listautoptr = *mut GList; +pub type GMainLoop_slistautoptr = *mut GSList; +pub type GSource_autoptr = *mut GSource; +pub type GSource_listautoptr = *mut GList; +pub type GSource_slistautoptr = *mut GSList; +pub type GMappedFile_autoptr = *mut GMappedFile; +pub type GMappedFile_listautoptr = *mut GList; +pub type GMappedFile_slistautoptr = *mut GSList; +pub type GMarkupParseContext_autoptr = *mut GMarkupParseContext; +pub type GMarkupParseContext_listautoptr = *mut GList; +pub type GMarkupParseContext_slistautoptr = *mut GSList; +pub type GNode_autoptr = *mut GNode; +pub type GNode_listautoptr = *mut GList; +pub type GNode_slistautoptr = *mut GSList; +pub type GOptionContext_autoptr = *mut GOptionContext; +pub type GOptionContext_listautoptr = *mut GList; +pub type GOptionContext_slistautoptr = *mut GSList; +pub type GOptionGroup_autoptr = *mut GOptionGroup; +pub type GOptionGroup_listautoptr = *mut GList; +pub type GOptionGroup_slistautoptr = *mut GSList; +pub type GPatternSpec_autoptr = *mut GPatternSpec; +pub type GPatternSpec_listautoptr = *mut GList; +pub type GPatternSpec_slistautoptr = *mut GSList; +pub type GQueue_autoptr = *mut GQueue; +pub type GQueue_listautoptr = *mut GList; +pub type GQueue_slistautoptr = *mut GSList; +pub type GRand_autoptr = *mut GRand; +pub type GRand_listautoptr = *mut GList; +pub type GRand_slistautoptr = *mut GSList; +pub type GRegex_autoptr = *mut GRegex; +pub type GRegex_listautoptr = *mut GList; +pub type GRegex_slistautoptr = *mut GSList; +pub type GMatchInfo_autoptr = *mut GMatchInfo; +pub type GMatchInfo_listautoptr = *mut GList; +pub type GMatchInfo_slistautoptr = *mut GSList; +pub type GScanner_autoptr = *mut GScanner; +pub type GScanner_listautoptr = *mut GList; +pub type GScanner_slistautoptr = *mut GSList; +pub type GSequence_autoptr = *mut GSequence; +pub type GSequence_listautoptr = *mut GList; +pub type GSequence_slistautoptr = *mut GSList; +pub type GSList_autoptr = *mut GSList; +pub type GSList_listautoptr = *mut GList; +pub type GSList_slistautoptr = *mut GSList; +pub type GString_autoptr = *mut GString; +pub type GString_listautoptr = *mut GList; +pub type GString_slistautoptr = *mut GSList; +pub type GStringChunk_autoptr = *mut GStringChunk; +pub type GStringChunk_listautoptr = *mut GList; +pub type GStringChunk_slistautoptr = *mut GSList; +pub type GThread_autoptr = *mut GThread; +pub type GThread_listautoptr = *mut GList; +pub type GThread_slistautoptr = *mut GSList; +pub type GMutexLocker_autoptr = *mut GMutexLocker; +pub type GMutexLocker_listautoptr = *mut GList; +pub type GMutexLocker_slistautoptr = *mut GSList; +pub type GTimer_autoptr = *mut GTimer; +pub type GTimer_listautoptr = *mut GList; +pub type GTimer_slistautoptr = *mut GSList; +pub type GTimeZone_autoptr = *mut GTimeZone; +pub type GTimeZone_listautoptr = *mut GList; +pub type GTimeZone_slistautoptr = *mut GSList; +pub type GTree_autoptr = *mut GTree; +pub type GTree_listautoptr = *mut GList; +pub type GTree_slistautoptr = *mut GSList; +pub type GVariant_autoptr = *mut GVariant; +pub type GVariant_listautoptr = *mut GList; +pub type GVariant_slistautoptr = *mut GSList; +pub type GVariantBuilder_autoptr = *mut GVariantBuilder; +pub type GVariantBuilder_listautoptr = *mut GList; +pub type GVariantBuilder_slistautoptr = *mut GSList; +pub type GVariantIter_autoptr = *mut GVariantIter; +pub type GVariantIter_listautoptr = *mut GList; +pub type GVariantIter_slistautoptr = *mut GSList; +pub type GVariantDict_autoptr = *mut GVariantDict; +pub type GVariantDict_listautoptr = *mut GList; +pub type GVariantDict_slistautoptr = *mut GSList; +pub type GVariantType_autoptr = *mut GVariantType; +pub type GVariantType_listautoptr = *mut GList; +pub type GVariantType_slistautoptr = *mut GSList; +pub const GModuleFlags_G_MODULE_BIND_LAZY: GModuleFlags = 1; +pub const GModuleFlags_G_MODULE_BIND_LOCAL: GModuleFlags = 2; +pub const GModuleFlags_G_MODULE_BIND_MASK: GModuleFlags = 3; +#[doc = " GModuleFlags:"] +#[doc = " @G_MODULE_BIND_LAZY: specifies that symbols are only resolved when"] +#[doc = " needed. The default action is to bind all symbols when the module"] +#[doc = " is loaded."] +#[doc = " @G_MODULE_BIND_LOCAL: specifies that symbols in the module should"] +#[doc = " not be added to the global name space. The default action on most"] +#[doc = " platforms is to place symbols in the module in the global name space,"] +#[doc = " which may cause conflicts with existing symbols."] +#[doc = " @G_MODULE_BIND_MASK: mask for all flags."] +#[doc = ""] +#[doc = " Flags passed to g_module_open()."] +#[doc = " Note that these flags are not supported on all platforms."] +pub type GModuleFlags = u32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GModule { + _unused: [u8; 0], +} +pub type GModule = _GModule; +pub type GModuleCheckInit = + ::std::option::Option *const gchar>; +pub type GModuleUnload = ::std::option::Option; +extern "C" { + pub fn g_module_supported() -> gboolean; +} +extern "C" { + pub fn g_module_open(file_name: *const gchar, flags: GModuleFlags) -> *mut GModule; +} +extern "C" { + pub fn g_module_close(module: *mut GModule) -> gboolean; +} +extern "C" { + pub fn g_module_make_resident(module: *mut GModule); +} +extern "C" { + pub fn g_module_error() -> *const gchar; +} +extern "C" { + pub fn g_module_symbol( + module: *mut GModule, + symbol_name: *const gchar, + symbol: *mut gpointer, + ) -> gboolean; +} +extern "C" { + pub fn g_module_name(module: *mut GModule) -> *const gchar; +} +extern "C" { + pub fn g_module_build_path(directory: *const gchar, module_name: *const gchar) -> *mut gchar; +} +pub type uoff_t = guint64; +pub type GInputFunction = ::std::option::Option< + unsafe extern "C" fn( + data: *mut ::std::os::raw::c_void, + source: *mut GIOChannel, + condition: ::std::os::raw::c_int, + ), +>; +extern "C" { + pub fn g_input_add( + source: *mut GIOChannel, + condition: ::std::os::raw::c_int, + function: GInputFunction, + data: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn g_input_add_full( + source: *mut GIOChannel, + priority: ::std::os::raw::c_int, + condition: ::std::os::raw::c_int, + function: GInputFunction, + data: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn get_irssi_dir() -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn get_irssi_config() -> *const ::std::os::raw::c_char; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IPADDR { + _unused: [u8; 0], +} +pub type IPADDR = _IPADDR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LINEBUF_REC { + _unused: [u8; 0], +} +pub type LINEBUF_REC = _LINEBUF_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NET_SENDBUF_REC { + _unused: [u8; 0], +} +pub type NET_SENDBUF_REC = _NET_SENDBUF_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RAWLOG_REC { + _unused: [u8; 0], +} +pub type RAWLOG_REC = _RAWLOG_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHAT_PROTOCOL_REC { + _unused: [u8; 0], +} +pub type CHAT_PROTOCOL_REC = _CHAT_PROTOCOL_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHATNET_REC { + _unused: [u8; 0], +} +pub type CHATNET_REC = _CHATNET_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVER_REC { + _unused: [u8; 0], +} +pub type SERVER_REC = _SERVER_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WI_ITEM_REC { + _unused: [u8; 0], +} +pub type WI_ITEM_REC = _WI_ITEM_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANNEL_REC { + _unused: [u8; 0], +} +pub type CHANNEL_REC = _CHANNEL_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_REC { + _unused: [u8; 0], +} +pub type QUERY_REC = _QUERY_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NICK_REC { + _unused: [u8; 0], +} +pub type NICK_REC = _NICK_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVER_CONNECT_REC { + _unused: [u8; 0], +} +pub type SERVER_CONNECT_REC = _SERVER_CONNECT_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVER_SETUP_REC { + _unused: [u8; 0], +} +pub type SERVER_SETUP_REC = _SERVER_SETUP_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANNEL_SETUP_REC { + _unused: [u8; 0], +} +pub type CHANNEL_SETUP_REC = _CHANNEL_SETUP_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WINDOW_REC { + _unused: [u8; 0], +} +pub type WINDOW_REC = _WINDOW_REC; +pub const MODULE_ERROR_ALREADY_LOADED: _bindgen_ty_25 = 0; +pub const MODULE_ERROR_LOAD: _bindgen_ty_25 = 1; +pub const MODULE_ERROR_VERSION_MISMATCH: _bindgen_ty_25 = 2; +pub const MODULE_ERROR_INVALID: _bindgen_ty_25 = 3; +pub type _bindgen_ty_25 = u32; +pub type MODULE_REC = _MODULE_REC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MODULE_FILE_REC { + pub root: *mut MODULE_REC, + pub name: *mut ::std::os::raw::c_char, + pub defined_module_name: *mut ::std::os::raw::c_char, + pub module_deinit: ::std::option::Option, + pub gmodule: *mut GModule, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, + pub __bindgen_padding_0: [u8; 7usize], +} +#[test] +fn bindgen_test_layout_MODULE_FILE_REC() { + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(MODULE_FILE_REC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MODULE_FILE_REC)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).root as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MODULE_FILE_REC), + "::", + stringify!(root) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).name as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MODULE_FILE_REC), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::())).defined_module_name as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MODULE_FILE_REC), + "::", + stringify!(defined_module_name) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).module_deinit as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(MODULE_FILE_REC), + "::", + stringify!(module_deinit) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::())).gmodule as *const _ as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(MODULE_FILE_REC), + "::", + stringify!(gmodule) + ) + ); +} +impl MODULE_FILE_REC { + #[inline] + pub fn initialized(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_initialized(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + initialized: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let initialized: u32 = unsafe { ::std::mem::transmute(initialized) }; + initialized as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MODULE_REC { + pub name: *mut ::std::os::raw::c_char, + pub files: *mut GSList, +} +#[test] +fn bindgen_test_layout__MODULE_REC() { + assert_eq!( + ::std::mem::size_of::<_MODULE_REC>(), + 16usize, + concat!("Size of: ", stringify!(_MODULE_REC)) + ); + assert_eq!( + ::std::mem::align_of::<_MODULE_REC>(), + 8usize, + concat!("Alignment of ", stringify!(_MODULE_REC)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_MODULE_REC>())).name as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MODULE_REC), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<_MODULE_REC>())).files as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MODULE_REC), + "::", + stringify!(files) + ) + ); +} +extern "C" { + pub static mut modules: *mut GSList; +} +extern "C" { + pub fn module_register_full( + name: *const ::std::os::raw::c_char, + submodule: *const ::std::os::raw::c_char, + defined_module_name: *const ::std::os::raw::c_char, + ) -> *mut MODULE_FILE_REC; +} +extern "C" { + pub fn module_find(name: *const ::std::os::raw::c_char) -> *mut MODULE_REC; +} +extern "C" { + pub fn module_file_find( + module: *mut MODULE_REC, + name: *const ::std::os::raw::c_char, + ) -> *mut MODULE_FILE_REC; +} +extern "C" { + pub fn module_check_cast( + object: *mut ::std::os::raw::c_void, + type_pos: ::std::os::raw::c_int, + id: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn module_check_cast_module( + object: *mut ::std::os::raw::c_void, + type_pos: ::std::os::raw::c_int, + module: *const ::std::os::raw::c_char, + id: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn module_get_uniq_id( + module: *const ::std::os::raw::c_char, + id: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn module_get_uniq_id_str( + module: *const ::std::os::raw::c_char, + id: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn module_find_id( + module: *const ::std::os::raw::c_char, + uniqid: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn module_find_id_str( + module: *const ::std::os::raw::c_char, + uniqid: ::std::os::raw::c_int, + ) -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn module_uniq_destroy(module: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn modules_init(); +} +extern "C" { + pub fn modules_deinit(); +} +extern "C" { + pub fn module_load( + path: *const ::std::os::raw::c_char, + prefixes: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn module_load_sub( + path: *const ::std::os::raw::c_char, + submodule: *const ::std::os::raw::c_char, + prefixes: *mut *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn module_unload(module: *mut MODULE_REC); +} +extern "C" { + pub fn module_file_unload(file: *mut MODULE_FILE_REC); +} +extern "C" { + pub fn args_register(options: *mut GOptionEntry); +} +extern "C" { + pub fn args_execute(argc: ::std::os::raw::c_int, argv: *mut *mut ::std::os::raw::c_char); +} +pub type SIGNAL_FUNC = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + arg4: *const ::std::os::raw::c_void, + arg5: *const ::std::os::raw::c_void, + arg6: *const ::std::os::raw::c_void, + ), +>; +extern "C" { + pub static mut signal_user_data: *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn signal_add_full( + module: *const ::std::os::raw::c_char, + priority: ::std::os::raw::c_int, + signal: *const ::std::os::raw::c_char, + func: SIGNAL_FUNC, + user_data: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn signal_add_full_id( + module: *const ::std::os::raw::c_char, + priority: ::std::os::raw::c_int, + signal: ::std::os::raw::c_int, + func: SIGNAL_FUNC, + user_data: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn signal_remove_full( + signal: *const ::std::os::raw::c_char, + func: SIGNAL_FUNC, + user_data: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn signal_remove_id( + signal_id: ::std::os::raw::c_int, + func: SIGNAL_FUNC, + user_data: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn signal_emit( + signal: *const ::std::os::raw::c_char, + params: ::std::os::raw::c_int, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn signal_emit_id( + signal_id: ::std::os::raw::c_int, + params: ::std::os::raw::c_int, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn signal_continue(params: ::std::os::raw::c_int, ...); +} +extern "C" { + pub fn signal_stop(); +} +extern "C" { + pub fn signal_stop_by_name(signal: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn signal_get_emitted() -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn signal_get_emitted_id() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn signal_is_stopped(signal_id: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn signals_remove_module(module: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn signals_init(); +} +extern "C" { + pub fn signals_deinit(); +} +extern "C" { + pub static mut irssi_gui: ::std::os::raw::c_int; +} +extern "C" { + pub static mut irssi_init_finished: ::std::os::raw::c_int; +} +extern "C" { + pub static mut reload_config: ::std::os::raw::c_int; +} +extern "C" { + pub static mut client_start_time: time_t; +} +extern "C" { + pub fn core_preinit(path: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn core_register_options(); +} +extern "C" { + pub fn core_init(); +} +extern "C" { + pub fn core_deinit(); +} +pub type __builtin_va_list = [__va_list_tag; 1usize]; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __va_list_tag { + pub gp_offset: ::std::os::raw::c_uint, + pub fp_offset: ::std::os::raw::c_uint, + pub overflow_arg_area: *mut ::std::os::raw::c_void, + pub reg_save_area: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout___va_list_tag() { + assert_eq!( + ::std::mem::size_of::<__va_list_tag>(), + 24usize, + concat!("Size of: ", stringify!(__va_list_tag)) + ); + assert_eq!( + ::std::mem::align_of::<__va_list_tag>(), + 8usize, + concat!("Alignment of ", stringify!(__va_list_tag)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(gp_offset) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(fp_offset) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(overflow_arg_area) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(reg_save_area) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __locale_data { + pub _address: u8, +}