diff --git a/nostrdb b/nostrdb index d73a162..b60018f 160000 --- a/nostrdb +++ b/nostrdb @@ -1 +1 @@ -Subproject commit d73a1629448e20d2323fbffe5cf0da8dd5cf80a8 +Subproject commit b60018f2bf101f46b5a693e28b2ee8b82e516fda diff --git a/src/bindings.rs b/src/bindings.rs index 98a0ee0..c5023fc 100644 --- a/src/bindings.rs +++ b/src/bindings.rs @@ -1,4 +1,4 @@ -/* automatically generated by rust-bindgen 0.69.2 */ +/* automatically generated by rust-bindgen 0.69.4 */ #[repr(C)] #[derive(Default)] @@ -30,598 +30,261 @@ impl ::std::fmt::Debug for __IncompleteArrayField { fmt.write_str("__IncompleteArrayField") } } -pub const __PRI_8_LENGTH_MODIFIER__: &[u8; 3] = b"hh\0"; -pub const __PRI_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0"; -pub const __SCN_64_LENGTH_MODIFIER__: &[u8; 3] = b"ll\0"; -pub const __PRI_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0"; -pub const __SCN_MAX_LENGTH_MODIFIER__: &[u8; 2] = b"j\0"; -pub const PRId8: &[u8; 4] = b"hhd\0"; -pub const PRIi8: &[u8; 4] = b"hhi\0"; -pub const PRIo8: &[u8; 4] = b"hho\0"; -pub const PRIu8: &[u8; 4] = b"hhu\0"; -pub const PRIx8: &[u8; 4] = b"hhx\0"; -pub const PRIX8: &[u8; 4] = b"hhX\0"; -pub const PRId16: &[u8; 3] = b"hd\0"; -pub const PRIi16: &[u8; 3] = b"hi\0"; -pub const PRIo16: &[u8; 3] = b"ho\0"; -pub const PRIu16: &[u8; 3] = b"hu\0"; -pub const PRIx16: &[u8; 3] = b"hx\0"; -pub const PRIX16: &[u8; 3] = b"hX\0"; +pub const _INTTYPES_H: u32 = 1; +pub const _FEATURES_H: u32 = 1; +pub const _DEFAULT_SOURCE: u32 = 1; +pub const __GLIBC_USE_ISOC2X: u32 = 0; +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 __WORDSIZE: u32 = 64; +pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; +pub const __SYSCALL_WORDSIZE: u32 = 64; +pub const __TIMESIZE: u32 = 64; +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 __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; +pub const __GLIBC_USE_C2X_STRTOL: u32 = 0; +pub const _STDC_PREDEF_H: u32 = 1; +pub const __STDC_IEC_559__: u32 = 1; +pub const __STDC_IEC_60559_BFP__: u32 = 201404; +pub const __STDC_IEC_559_COMPLEX__: u32 = 1; +pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; +pub const __STDC_ISO_10646__: u32 = 201706; +pub const __GNU_LIBRARY__: u32 = 6; +pub const __GLIBC__: u32 = 2; +pub const __GLIBC_MINOR__: u32 = 39; +pub const _SYS_CDEFS_H: u32 = 1; +pub const __glibc_c99_flexarr_available: u32 = 1; +pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0; +pub const __HAVE_GENERIC_SELECTION: u32 = 1; +pub const _STDINT_H: 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_BFP_EXT_C2X: u32 = 0; +pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0; +pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; +pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: 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 __STATFS_MATCHES_STATFS64: u32 = 1; +pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1; +pub const __FD_SETSIZE: u32 = 1024; +pub const _BITS_TIME64_H: u32 = 1; +pub const _BITS_WCHAR_H: u32 = 1; +pub const _BITS_STDINT_INTN_H: u32 = 1; +pub const _BITS_STDINT_UINTN_H: u32 = 1; +pub const _BITS_STDINT_LEAST_H: u32 = 1; +pub const INT8_MIN: i32 = -128; +pub const INT16_MIN: i32 = -32768; +pub const INT32_MIN: i32 = -2147483648; +pub const INT8_MAX: u32 = 127; +pub const INT16_MAX: u32 = 32767; +pub const INT32_MAX: u32 = 2147483647; +pub const UINT8_MAX: u32 = 255; +pub const UINT16_MAX: u32 = 65535; +pub const UINT32_MAX: u32 = 4294967295; +pub const INT_LEAST8_MIN: i32 = -128; +pub const INT_LEAST16_MIN: i32 = -32768; +pub const INT_LEAST32_MIN: i32 = -2147483648; +pub const INT_LEAST8_MAX: u32 = 127; +pub const INT_LEAST16_MAX: u32 = 32767; +pub const INT_LEAST32_MAX: u32 = 2147483647; +pub const UINT_LEAST8_MAX: u32 = 255; +pub const UINT_LEAST16_MAX: u32 = 65535; +pub const UINT_LEAST32_MAX: u32 = 4294967295; +pub const INT_FAST8_MIN: i32 = -128; +pub const INT_FAST16_MIN: i64 = -9223372036854775808; +pub const INT_FAST32_MIN: i64 = -9223372036854775808; +pub const INT_FAST8_MAX: u32 = 127; +pub const INT_FAST16_MAX: u64 = 9223372036854775807; +pub const INT_FAST32_MAX: u64 = 9223372036854775807; +pub const UINT_FAST8_MAX: u32 = 255; +pub const UINT_FAST16_MAX: i32 = -1; +pub const UINT_FAST32_MAX: i32 = -1; +pub const INTPTR_MIN: i64 = -9223372036854775808; +pub const INTPTR_MAX: u64 = 9223372036854775807; +pub const UINTPTR_MAX: i32 = -1; +pub const PTRDIFF_MIN: i64 = -9223372036854775808; +pub const PTRDIFF_MAX: u64 = 9223372036854775807; +pub const SIG_ATOMIC_MIN: i32 = -2147483648; +pub const SIG_ATOMIC_MAX: u32 = 2147483647; +pub const SIZE_MAX: i32 = -1; +pub const WINT_MIN: u32 = 0; +pub const WINT_MAX: u32 = 4294967295; +pub const ____gwchar_t_defined: u32 = 1; +pub const __PRI64_PREFIX: &[u8; 2] = b"l\0"; +pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0"; +pub const PRId8: &[u8; 2] = b"d\0"; +pub const PRId16: &[u8; 2] = b"d\0"; pub const PRId32: &[u8; 2] = b"d\0"; -pub const PRIi32: &[u8; 2] = b"i\0"; -pub const PRIo32: &[u8; 2] = b"o\0"; -pub const PRIu32: &[u8; 2] = b"u\0"; -pub const PRIx32: &[u8; 2] = b"x\0"; -pub const PRIX32: &[u8; 2] = b"X\0"; -pub const PRId64: &[u8; 4] = b"lld\0"; -pub const PRIi64: &[u8; 4] = b"lli\0"; -pub const PRIo64: &[u8; 4] = b"llo\0"; -pub const PRIu64: &[u8; 4] = b"llu\0"; -pub const PRIx64: &[u8; 4] = b"llx\0"; -pub const PRIX64: &[u8; 4] = b"llX\0"; -pub const PRIdLEAST8: &[u8; 4] = b"hhd\0"; -pub const PRIiLEAST8: &[u8; 4] = b"hhi\0"; -pub const PRIoLEAST8: &[u8; 4] = b"hho\0"; -pub const PRIuLEAST8: &[u8; 4] = b"hhu\0"; -pub const PRIxLEAST8: &[u8; 4] = b"hhx\0"; -pub const PRIXLEAST8: &[u8; 4] = b"hhX\0"; -pub const PRIdLEAST16: &[u8; 3] = b"hd\0"; -pub const PRIiLEAST16: &[u8; 3] = b"hi\0"; -pub const PRIoLEAST16: &[u8; 3] = b"ho\0"; -pub const PRIuLEAST16: &[u8; 3] = b"hu\0"; -pub const PRIxLEAST16: &[u8; 3] = b"hx\0"; -pub const PRIXLEAST16: &[u8; 3] = b"hX\0"; +pub const PRId64: &[u8; 3] = b"ld\0"; +pub const PRIdLEAST8: &[u8; 2] = b"d\0"; +pub const PRIdLEAST16: &[u8; 2] = b"d\0"; pub const PRIdLEAST32: &[u8; 2] = b"d\0"; +pub const PRIdLEAST64: &[u8; 3] = b"ld\0"; +pub const PRIdFAST8: &[u8; 2] = b"d\0"; +pub const PRIdFAST16: &[u8; 3] = b"ld\0"; +pub const PRIdFAST32: &[u8; 3] = b"ld\0"; +pub const PRIdFAST64: &[u8; 3] = b"ld\0"; +pub const PRIi8: &[u8; 2] = b"i\0"; +pub const PRIi16: &[u8; 2] = b"i\0"; +pub const PRIi32: &[u8; 2] = b"i\0"; +pub const PRIi64: &[u8; 3] = b"li\0"; +pub const PRIiLEAST8: &[u8; 2] = b"i\0"; +pub const PRIiLEAST16: &[u8; 2] = b"i\0"; pub const PRIiLEAST32: &[u8; 2] = b"i\0"; +pub const PRIiLEAST64: &[u8; 3] = b"li\0"; +pub const PRIiFAST8: &[u8; 2] = b"i\0"; +pub const PRIiFAST16: &[u8; 3] = b"li\0"; +pub const PRIiFAST32: &[u8; 3] = b"li\0"; +pub const PRIiFAST64: &[u8; 3] = b"li\0"; +pub const PRIo8: &[u8; 2] = b"o\0"; +pub const PRIo16: &[u8; 2] = b"o\0"; +pub const PRIo32: &[u8; 2] = b"o\0"; +pub const PRIo64: &[u8; 3] = b"lo\0"; +pub const PRIoLEAST8: &[u8; 2] = b"o\0"; +pub const PRIoLEAST16: &[u8; 2] = b"o\0"; pub const PRIoLEAST32: &[u8; 2] = b"o\0"; +pub const PRIoLEAST64: &[u8; 3] = b"lo\0"; +pub const PRIoFAST8: &[u8; 2] = b"o\0"; +pub const PRIoFAST16: &[u8; 3] = b"lo\0"; +pub const PRIoFAST32: &[u8; 3] = b"lo\0"; +pub const PRIoFAST64: &[u8; 3] = b"lo\0"; +pub const PRIu8: &[u8; 2] = b"u\0"; +pub const PRIu16: &[u8; 2] = b"u\0"; +pub const PRIu32: &[u8; 2] = b"u\0"; +pub const PRIu64: &[u8; 3] = b"lu\0"; +pub const PRIuLEAST8: &[u8; 2] = b"u\0"; +pub const PRIuLEAST16: &[u8; 2] = b"u\0"; pub const PRIuLEAST32: &[u8; 2] = b"u\0"; +pub const PRIuLEAST64: &[u8; 3] = b"lu\0"; +pub const PRIuFAST8: &[u8; 2] = b"u\0"; +pub const PRIuFAST16: &[u8; 3] = b"lu\0"; +pub const PRIuFAST32: &[u8; 3] = b"lu\0"; +pub const PRIuFAST64: &[u8; 3] = b"lu\0"; +pub const PRIx8: &[u8; 2] = b"x\0"; +pub const PRIx16: &[u8; 2] = b"x\0"; +pub const PRIx32: &[u8; 2] = b"x\0"; +pub const PRIx64: &[u8; 3] = b"lx\0"; +pub const PRIxLEAST8: &[u8; 2] = b"x\0"; +pub const PRIxLEAST16: &[u8; 2] = b"x\0"; pub const PRIxLEAST32: &[u8; 2] = b"x\0"; +pub const PRIxLEAST64: &[u8; 3] = b"lx\0"; +pub const PRIxFAST8: &[u8; 2] = b"x\0"; +pub const PRIxFAST16: &[u8; 3] = b"lx\0"; +pub const PRIxFAST32: &[u8; 3] = b"lx\0"; +pub const PRIxFAST64: &[u8; 3] = b"lx\0"; +pub const PRIX8: &[u8; 2] = b"X\0"; +pub const PRIX16: &[u8; 2] = b"X\0"; +pub const PRIX32: &[u8; 2] = b"X\0"; +pub const PRIX64: &[u8; 3] = b"lX\0"; +pub const PRIXLEAST8: &[u8; 2] = b"X\0"; +pub const PRIXLEAST16: &[u8; 2] = b"X\0"; pub const PRIXLEAST32: &[u8; 2] = b"X\0"; -pub const PRIdLEAST64: &[u8; 4] = b"lld\0"; -pub const PRIiLEAST64: &[u8; 4] = b"lli\0"; -pub const PRIoLEAST64: &[u8; 4] = b"llo\0"; -pub const PRIuLEAST64: &[u8; 4] = b"llu\0"; -pub const PRIxLEAST64: &[u8; 4] = b"llx\0"; -pub const PRIXLEAST64: &[u8; 4] = b"llX\0"; -pub const PRIdFAST8: &[u8; 4] = b"hhd\0"; -pub const PRIiFAST8: &[u8; 4] = b"hhi\0"; -pub const PRIoFAST8: &[u8; 4] = b"hho\0"; -pub const PRIuFAST8: &[u8; 4] = b"hhu\0"; -pub const PRIxFAST8: &[u8; 4] = b"hhx\0"; -pub const PRIXFAST8: &[u8; 4] = b"hhX\0"; -pub const PRIdFAST16: &[u8; 3] = b"hd\0"; -pub const PRIiFAST16: &[u8; 3] = b"hi\0"; -pub const PRIoFAST16: &[u8; 3] = b"ho\0"; -pub const PRIuFAST16: &[u8; 3] = b"hu\0"; -pub const PRIxFAST16: &[u8; 3] = b"hx\0"; -pub const PRIXFAST16: &[u8; 3] = b"hX\0"; -pub const PRIdFAST32: &[u8; 2] = b"d\0"; -pub const PRIiFAST32: &[u8; 2] = b"i\0"; -pub const PRIoFAST32: &[u8; 2] = b"o\0"; -pub const PRIuFAST32: &[u8; 2] = b"u\0"; -pub const PRIxFAST32: &[u8; 2] = b"x\0"; -pub const PRIXFAST32: &[u8; 2] = b"X\0"; -pub const PRIdFAST64: &[u8; 4] = b"lld\0"; -pub const PRIiFAST64: &[u8; 4] = b"lli\0"; -pub const PRIoFAST64: &[u8; 4] = b"llo\0"; -pub const PRIuFAST64: &[u8; 4] = b"llu\0"; -pub const PRIxFAST64: &[u8; 4] = b"llx\0"; -pub const PRIXFAST64: &[u8; 4] = b"llX\0"; +pub const PRIXLEAST64: &[u8; 3] = b"lX\0"; +pub const PRIXFAST8: &[u8; 2] = b"X\0"; +pub const PRIXFAST16: &[u8; 3] = b"lX\0"; +pub const PRIXFAST32: &[u8; 3] = b"lX\0"; +pub const PRIXFAST64: &[u8; 3] = b"lX\0"; +pub const PRIdMAX: &[u8; 3] = b"ld\0"; +pub const PRIiMAX: &[u8; 3] = b"li\0"; +pub const PRIoMAX: &[u8; 3] = b"lo\0"; +pub const PRIuMAX: &[u8; 3] = b"lu\0"; +pub const PRIxMAX: &[u8; 3] = b"lx\0"; +pub const PRIXMAX: &[u8; 3] = b"lX\0"; pub const PRIdPTR: &[u8; 3] = b"ld\0"; pub const PRIiPTR: &[u8; 3] = b"li\0"; pub const PRIoPTR: &[u8; 3] = b"lo\0"; pub const PRIuPTR: &[u8; 3] = b"lu\0"; pub const PRIxPTR: &[u8; 3] = b"lx\0"; pub const PRIXPTR: &[u8; 3] = b"lX\0"; -pub const PRIdMAX: &[u8; 3] = b"jd\0"; -pub const PRIiMAX: &[u8; 3] = b"ji\0"; -pub const PRIoMAX: &[u8; 3] = b"jo\0"; -pub const PRIuMAX: &[u8; 3] = b"ju\0"; -pub const PRIxMAX: &[u8; 3] = b"jx\0"; -pub const PRIXMAX: &[u8; 3] = b"jX\0"; pub const SCNd8: &[u8; 4] = b"hhd\0"; -pub const SCNi8: &[u8; 4] = b"hhi\0"; -pub const SCNo8: &[u8; 4] = b"hho\0"; -pub const SCNu8: &[u8; 4] = b"hhu\0"; -pub const SCNx8: &[u8; 4] = b"hhx\0"; pub const SCNd16: &[u8; 3] = b"hd\0"; -pub const SCNi16: &[u8; 3] = b"hi\0"; -pub const SCNo16: &[u8; 3] = b"ho\0"; -pub const SCNu16: &[u8; 3] = b"hu\0"; -pub const SCNx16: &[u8; 3] = b"hx\0"; pub const SCNd32: &[u8; 2] = b"d\0"; -pub const SCNi32: &[u8; 2] = b"i\0"; -pub const SCNo32: &[u8; 2] = b"o\0"; -pub const SCNu32: &[u8; 2] = b"u\0"; -pub const SCNx32: &[u8; 2] = b"x\0"; -pub const SCNd64: &[u8; 4] = b"lld\0"; -pub const SCNi64: &[u8; 4] = b"lli\0"; -pub const SCNo64: &[u8; 4] = b"llo\0"; -pub const SCNu64: &[u8; 4] = b"llu\0"; -pub const SCNx64: &[u8; 4] = b"llx\0"; +pub const SCNd64: &[u8; 3] = b"ld\0"; pub const SCNdLEAST8: &[u8; 4] = b"hhd\0"; -pub const SCNiLEAST8: &[u8; 4] = b"hhi\0"; -pub const SCNoLEAST8: &[u8; 4] = b"hho\0"; -pub const SCNuLEAST8: &[u8; 4] = b"hhu\0"; -pub const SCNxLEAST8: &[u8; 4] = b"hhx\0"; pub const SCNdLEAST16: &[u8; 3] = b"hd\0"; -pub const SCNiLEAST16: &[u8; 3] = b"hi\0"; -pub const SCNoLEAST16: &[u8; 3] = b"ho\0"; -pub const SCNuLEAST16: &[u8; 3] = b"hu\0"; -pub const SCNxLEAST16: &[u8; 3] = b"hx\0"; pub const SCNdLEAST32: &[u8; 2] = b"d\0"; -pub const SCNiLEAST32: &[u8; 2] = b"i\0"; -pub const SCNoLEAST32: &[u8; 2] = b"o\0"; -pub const SCNuLEAST32: &[u8; 2] = b"u\0"; -pub const SCNxLEAST32: &[u8; 2] = b"x\0"; -pub const SCNdLEAST64: &[u8; 4] = b"lld\0"; -pub const SCNiLEAST64: &[u8; 4] = b"lli\0"; -pub const SCNoLEAST64: &[u8; 4] = b"llo\0"; -pub const SCNuLEAST64: &[u8; 4] = b"llu\0"; -pub const SCNxLEAST64: &[u8; 4] = b"llx\0"; +pub const SCNdLEAST64: &[u8; 3] = b"ld\0"; pub const SCNdFAST8: &[u8; 4] = b"hhd\0"; +pub const SCNdFAST16: &[u8; 3] = b"ld\0"; +pub const SCNdFAST32: &[u8; 3] = b"ld\0"; +pub const SCNdFAST64: &[u8; 3] = b"ld\0"; +pub const SCNi8: &[u8; 4] = b"hhi\0"; +pub const SCNi16: &[u8; 3] = b"hi\0"; +pub const SCNi32: &[u8; 2] = b"i\0"; +pub const SCNi64: &[u8; 3] = b"li\0"; +pub const SCNiLEAST8: &[u8; 4] = b"hhi\0"; +pub const SCNiLEAST16: &[u8; 3] = b"hi\0"; +pub const SCNiLEAST32: &[u8; 2] = b"i\0"; +pub const SCNiLEAST64: &[u8; 3] = b"li\0"; pub const SCNiFAST8: &[u8; 4] = b"hhi\0"; -pub const SCNoFAST8: &[u8; 4] = b"hho\0"; +pub const SCNiFAST16: &[u8; 3] = b"li\0"; +pub const SCNiFAST32: &[u8; 3] = b"li\0"; +pub const SCNiFAST64: &[u8; 3] = b"li\0"; +pub const SCNu8: &[u8; 4] = b"hhu\0"; +pub const SCNu16: &[u8; 3] = b"hu\0"; +pub const SCNu32: &[u8; 2] = b"u\0"; +pub const SCNu64: &[u8; 3] = b"lu\0"; +pub const SCNuLEAST8: &[u8; 4] = b"hhu\0"; +pub const SCNuLEAST16: &[u8; 3] = b"hu\0"; +pub const SCNuLEAST32: &[u8; 2] = b"u\0"; +pub const SCNuLEAST64: &[u8; 3] = b"lu\0"; pub const SCNuFAST8: &[u8; 4] = b"hhu\0"; +pub const SCNuFAST16: &[u8; 3] = b"lu\0"; +pub const SCNuFAST32: &[u8; 3] = b"lu\0"; +pub const SCNuFAST64: &[u8; 3] = b"lu\0"; +pub const SCNo8: &[u8; 4] = b"hho\0"; +pub const SCNo16: &[u8; 3] = b"ho\0"; +pub const SCNo32: &[u8; 2] = b"o\0"; +pub const SCNo64: &[u8; 3] = b"lo\0"; +pub const SCNoLEAST8: &[u8; 4] = b"hho\0"; +pub const SCNoLEAST16: &[u8; 3] = b"ho\0"; +pub const SCNoLEAST32: &[u8; 2] = b"o\0"; +pub const SCNoLEAST64: &[u8; 3] = b"lo\0"; +pub const SCNoFAST8: &[u8; 4] = b"hho\0"; +pub const SCNoFAST16: &[u8; 3] = b"lo\0"; +pub const SCNoFAST32: &[u8; 3] = b"lo\0"; +pub const SCNoFAST64: &[u8; 3] = b"lo\0"; +pub const SCNx8: &[u8; 4] = b"hhx\0"; +pub const SCNx16: &[u8; 3] = b"hx\0"; +pub const SCNx32: &[u8; 2] = b"x\0"; +pub const SCNx64: &[u8; 3] = b"lx\0"; +pub const SCNxLEAST8: &[u8; 4] = b"hhx\0"; +pub const SCNxLEAST16: &[u8; 3] = b"hx\0"; +pub const SCNxLEAST32: &[u8; 2] = b"x\0"; +pub const SCNxLEAST64: &[u8; 3] = b"lx\0"; pub const SCNxFAST8: &[u8; 4] = b"hhx\0"; -pub const SCNdFAST16: &[u8; 3] = b"hd\0"; -pub const SCNiFAST16: &[u8; 3] = b"hi\0"; -pub const SCNoFAST16: &[u8; 3] = b"ho\0"; -pub const SCNuFAST16: &[u8; 3] = b"hu\0"; -pub const SCNxFAST16: &[u8; 3] = b"hx\0"; -pub const SCNdFAST32: &[u8; 2] = b"d\0"; -pub const SCNiFAST32: &[u8; 2] = b"i\0"; -pub const SCNoFAST32: &[u8; 2] = b"o\0"; -pub const SCNuFAST32: &[u8; 2] = b"u\0"; -pub const SCNxFAST32: &[u8; 2] = b"x\0"; -pub const SCNdFAST64: &[u8; 4] = b"lld\0"; -pub const SCNiFAST64: &[u8; 4] = b"lli\0"; -pub const SCNoFAST64: &[u8; 4] = b"llo\0"; -pub const SCNuFAST64: &[u8; 4] = b"llu\0"; -pub const SCNxFAST64: &[u8; 4] = b"llx\0"; +pub const SCNxFAST16: &[u8; 3] = b"lx\0"; +pub const SCNxFAST32: &[u8; 3] = b"lx\0"; +pub const SCNxFAST64: &[u8; 3] = b"lx\0"; +pub const SCNdMAX: &[u8; 3] = b"ld\0"; +pub const SCNiMAX: &[u8; 3] = b"li\0"; +pub const SCNoMAX: &[u8; 3] = b"lo\0"; +pub const SCNuMAX: &[u8; 3] = b"lu\0"; +pub const SCNxMAX: &[u8; 3] = b"lx\0"; pub const SCNdPTR: &[u8; 3] = b"ld\0"; pub const SCNiPTR: &[u8; 3] = b"li\0"; pub const SCNoPTR: &[u8; 3] = b"lo\0"; pub const SCNuPTR: &[u8; 3] = b"lu\0"; pub const SCNxPTR: &[u8; 3] = b"lx\0"; -pub const SCNdMAX: &[u8; 3] = b"jd\0"; -pub const SCNiMAX: &[u8; 3] = b"ji\0"; -pub const SCNoMAX: &[u8; 3] = b"jo\0"; -pub const SCNuMAX: &[u8; 3] = b"ju\0"; -pub const SCNxMAX: &[u8; 3] = b"jx\0"; -pub const __has_safe_buffers: u32 = 1; -pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1; -pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1; -pub const __DARWIN_ONLY_VERS_1050: u32 = 1; -pub const __DARWIN_UNIX03: u32 = 1; -pub const __DARWIN_64_BIT_INO_T: u32 = 1; -pub const __DARWIN_VERS_1050: u32 = 1; -pub const __DARWIN_NON_CANCELABLE: u32 = 0; -pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0"; -pub const __DARWIN_C_ANSI: u32 = 4096; -pub const __DARWIN_C_FULL: u32 = 900000; -pub const __DARWIN_C_LEVEL: u32 = 900000; -pub const __STDC_WANT_LIB_EXT1__: u32 = 1; -pub const __DARWIN_NO_LONG_LONG: u32 = 0; -pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1; -pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1; -pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1; -pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1; -pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3; -pub const __has_ptrcheck: u32 = 0; -pub const __API_TO_BE_DEPRECATED: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000; -pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000; -pub const __MAC_10_0: u32 = 1000; -pub const __MAC_10_1: u32 = 1010; -pub const __MAC_10_2: u32 = 1020; -pub const __MAC_10_3: u32 = 1030; -pub const __MAC_10_4: u32 = 1040; -pub const __MAC_10_5: u32 = 1050; -pub const __MAC_10_6: u32 = 1060; -pub const __MAC_10_7: u32 = 1070; -pub const __MAC_10_8: u32 = 1080; -pub const __MAC_10_9: u32 = 1090; -pub const __MAC_10_10: u32 = 101000; -pub const __MAC_10_10_2: u32 = 101002; -pub const __MAC_10_10_3: u32 = 101003; -pub const __MAC_10_11: u32 = 101100; -pub const __MAC_10_11_2: u32 = 101102; -pub const __MAC_10_11_3: u32 = 101103; -pub const __MAC_10_11_4: u32 = 101104; -pub const __MAC_10_12: u32 = 101200; -pub const __MAC_10_12_1: u32 = 101201; -pub const __MAC_10_12_2: u32 = 101202; -pub const __MAC_10_12_4: u32 = 101204; -pub const __MAC_10_13: u32 = 101300; -pub const __MAC_10_13_1: u32 = 101301; -pub const __MAC_10_13_2: u32 = 101302; -pub const __MAC_10_13_4: u32 = 101304; -pub const __MAC_10_14: u32 = 101400; -pub const __MAC_10_14_1: u32 = 101401; -pub const __MAC_10_14_4: u32 = 101404; -pub const __MAC_10_14_5: u32 = 101405; -pub const __MAC_10_14_6: u32 = 101406; -pub const __MAC_10_15: u32 = 101500; -pub const __MAC_10_15_1: u32 = 101501; -pub const __MAC_10_15_4: u32 = 101504; -pub const __MAC_10_16: u32 = 101600; -pub const __MAC_11_0: u32 = 110000; -pub const __MAC_11_1: u32 = 110100; -pub const __MAC_11_3: u32 = 110300; -pub const __MAC_11_4: u32 = 110400; -pub const __MAC_11_5: u32 = 110500; -pub const __MAC_11_6: u32 = 110600; -pub const __MAC_12_0: u32 = 120000; -pub const __MAC_12_1: u32 = 120100; -pub const __MAC_12_2: u32 = 120200; -pub const __MAC_12_3: u32 = 120300; -pub const __MAC_12_4: u32 = 120400; -pub const __MAC_12_5: u32 = 120500; -pub const __MAC_12_6: u32 = 120600; -pub const __MAC_12_7: u32 = 120700; -pub const __MAC_13_0: u32 = 130000; -pub const __MAC_13_1: u32 = 130100; -pub const __MAC_13_2: u32 = 130200; -pub const __MAC_13_3: u32 = 130300; -pub const __MAC_13_4: u32 = 130400; -pub const __MAC_13_5: u32 = 130500; -pub const __MAC_13_6: u32 = 130600; -pub const __MAC_14_0: u32 = 140000; -pub const __MAC_14_1: u32 = 140100; -pub const __MAC_14_2: u32 = 140200; -pub const __MAC_14_3: u32 = 140300; -pub const __MAC_14_4: u32 = 140400; -pub const __MAC_14_5: u32 = 140500; -pub const __MAC_15_0: u32 = 150000; -pub const __IPHONE_2_0: u32 = 20000; -pub const __IPHONE_2_1: u32 = 20100; -pub const __IPHONE_2_2: u32 = 20200; -pub const __IPHONE_3_0: u32 = 30000; -pub const __IPHONE_3_1: u32 = 30100; -pub const __IPHONE_3_2: u32 = 30200; -pub const __IPHONE_4_0: u32 = 40000; -pub const __IPHONE_4_1: u32 = 40100; -pub const __IPHONE_4_2: u32 = 40200; -pub const __IPHONE_4_3: u32 = 40300; -pub const __IPHONE_5_0: u32 = 50000; -pub const __IPHONE_5_1: u32 = 50100; -pub const __IPHONE_6_0: u32 = 60000; -pub const __IPHONE_6_1: u32 = 60100; -pub const __IPHONE_7_0: u32 = 70000; -pub const __IPHONE_7_1: u32 = 70100; -pub const __IPHONE_8_0: u32 = 80000; -pub const __IPHONE_8_1: u32 = 80100; -pub const __IPHONE_8_2: u32 = 80200; -pub const __IPHONE_8_3: u32 = 80300; -pub const __IPHONE_8_4: u32 = 80400; -pub const __IPHONE_9_0: u32 = 90000; -pub const __IPHONE_9_1: u32 = 90100; -pub const __IPHONE_9_2: u32 = 90200; -pub const __IPHONE_9_3: u32 = 90300; -pub const __IPHONE_10_0: u32 = 100000; -pub const __IPHONE_10_1: u32 = 100100; -pub const __IPHONE_10_2: u32 = 100200; -pub const __IPHONE_10_3: u32 = 100300; -pub const __IPHONE_11_0: u32 = 110000; -pub const __IPHONE_11_1: u32 = 110100; -pub const __IPHONE_11_2: u32 = 110200; -pub const __IPHONE_11_3: u32 = 110300; -pub const __IPHONE_11_4: u32 = 110400; -pub const __IPHONE_12_0: u32 = 120000; -pub const __IPHONE_12_1: u32 = 120100; -pub const __IPHONE_12_2: u32 = 120200; -pub const __IPHONE_12_3: u32 = 120300; -pub const __IPHONE_12_4: u32 = 120400; -pub const __IPHONE_13_0: u32 = 130000; -pub const __IPHONE_13_1: u32 = 130100; -pub const __IPHONE_13_2: u32 = 130200; -pub const __IPHONE_13_3: u32 = 130300; -pub const __IPHONE_13_4: u32 = 130400; -pub const __IPHONE_13_5: u32 = 130500; -pub const __IPHONE_13_6: u32 = 130600; -pub const __IPHONE_13_7: u32 = 130700; -pub const __IPHONE_14_0: u32 = 140000; -pub const __IPHONE_14_1: u32 = 140100; -pub const __IPHONE_14_2: u32 = 140200; -pub const __IPHONE_14_3: u32 = 140300; -pub const __IPHONE_14_5: u32 = 140500; -pub const __IPHONE_14_4: u32 = 140400; -pub const __IPHONE_14_6: u32 = 140600; -pub const __IPHONE_14_7: u32 = 140700; -pub const __IPHONE_14_8: u32 = 140800; -pub const __IPHONE_15_0: u32 = 150000; -pub const __IPHONE_15_1: u32 = 150100; -pub const __IPHONE_15_2: u32 = 150200; -pub const __IPHONE_15_3: u32 = 150300; -pub const __IPHONE_15_4: u32 = 150400; -pub const __IPHONE_15_5: u32 = 150500; -pub const __IPHONE_15_6: u32 = 150600; -pub const __IPHONE_15_7: u32 = 150700; -pub const __IPHONE_15_8: u32 = 150800; -pub const __IPHONE_16_0: u32 = 160000; -pub const __IPHONE_16_1: u32 = 160100; -pub const __IPHONE_16_2: u32 = 160200; -pub const __IPHONE_16_3: u32 = 160300; -pub const __IPHONE_16_4: u32 = 160400; -pub const __IPHONE_16_5: u32 = 160500; -pub const __IPHONE_16_6: u32 = 160600; -pub const __IPHONE_16_7: u32 = 160700; -pub const __IPHONE_17_0: u32 = 170000; -pub const __IPHONE_17_1: u32 = 170100; -pub const __IPHONE_17_2: u32 = 170200; -pub const __IPHONE_17_3: u32 = 170300; -pub const __IPHONE_17_4: u32 = 170400; -pub const __IPHONE_17_5: u32 = 170500; -pub const __IPHONE_18_0: u32 = 180000; -pub const __WATCHOS_1_0: u32 = 10000; -pub const __WATCHOS_2_0: u32 = 20000; -pub const __WATCHOS_2_1: u32 = 20100; -pub const __WATCHOS_2_2: u32 = 20200; -pub const __WATCHOS_3_0: u32 = 30000; -pub const __WATCHOS_3_1: u32 = 30100; -pub const __WATCHOS_3_1_1: u32 = 30101; -pub const __WATCHOS_3_2: u32 = 30200; -pub const __WATCHOS_4_0: u32 = 40000; -pub const __WATCHOS_4_1: u32 = 40100; -pub const __WATCHOS_4_2: u32 = 40200; -pub const __WATCHOS_4_3: u32 = 40300; -pub const __WATCHOS_5_0: u32 = 50000; -pub const __WATCHOS_5_1: u32 = 50100; -pub const __WATCHOS_5_2: u32 = 50200; -pub const __WATCHOS_5_3: u32 = 50300; -pub const __WATCHOS_6_0: u32 = 60000; -pub const __WATCHOS_6_1: u32 = 60100; -pub const __WATCHOS_6_2: u32 = 60200; -pub const __WATCHOS_7_0: u32 = 70000; -pub const __WATCHOS_7_1: u32 = 70100; -pub const __WATCHOS_7_2: u32 = 70200; -pub const __WATCHOS_7_3: u32 = 70300; -pub const __WATCHOS_7_4: u32 = 70400; -pub const __WATCHOS_7_5: u32 = 70500; -pub const __WATCHOS_7_6: u32 = 70600; -pub const __WATCHOS_8_0: u32 = 80000; -pub const __WATCHOS_8_1: u32 = 80100; -pub const __WATCHOS_8_3: u32 = 80300; -pub const __WATCHOS_8_4: u32 = 80400; -pub const __WATCHOS_8_5: u32 = 80500; -pub const __WATCHOS_8_6: u32 = 80600; -pub const __WATCHOS_8_7: u32 = 80700; -pub const __WATCHOS_8_8: u32 = 80800; -pub const __WATCHOS_9_0: u32 = 90000; -pub const __WATCHOS_9_1: u32 = 90100; -pub const __WATCHOS_9_2: u32 = 90200; -pub const __WATCHOS_9_3: u32 = 90300; -pub const __WATCHOS_9_4: u32 = 90400; -pub const __WATCHOS_9_5: u32 = 90500; -pub const __WATCHOS_9_6: u32 = 90600; -pub const __WATCHOS_10_0: u32 = 100000; -pub const __WATCHOS_10_1: u32 = 100100; -pub const __WATCHOS_10_2: u32 = 100200; -pub const __WATCHOS_10_3: u32 = 100300; -pub const __WATCHOS_10_4: u32 = 100400; -pub const __WATCHOS_10_5: u32 = 100500; -pub const __WATCHOS_11_0: u32 = 110000; -pub const __TVOS_9_0: u32 = 90000; -pub const __TVOS_9_1: u32 = 90100; -pub const __TVOS_9_2: u32 = 90200; -pub const __TVOS_10_0: u32 = 100000; -pub const __TVOS_10_0_1: u32 = 100001; -pub const __TVOS_10_1: u32 = 100100; -pub const __TVOS_10_2: u32 = 100200; -pub const __TVOS_11_0: u32 = 110000; -pub const __TVOS_11_1: u32 = 110100; -pub const __TVOS_11_2: u32 = 110200; -pub const __TVOS_11_3: u32 = 110300; -pub const __TVOS_11_4: u32 = 110400; -pub const __TVOS_12_0: u32 = 120000; -pub const __TVOS_12_1: u32 = 120100; -pub const __TVOS_12_2: u32 = 120200; -pub const __TVOS_12_3: u32 = 120300; -pub const __TVOS_12_4: u32 = 120400; -pub const __TVOS_13_0: u32 = 130000; -pub const __TVOS_13_2: u32 = 130200; -pub const __TVOS_13_3: u32 = 130300; -pub const __TVOS_13_4: u32 = 130400; -pub const __TVOS_14_0: u32 = 140000; -pub const __TVOS_14_1: u32 = 140100; -pub const __TVOS_14_2: u32 = 140200; -pub const __TVOS_14_3: u32 = 140300; -pub const __TVOS_14_5: u32 = 140500; -pub const __TVOS_14_6: u32 = 140600; -pub const __TVOS_14_7: u32 = 140700; -pub const __TVOS_15_0: u32 = 150000; -pub const __TVOS_15_1: u32 = 150100; -pub const __TVOS_15_2: u32 = 150200; -pub const __TVOS_15_3: u32 = 150300; -pub const __TVOS_15_4: u32 = 150400; -pub const __TVOS_15_5: u32 = 150500; -pub const __TVOS_15_6: u32 = 150600; -pub const __TVOS_16_0: u32 = 160000; -pub const __TVOS_16_1: u32 = 160100; -pub const __TVOS_16_2: u32 = 160200; -pub const __TVOS_16_3: u32 = 160300; -pub const __TVOS_16_4: u32 = 160400; -pub const __TVOS_16_5: u32 = 160500; -pub const __TVOS_16_6: u32 = 160600; -pub const __TVOS_17_0: u32 = 170000; -pub const __TVOS_17_1: u32 = 170100; -pub const __TVOS_17_2: u32 = 170200; -pub const __TVOS_17_3: u32 = 170300; -pub const __TVOS_17_4: u32 = 170400; -pub const __TVOS_17_5: u32 = 170500; -pub const __TVOS_18_0: u32 = 180000; -pub const __BRIDGEOS_2_0: u32 = 20000; -pub const __BRIDGEOS_3_0: u32 = 30000; -pub const __BRIDGEOS_3_1: u32 = 30100; -pub const __BRIDGEOS_3_4: u32 = 30400; -pub const __BRIDGEOS_4_0: u32 = 40000; -pub const __BRIDGEOS_4_1: u32 = 40100; -pub const __BRIDGEOS_5_0: u32 = 50000; -pub const __BRIDGEOS_5_1: u32 = 50100; -pub const __BRIDGEOS_5_3: u32 = 50300; -pub const __BRIDGEOS_6_0: u32 = 60000; -pub const __BRIDGEOS_6_2: u32 = 60200; -pub const __BRIDGEOS_6_4: u32 = 60400; -pub const __BRIDGEOS_6_5: u32 = 60500; -pub const __BRIDGEOS_6_6: u32 = 60600; -pub const __BRIDGEOS_7_0: u32 = 70000; -pub const __BRIDGEOS_7_1: u32 = 70100; -pub const __BRIDGEOS_7_2: u32 = 70200; -pub const __BRIDGEOS_7_3: u32 = 70300; -pub const __BRIDGEOS_7_4: u32 = 70400; -pub const __BRIDGEOS_7_6: u32 = 70600; -pub const __BRIDGEOS_8_0: u32 = 80000; -pub const __BRIDGEOS_8_1: u32 = 80100; -pub const __BRIDGEOS_8_2: u32 = 80200; -pub const __BRIDGEOS_8_3: u32 = 80300; -pub const __BRIDGEOS_8_4: u32 = 80400; -pub const __BRIDGEOS_8_5: u32 = 80500; -pub const __BRIDGEOS_9_0: u32 = 90000; -pub const __DRIVERKIT_19_0: u32 = 190000; -pub const __DRIVERKIT_20_0: u32 = 200000; -pub const __DRIVERKIT_21_0: u32 = 210000; -pub const __DRIVERKIT_22_0: u32 = 220000; -pub const __DRIVERKIT_22_4: u32 = 220400; -pub const __DRIVERKIT_22_5: u32 = 220500; -pub const __DRIVERKIT_22_6: u32 = 220600; -pub const __DRIVERKIT_23_0: u32 = 230000; -pub const __DRIVERKIT_23_1: u32 = 230100; -pub const __DRIVERKIT_23_2: u32 = 230200; -pub const __DRIVERKIT_23_3: u32 = 230300; -pub const __DRIVERKIT_23_4: u32 = 230400; -pub const __DRIVERKIT_23_5: u32 = 230500; -pub const __DRIVERKIT_24_0: u32 = 240000; -pub const __VISIONOS_1_0: u32 = 10000; -pub const __VISIONOS_1_1: u32 = 10100; -pub const __VISIONOS_1_2: u32 = 10200; -pub const __VISIONOS_2_0: u32 = 20000; -pub const MAC_OS_X_VERSION_10_0: u32 = 1000; -pub const MAC_OS_X_VERSION_10_1: u32 = 1010; -pub const MAC_OS_X_VERSION_10_2: u32 = 1020; -pub const MAC_OS_X_VERSION_10_3: u32 = 1030; -pub const MAC_OS_X_VERSION_10_4: u32 = 1040; -pub const MAC_OS_X_VERSION_10_5: u32 = 1050; -pub const MAC_OS_X_VERSION_10_6: u32 = 1060; -pub const MAC_OS_X_VERSION_10_7: u32 = 1070; -pub const MAC_OS_X_VERSION_10_8: u32 = 1080; -pub const MAC_OS_X_VERSION_10_9: u32 = 1090; -pub const MAC_OS_X_VERSION_10_10: u32 = 101000; -pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002; -pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003; -pub const MAC_OS_X_VERSION_10_11: u32 = 101100; -pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102; -pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103; -pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104; -pub const MAC_OS_X_VERSION_10_12: u32 = 101200; -pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201; -pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202; -pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204; -pub const MAC_OS_X_VERSION_10_13: u32 = 101300; -pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301; -pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302; -pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304; -pub const MAC_OS_X_VERSION_10_14: u32 = 101400; -pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401; -pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404; -pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405; -pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406; -pub const MAC_OS_X_VERSION_10_15: u32 = 101500; -pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501; -pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504; -pub const MAC_OS_X_VERSION_10_16: u32 = 101600; -pub const MAC_OS_VERSION_11_0: u32 = 110000; -pub const MAC_OS_VERSION_11_1: u32 = 110100; -pub const MAC_OS_VERSION_11_3: u32 = 110300; -pub const MAC_OS_VERSION_11_4: u32 = 110400; -pub const MAC_OS_VERSION_11_5: u32 = 110500; -pub const MAC_OS_VERSION_11_6: u32 = 110600; -pub const MAC_OS_VERSION_12_0: u32 = 120000; -pub const MAC_OS_VERSION_12_1: u32 = 120100; -pub const MAC_OS_VERSION_12_2: u32 = 120200; -pub const MAC_OS_VERSION_12_3: u32 = 120300; -pub const MAC_OS_VERSION_12_4: u32 = 120400; -pub const MAC_OS_VERSION_12_5: u32 = 120500; -pub const MAC_OS_VERSION_12_6: u32 = 120600; -pub const MAC_OS_VERSION_12_7: u32 = 120700; -pub const MAC_OS_VERSION_13_0: u32 = 130000; -pub const MAC_OS_VERSION_13_1: u32 = 130100; -pub const MAC_OS_VERSION_13_2: u32 = 130200; -pub const MAC_OS_VERSION_13_3: u32 = 130300; -pub const MAC_OS_VERSION_13_4: u32 = 130400; -pub const MAC_OS_VERSION_13_5: u32 = 130500; -pub const MAC_OS_VERSION_13_6: u32 = 130600; -pub const MAC_OS_VERSION_14_0: u32 = 140000; -pub const MAC_OS_VERSION_14_1: u32 = 140100; -pub const MAC_OS_VERSION_14_2: u32 = 140200; -pub const MAC_OS_VERSION_14_3: u32 = 140300; -pub const MAC_OS_VERSION_14_4: u32 = 140400; -pub const MAC_OS_VERSION_14_5: u32 = 140500; -pub const MAC_OS_VERSION_15_0: u32 = 150000; -pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 150000; -pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1; -pub const __PTHREAD_SIZE__: u32 = 8176; -pub const __PTHREAD_ATTR_SIZE__: u32 = 56; -pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8; -pub const __PTHREAD_MUTEX_SIZE__: u32 = 56; -pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8; -pub const __PTHREAD_COND_SIZE__: u32 = 40; -pub const __PTHREAD_ONCE_SIZE__: u32 = 8; -pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192; -pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16; -pub const __DARWIN_WCHAR_MIN: i32 = -2147483648; -pub const _FORTIFY_SOURCE: u32 = 2; -pub const __WORDSIZE: u32 = 64; -pub const INT8_MAX: u32 = 127; -pub const INT16_MAX: u32 = 32767; -pub const INT32_MAX: u32 = 2147483647; -pub const INT64_MAX: u64 = 9223372036854775807; -pub const INT8_MIN: i32 = -128; -pub const INT16_MIN: i32 = -32768; -pub const INT32_MIN: i32 = -2147483648; -pub const INT64_MIN: i64 = -9223372036854775808; -pub const UINT8_MAX: u32 = 255; -pub const UINT16_MAX: u32 = 65535; -pub const UINT32_MAX: u32 = 4294967295; -pub const UINT64_MAX: i32 = -1; -pub const INT_LEAST8_MIN: i32 = -128; -pub const INT_LEAST16_MIN: i32 = -32768; -pub const INT_LEAST32_MIN: i32 = -2147483648; -pub const INT_LEAST64_MIN: i64 = -9223372036854775808; -pub const INT_LEAST8_MAX: u32 = 127; -pub const INT_LEAST16_MAX: u32 = 32767; -pub const INT_LEAST32_MAX: u32 = 2147483647; -pub const INT_LEAST64_MAX: u64 = 9223372036854775807; -pub const UINT_LEAST8_MAX: u32 = 255; -pub const UINT_LEAST16_MAX: u32 = 65535; -pub const UINT_LEAST32_MAX: u32 = 4294967295; -pub const UINT_LEAST64_MAX: i32 = -1; -pub const INT_FAST8_MIN: i32 = -128; -pub const INT_FAST16_MIN: i32 = -32768; -pub const INT_FAST32_MIN: i32 = -2147483648; -pub const INT_FAST64_MIN: i64 = -9223372036854775808; -pub const INT_FAST8_MAX: u32 = 127; -pub const INT_FAST16_MAX: u32 = 32767; -pub const INT_FAST32_MAX: u32 = 2147483647; -pub const INT_FAST64_MAX: u64 = 9223372036854775807; -pub const UINT_FAST8_MAX: u32 = 255; -pub const UINT_FAST16_MAX: u32 = 65535; -pub const UINT_FAST32_MAX: u32 = 4294967295; -pub const UINT_FAST64_MAX: i32 = -1; -pub const INTPTR_MAX: u64 = 9223372036854775807; -pub const INTPTR_MIN: i64 = -9223372036854775808; -pub const UINTPTR_MAX: i32 = -1; -pub const SIZE_MAX: i32 = -1; -pub const RSIZE_MAX: i32 = -1; -pub const WINT_MIN: i32 = -2147483648; -pub const WINT_MAX: u32 = 2147483647; -pub const SIG_ATOMIC_MIN: i32 = -2147483648; -pub const SIG_ATOMIC_MAX: u32 = 2147483647; pub const CCAN_COMPILER: &[u8; 3] = b"cc\0"; pub const CCAN_CFLAGS : & [u8 ; 111] = b"-g3 -ggdb -Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition\0" ; pub const CCAN_OUTPUT_EXE_CFLAG: &[u8; 3] = b"-o\0"; @@ -635,68 +298,61 @@ pub const HAVE_LITTLE_ENDIAN: u32 = 1; pub const __bool_true_false_are_defined: u32 = 1; pub const true_: u32 = 1; pub const false_: u32 = 0; -pub const RENAME_SECLUDE: u32 = 1; -pub const RENAME_SWAP: u32 = 2; -pub const RENAME_EXCL: u32 = 4; -pub const RENAME_RESERVED1: u32 = 8; -pub const RENAME_NOFOLLOW_ANY: u32 = 16; -pub const SEEK_SET: u32 = 0; -pub const SEEK_CUR: u32 = 1; -pub const SEEK_END: u32 = 2; -pub const SEEK_HOLE: u32 = 3; -pub const SEEK_DATA: u32 = 4; -pub const __SLBF: u32 = 1; -pub const __SNBF: u32 = 2; -pub const __SRD: u32 = 4; -pub const __SWR: u32 = 8; -pub const __SRW: u32 = 16; -pub const __SEOF: u32 = 32; -pub const __SERR: u32 = 64; -pub const __SMBF: u32 = 128; -pub const __SAPP: u32 = 256; -pub const __SSTR: u32 = 512; -pub const __SOPT: u32 = 1024; -pub const __SNPT: u32 = 2048; -pub const __SOFF: u32 = 4096; -pub const __SMOD: u32 = 8192; -pub const __SALC: u32 = 16384; -pub const __SIGN: u32 = 32768; +pub const _STDIO_H: u32 = 1; +pub const _____fpos_t_defined: u32 = 1; +pub const ____mbstate_t_defined: u32 = 1; +pub const _____fpos64_t_defined: u32 = 1; +pub const ____FILE_defined: u32 = 1; +pub const __FILE_defined: u32 = 1; +pub const __struct_FILE_defined: u32 = 1; +pub const _IO_EOF_SEEN: u32 = 16; +pub const _IO_ERR_SEEN: u32 = 32; +pub const _IO_USER_LOCK: u32 = 32768; +pub const __cookie_io_functions_t_defined: u32 = 1; pub const _IOFBF: u32 = 0; pub const _IOLBF: u32 = 1; pub const _IONBF: u32 = 2; -pub const BUFSIZ: u32 = 1024; +pub const BUFSIZ: u32 = 8192; pub const EOF: i32 = -1; -pub const FOPEN_MAX: u32 = 20; -pub const FILENAME_MAX: u32 = 1024; -pub const P_tmpdir: &[u8; 10] = b"/var/tmp/\0"; -pub const L_tmpnam: u32 = 1024; -pub const TMP_MAX: u32 = 308915776; -pub const L_ctermid: u32 = 1024; -pub const _USE_FORTIFY_LEVEL: u32 = 2; -pub const _CACHED_RUNES: u32 = 256; -pub const _CRMASK: i32 = -256; -pub const _RUNE_MAGIC_A: &[u8; 9] = b"RuneMagA\0"; -pub const _CTYPE_A: u32 = 256; -pub const _CTYPE_C: u32 = 512; -pub const _CTYPE_D: u32 = 1024; -pub const _CTYPE_G: u32 = 2048; -pub const _CTYPE_L: u32 = 4096; -pub const _CTYPE_P: u32 = 8192; -pub const _CTYPE_S: u32 = 16384; -pub const _CTYPE_U: u32 = 32768; -pub const _CTYPE_X: u32 = 65536; -pub const _CTYPE_B: u32 = 131072; -pub const _CTYPE_R: u32 = 262144; -pub const _CTYPE_I: u32 = 524288; -pub const _CTYPE_T: u32 = 1048576; -pub const _CTYPE_Q: u32 = 2097152; -pub const _CTYPE_SW0: u32 = 536870912; -pub const _CTYPE_SW1: u32 = 1073741824; -pub const _CTYPE_SW2: u32 = 2147483648; -pub const _CTYPE_SW3: u32 = 3221225472; -pub const _CTYPE_SWM: u32 = 3758096384; -pub const _CTYPE_SWS: u32 = 30; -pub const __HAS_FIXED_CHK_PROTOTYPES: u32 = 1; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const P_tmpdir: &[u8; 5] = b"/tmp\0"; +pub const L_tmpnam: u32 = 20; +pub const TMP_MAX: u32 = 238328; +pub const _BITS_STDIO_LIM_H: u32 = 1; +pub const FILENAME_MAX: u32 = 4096; +pub const L_ctermid: u32 = 9; +pub const FOPEN_MAX: u32 = 16; +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 _CTYPE_H: u32 = 1; +pub const _BITS_ENDIAN_H: u32 = 1; +pub const __LITTLE_ENDIAN: u32 = 1234; +pub const __BIG_ENDIAN: u32 = 4321; +pub const __PDP_ENDIAN: u32 = 3412; +pub const _BITS_ENDIANNESS_H: u32 = 1; +pub const __BYTE_ORDER: u32 = 1234; +pub const __FLOAT_WORD_ORDER: u32 = 1234; +pub const _BITS_TYPES_LOCALE_T_H: u32 = 1; +pub const _BITS_TYPES___LOCALE_T_H: u32 = 1; +pub const _ASSERT_H: u32 = 1; +pub const _STRING_H: u32 = 1; +pub const _STRINGS_H: u32 = 1; pub const NDB_PACKED_STR: u32 = 1; pub const NDB_PACKED_ID: u32 = 2; pub const NDB_FLAG_NOMIGRATE: u32 = 1; @@ -707,1864 +363,1578 @@ pub const MAX_TEXT_SEARCH_WORDS: u32 = 8; pub const NDB_NUM_BLOCK_TYPES: u32 = 6; pub const NDB_MAX_RELAYS: u32 = 24; pub const NOSTR_BECH32_KNOWN_TYPES: u32 = 7; +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_longlong; -pub type __uint64_t = ::std::os::raw::c_ulonglong; -pub type __darwin_intptr_t = ::std::os::raw::c_long; -pub type __darwin_natural_t = ::std::os::raw::c_uint; -pub type __darwin_ct_rune_t = ::std::os::raw::c_int; +pub type __int64_t = ::std::os::raw::c_long; +pub type __uint64_t = ::std::os::raw::c_ulong; +pub type __int_least8_t = __int8_t; +pub type __uint_least8_t = __uint8_t; +pub type __int_least16_t = __int16_t; +pub type __uint_least16_t = __uint16_t; +pub type __int_least32_t = __int32_t; +pub type __uint_least32_t = __uint32_t; +pub type __int_least64_t = __int64_t; +pub type __uint_least64_t = __uint64_t; +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(Copy, Clone)] -pub union __mbstate_t { - pub __mbstate8: [::std::os::raw::c_char; 128usize], - pub _mbstateL: ::std::os::raw::c_longlong, +#[derive(Debug, Copy, Clone)] +pub struct __fsid_t { + pub __val: [::std::os::raw::c_int; 2usize], } #[test] -fn bindgen_test_layout___mbstate_t() { - const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___fsid_t() { + const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__mbstate_t>(), - 128usize, - concat!("Size of: ", stringify!(__mbstate_t)) - ); - assert_eq!( - ::std::mem::align_of::<__mbstate_t>(), + ::std::mem::size_of::<__fsid_t>(), 8usize, - concat!("Alignment of ", stringify!(__mbstate_t)) + concat!("Size of: ", stringify!(__fsid_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__mbstate_t), - "::", - stringify!(__mbstate8) - ) + ::std::mem::align_of::<__fsid_t>(), + 4usize, + concat!("Alignment of ", stringify!(__fsid_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__mbstate_t), - "::", - stringify!(_mbstateL) - ) - ); -} -pub type __darwin_mbstate_t = __mbstate_t; -pub type __darwin_ptrdiff_t = ::std::os::raw::c_long; -pub type __darwin_size_t = ::std::os::raw::c_ulong; -pub type __darwin_va_list = __builtin_va_list; -pub type __darwin_wchar_t = ::std::os::raw::c_int; -pub type __darwin_rune_t = __darwin_wchar_t; -pub type __darwin_wint_t = ::std::os::raw::c_int; -pub type __darwin_clock_t = ::std::os::raw::c_ulong; -pub type __darwin_socklen_t = __uint32_t; -pub type __darwin_ssize_t = ::std::os::raw::c_long; -pub type __darwin_time_t = ::std::os::raw::c_long; -pub type __darwin_blkcnt_t = __int64_t; -pub type __darwin_blksize_t = __int32_t; -pub type __darwin_dev_t = __int32_t; -pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint; -pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint; -pub type __darwin_gid_t = __uint32_t; -pub type __darwin_id_t = __uint32_t; -pub type __darwin_ino64_t = __uint64_t; -pub type __darwin_ino_t = __darwin_ino64_t; -pub type __darwin_mach_port_name_t = __darwin_natural_t; -pub type __darwin_mach_port_t = __darwin_mach_port_name_t; -pub type __darwin_mode_t = __uint16_t; -pub type __darwin_off_t = __int64_t; -pub type __darwin_pid_t = __int32_t; -pub type __darwin_sigset_t = __uint32_t; -pub type __darwin_suseconds_t = __int32_t; -pub type __darwin_uid_t = __uint32_t; -pub type __darwin_useconds_t = __uint32_t; -pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize]; -pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize]; + 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 __suseconds64_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 int_least8_t = __int_least8_t; +pub type int_least16_t = __int_least16_t; +pub type int_least32_t = __int_least32_t; +pub type int_least64_t = __int_least64_t; +pub type uint_least8_t = __uint_least8_t; +pub type uint_least16_t = __uint_least16_t; +pub type uint_least32_t = __uint_least32_t; +pub type uint_least64_t = __uint_least64_t; +pub type int_fast8_t = ::std::os::raw::c_schar; +pub type int_fast16_t = ::std::os::raw::c_long; +pub type int_fast32_t = ::std::os::raw::c_long; +pub type int_fast64_t = ::std::os::raw::c_long; +pub type uint_fast8_t = ::std::os::raw::c_uchar; +pub type uint_fast16_t = ::std::os::raw::c_ulong; +pub type uint_fast32_t = ::std::os::raw::c_ulong; +pub type uint_fast64_t = ::std::os::raw::c_ulong; +pub type intmax_t = __intmax_t; +pub type uintmax_t = __uintmax_t; +pub type __gwchar_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __darwin_pthread_handler_rec { - pub __routine: ::std::option::Option, - pub __arg: *mut ::std::os::raw::c_void, - pub __next: *mut __darwin_pthread_handler_rec, +pub struct imaxdiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, } #[test] -fn bindgen_test_layout___darwin_pthread_handler_rec() { - const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_imaxdiv_t() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__darwin_pthread_handler_rec>(), - 24usize, - concat!("Size of: ", stringify!(__darwin_pthread_handler_rec)) + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(imaxdiv_t)) ); assert_eq!( - ::std::mem::align_of::<__darwin_pthread_handler_rec>(), + ::std::mem::align_of::(), 8usize, - concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec)) + concat!("Alignment of ", stringify!(imaxdiv_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__darwin_pthread_handler_rec), + stringify!(imaxdiv_t), "::", - stringify!(__routine) + stringify!(quot) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(__darwin_pthread_handler_rec), - "::", - stringify!(__arg) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(__darwin_pthread_handler_rec), + stringify!(imaxdiv_t), "::", - stringify!(__next) + stringify!(rem) ) ); } +extern "C" { + pub fn imaxabs(__n: intmax_t) -> intmax_t; +} +extern "C" { + pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t; +} +extern "C" { + pub fn strtoimax( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> intmax_t; +} +extern "C" { + pub fn strtoumax( + __nptr: *const ::std::os::raw::c_char, + __endptr: *mut *mut ::std::os::raw::c_char, + __base: ::std::os::raw::c_int, + ) -> uintmax_t; +} +extern "C" { + pub fn wcstoimax( + __nptr: *const __gwchar_t, + __endptr: *mut *mut __gwchar_t, + __base: ::std::os::raw::c_int, + ) -> intmax_t; +} +extern "C" { + pub fn wcstoumax( + __nptr: *const __gwchar_t, + __endptr: *mut *mut __gwchar_t, + __base: ::std::os::raw::c_int, + ) -> uintmax_t; +} +pub type __gnuc_va_list = __builtin_va_list; #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_attr_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 56usize], +#[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], } #[test] -fn bindgen_test_layout__opaque_pthread_attr_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> = +fn bindgen_test_layout___mbstate_t__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<__mbstate_t__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_opaque_pthread_attr_t>(), - 64usize, - concat!("Size of: ", stringify!(_opaque_pthread_attr_t)) + ::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::<_opaque_pthread_attr_t>(), - 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_attr_t)) + ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__wch) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_attr_t), + stringify!(__mbstate_t__bindgen_ty_1), "::", - stringify!(__sig) + stringify!(__wch) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr).__wchb) as usize - ptr as usize }, + 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_attr_t), + stringify!(__mbstate_t__bindgen_ty_1), "::", - stringify!(__opaque) + stringify!(__wchb) ) ); } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_cond_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 40usize], -} #[test] -fn bindgen_test_layout__opaque_pthread_cond_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___mbstate_t() { + const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_opaque_pthread_cond_t>(), - 48usize, - concat!("Size of: ", stringify!(_opaque_pthread_cond_t)) + ::std::mem::size_of::<__mbstate_t>(), + 8usize, + concat!("Size of: ", stringify!(__mbstate_t)) ); assert_eq!( - ::std::mem::align_of::<_opaque_pthread_cond_t>(), - 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_cond_t)) + ::std::mem::align_of::<__mbstate_t>(), + 4usize, + concat!("Alignment of ", stringify!(__mbstate_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_cond_t), + stringify!(__mbstate_t), "::", - stringify!(__sig) + stringify!(__count) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr).__value) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_cond_t), + stringify!(__mbstate_t), "::", - stringify!(__opaque) + stringify!(__value) ) ); } #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_condattr_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 8usize], +#[derive(Copy, Clone)] +pub struct _G_fpos_t { + pub __pos: __off_t, + pub __state: __mbstate_t, } #[test] -fn bindgen_test_layout__opaque_pthread_condattr_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__G_fpos_t() { + const UNINIT: ::std::mem::MaybeUninit<_G_fpos_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_opaque_pthread_condattr_t>(), + ::std::mem::size_of::<_G_fpos_t>(), 16usize, - concat!("Size of: ", stringify!(_opaque_pthread_condattr_t)) + concat!("Size of: ", stringify!(_G_fpos_t)) ); assert_eq!( - ::std::mem::align_of::<_opaque_pthread_condattr_t>(), + ::std::mem::align_of::<_G_fpos_t>(), 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t)) + concat!("Alignment of ", stringify!(_G_fpos_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_condattr_t), + stringify!(_G_fpos_t), "::", - stringify!(__sig) + stringify!(__pos) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_condattr_t), + stringify!(_G_fpos_t), "::", - stringify!(__opaque) + stringify!(__state) ) ); } +pub type __fpos_t = _G_fpos_t; #[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_mutex_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 56usize], +#[derive(Copy, Clone)] +pub struct _G_fpos64_t { + pub __pos: __off64_t, + pub __state: __mbstate_t, } #[test] -fn bindgen_test_layout__opaque_pthread_mutex_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__G_fpos64_t() { + const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_opaque_pthread_mutex_t>(), - 64usize, - concat!("Size of: ", stringify!(_opaque_pthread_mutex_t)) + ::std::mem::size_of::<_G_fpos64_t>(), + 16usize, + concat!("Size of: ", stringify!(_G_fpos64_t)) ); assert_eq!( - ::std::mem::align_of::<_opaque_pthread_mutex_t>(), + ::std::mem::align_of::<_G_fpos64_t>(), 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t)) + concat!("Alignment of ", stringify!(_G_fpos64_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_mutex_t), + stringify!(_G_fpos64_t), "::", - stringify!(__sig) + stringify!(__pos) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_mutex_t), + stringify!(_G_fpos64_t), "::", - stringify!(__opaque) + stringify!(__state) ) ); } +pub type __fpos64_t = _G_fpos64_t; +pub type __FILE = _IO_FILE; +pub type FILE = _IO_FILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_marker { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_codecvt { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_wide_data { + _unused: [u8; 0], +} +pub type _IO_lock_t = ::std::os::raw::c_void; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_mutexattr_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 8usize], +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 _codecvt: *mut _IO_codecvt, + pub _wide_data: *mut _IO_wide_data, + pub _freeres_list: *mut _IO_FILE, + pub _freeres_buf: *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__opaque_pthread_mutexattr_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__IO_FILE() { + const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(), - 16usize, - concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t)) + ::std::mem::size_of::<_IO_FILE>(), + 216usize, + concat!("Size of: ", stringify!(_IO_FILE)) ); assert_eq!( - ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(), + ::std::mem::align_of::<_IO_FILE>(), 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t)) + concat!("Alignment of ", stringify!(_IO_FILE)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_mutexattr_t), + stringify!(_IO_FILE), "::", - stringify!(__sig) + stringify!(_flags) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_mutexattr_t), + stringify!(_IO_FILE), "::", - stringify!(__opaque) + stringify!(_IO_read_ptr) ) ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_once_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 8usize], -} -#[test] -fn bindgen_test_layout__opaque_pthread_once_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_opaque_pthread_once_t>(), + unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize }, 16usize, - concat!("Size of: ", stringify!(_opaque_pthread_once_t)) - ); - assert_eq!( - ::std::mem::align_of::<_opaque_pthread_once_t>(), - 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_once_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, - 0usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_once_t), + stringify!(_IO_FILE), "::", - stringify!(__sig) + stringify!(_IO_read_end) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize }, + 24usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_once_t), + stringify!(_IO_FILE), "::", - stringify!(__opaque) + stringify!(_IO_read_base) ) ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_rwlock_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 192usize], -} -#[test] -fn bindgen_test_layout__opaque_pthread_rwlock_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<_opaque_pthread_rwlock_t>(), - 200usize, - concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t)) - ); - assert_eq!( - ::std::mem::align_of::<_opaque_pthread_rwlock_t>(), - 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t)) - ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize }, + 32usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_rwlock_t), + stringify!(_IO_FILE), "::", - stringify!(__sig) + stringify!(_IO_write_base) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize }, + 40usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_rwlock_t), + stringify!(_IO_FILE), "::", - stringify!(__opaque) + stringify!(_IO_write_ptr) ) ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_rwlockattr_t { - pub __sig: ::std::os::raw::c_long, - pub __opaque: [::std::os::raw::c_char; 16usize], -} -#[test] -fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(), - 24usize, - concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t)) - ); assert_eq!( - ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(), - 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize }, + 48usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_rwlockattr_t), + stringify!(_IO_FILE), "::", - stringify!(__sig) + stringify!(_IO_write_end) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize }, + 56usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_rwlockattr_t), + stringify!(_IO_FILE), "::", - stringify!(__opaque) + stringify!(_IO_buf_base) ) ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _opaque_pthread_t { - pub __sig: ::std::os::raw::c_long, - pub __cleanup_stack: *mut __darwin_pthread_handler_rec, - pub __opaque: [::std::os::raw::c_char; 8176usize], -} -#[test] -fn bindgen_test_layout__opaque_pthread_t() { - const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<_opaque_pthread_t>(), - 8192usize, - concat!("Size of: ", stringify!(_opaque_pthread_t)) - ); - assert_eq!( - ::std::mem::align_of::<_opaque_pthread_t>(), - 8usize, - concat!("Alignment of ", stringify!(_opaque_pthread_t)) - ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize }, + 64usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_t), + stringify!(_IO_FILE), "::", - stringify!(__sig) + stringify!(_IO_buf_end) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize }, + 72usize, concat!( "Offset of field: ", - stringify!(_opaque_pthread_t), + stringify!(_IO_FILE), "::", - stringify!(__cleanup_stack) + stringify!(_IO_save_base) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(_opaque_pthread_t), - "::", - stringify!(__opaque) - ) - ); -} -pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t; -pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t; -pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t; -pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong; -pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; -pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t; -pub type __darwin_pthread_once_t = _opaque_pthread_once_t; -pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t; -pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t; -pub type __darwin_pthread_t = *mut _opaque_pthread_t; -pub type __darwin_nl_item = ::std::os::raw::c_int; -pub type __darwin_wctrans_t = ::std::os::raw::c_int; -pub type __darwin_wctype_t = __uint32_t; -pub type wchar_t = __darwin_wchar_t; -pub type int_least8_t = i8; -pub type int_least16_t = i16; -pub type int_least32_t = i32; -pub type int_least64_t = i64; -pub type uint_least8_t = u8; -pub type uint_least16_t = u16; -pub type uint_least32_t = u32; -pub type uint_least64_t = u64; -pub type int_fast8_t = i8; -pub type int_fast16_t = i16; -pub type int_fast32_t = i32; -pub type int_fast64_t = i64; -pub type uint_fast8_t = u8; -pub type uint_fast16_t = u16; -pub type uint_fast32_t = u32; -pub type uint_fast64_t = u64; -pub type intmax_t = ::std::os::raw::c_long; -pub type uintmax_t = ::std::os::raw::c_ulong; -extern "C" { - pub fn imaxabs(j: intmax_t) -> intmax_t; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct imaxdiv_t { - pub quot: intmax_t, - pub rem: intmax_t, -} -#[test] -fn bindgen_test_layout_imaxdiv_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(imaxdiv_t)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(imaxdiv_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize }, + 80usize, concat!( "Offset of field: ", - stringify!(imaxdiv_t), + stringify!(_IO_FILE), "::", - stringify!(quot) + stringify!(_IO_backup_base) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize }, + 88usize, concat!( "Offset of field: ", - stringify!(imaxdiv_t), + stringify!(_IO_FILE), "::", - stringify!(rem) + stringify!(_IO_save_end) ) ); -} -extern "C" { - pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t; -} -extern "C" { - pub fn strtoimax( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> intmax_t; -} -extern "C" { - pub fn strtoumax( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> uintmax_t; -} -extern "C" { - pub fn wcstoimax( - __nptr: *const wchar_t, - __endptr: *mut *mut wchar_t, - __base: ::std::os::raw::c_int, - ) -> intmax_t; -} -extern "C" { - pub fn wcstoumax( - __nptr: *const wchar_t, - __endptr: *mut *mut wchar_t, - __base: ::std::os::raw::c_int, - ) -> uintmax_t; -} -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_ulonglong; -pub type register_t = i64; -pub type user_addr_t = u_int64_t; -pub type user_size_t = u_int64_t; -pub type user_ssize_t = i64; -pub type user_long_t = i64; -pub type user_ulong_t = u_int64_t; -pub type user_time_t = i64; -pub type user_off_t = i64; -pub type syscall_arg_t = u_int64_t; -pub type va_list = __darwin_va_list; -extern "C" { - pub fn renameat( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn renamex_np( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn renameatx_np( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: *const ::std::os::raw::c_char, - arg5: ::std::os::raw::c_uint, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn printf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; -} -pub type fpos_t = __darwin_off_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __sbuf { - pub _base: *mut ::std::os::raw::c_uchar, - pub _size: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout___sbuf() { - const UNINIT: ::std::mem::MaybeUninit<__sbuf> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__sbuf>(), - 16usize, - concat!("Size of: ", stringify!(__sbuf)) - ); - assert_eq!( - ::std::mem::align_of::<__sbuf>(), - 8usize, - concat!("Alignment of ", stringify!(__sbuf)) - ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._base) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize }, + 96usize, concat!( "Offset of field: ", - stringify!(__sbuf), + stringify!(_IO_FILE), "::", - stringify!(_base) + stringify!(_markers) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._size) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize }, + 104usize, concat!( "Offset of field: ", - stringify!(__sbuf), + stringify!(_IO_FILE), "::", - stringify!(_size) + stringify!(_chain) ) ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __sFILEX { - _unused: [u8; 0], -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __sFILE { - pub _p: *mut ::std::os::raw::c_uchar, - pub _r: ::std::os::raw::c_int, - pub _w: ::std::os::raw::c_int, - pub _flags: ::std::os::raw::c_short, - pub _file: ::std::os::raw::c_short, - pub _bf: __sbuf, - pub _lbfsize: ::std::os::raw::c_int, - pub _cookie: *mut ::std::os::raw::c_void, - pub _close: ::std::option::Option< - unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, - >, - pub _read: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub _seek: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: fpos_t, - arg3: ::std::os::raw::c_int, - ) -> fpos_t, - >, - pub _write: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - pub _ub: __sbuf, - pub _extra: *mut __sFILEX, - pub _ur: ::std::os::raw::c_int, - pub _ubuf: [::std::os::raw::c_uchar; 3usize], - pub _nbuf: [::std::os::raw::c_uchar; 1usize], - pub _lb: __sbuf, - pub _blksize: ::std::os::raw::c_int, - pub _offset: fpos_t, -} -#[test] -fn bindgen_test_layout___sFILE() { - const UNINIT: ::std::mem::MaybeUninit<__sFILE> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__sFILE>(), - 152usize, - concat!("Size of: ", stringify!(__sFILE)) - ); - assert_eq!( - ::std::mem::align_of::<__sFILE>(), - 8usize, - concat!("Alignment of ", stringify!(__sFILE)) - ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._p) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize }, + 112usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_p) + stringify!(_fileno) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._r) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize }, + 116usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_r) + stringify!(_flags2) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._w) as usize - ptr as usize }, - 12usize, + unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize }, + 120usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_w) + stringify!(_old_offset) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize }, - 16usize, + unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize }, + 128usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_flags) + stringify!(_cur_column) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._file) as usize - ptr as usize }, - 18usize, + unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize }, + 130usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_file) + stringify!(_vtable_offset) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._bf) as usize - ptr as usize }, - 24usize, + unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize }, + 131usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_bf) + stringify!(_shortbuf) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._lbfsize) as usize - ptr as usize }, - 40usize, + unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize }, + 136usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_lbfsize) + stringify!(_lock) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._cookie) as usize - ptr as usize }, - 48usize, + unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize }, + 144usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_cookie) + stringify!(_offset) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._close) as usize - ptr as usize }, - 56usize, + unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize }, + 152usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_close) + stringify!(_codecvt) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._read) as usize - ptr as usize }, - 64usize, + unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize }, + 160usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_read) + stringify!(_wide_data) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._seek) as usize - ptr as usize }, - 72usize, + unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize }, + 168usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_seek) + stringify!(_freeres_list) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._write) as usize - ptr as usize }, - 80usize, + unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize }, + 176usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_write) + stringify!(_freeres_buf) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._ub) as usize - ptr as usize }, - 88usize, + unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize }, + 184usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_ub) + stringify!(__pad5) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._extra) as usize - ptr as usize }, - 104usize, + unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize }, + 192usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_extra) + stringify!(_mode) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._ur) as usize - ptr as usize }, - 112usize, + unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize }, + 196usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_FILE), "::", - stringify!(_ur) + stringify!(_unused2) ) ); +} +pub type cookie_read_function_t = ::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 cookie_write_function_t = ::std::option::Option< + unsafe extern "C" fn( + __cookie: *mut ::std::os::raw::c_void, + __buf: *const ::std::os::raw::c_char, + __nbytes: usize, + ) -> __ssize_t, +>; +pub type cookie_seek_function_t = ::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 cookie_close_function_t = ::std::option::Option< + unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_cookie_io_functions_t { + pub read: cookie_read_function_t, + pub write: cookie_write_function_t, + pub seek: cookie_seek_function_t, + pub close: cookie_close_function_t, +} +#[test] +fn bindgen_test_layout__IO_cookie_io_functions_t() { + const UNINIT: ::std::mem::MaybeUninit<_IO_cookie_io_functions_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IO_cookie_io_functions_t>(), + 32usize, + concat!("Size of: ", stringify!(_IO_cookie_io_functions_t)) + ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._ubuf) as usize - ptr as usize }, - 116usize, - concat!( - "Offset of field: ", - stringify!(__sFILE), - "::", - stringify!(_ubuf) - ) + ::std::mem::align_of::<_IO_cookie_io_functions_t>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_cookie_io_functions_t)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._nbuf) as usize - ptr as usize }, - 119usize, + unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize }, + 0usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_cookie_io_functions_t), "::", - stringify!(_nbuf) + stringify!(read) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._lb) as usize - ptr as usize }, - 120usize, + unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_cookie_io_functions_t), "::", - stringify!(_lb) + stringify!(write) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._blksize) as usize - ptr as usize }, - 136usize, + unsafe { ::std::ptr::addr_of!((*ptr).seek) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_cookie_io_functions_t), "::", - stringify!(_blksize) + stringify!(seek) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize }, - 144usize, + unsafe { ::std::ptr::addr_of!((*ptr).close) as usize - ptr as usize }, + 24usize, concat!( "Offset of field: ", - stringify!(__sFILE), + stringify!(_IO_cookie_io_functions_t), "::", - stringify!(_offset) + stringify!(close) ) ); } -pub type FILE = __sFILE; +pub type cookie_io_functions_t = _IO_cookie_io_functions_t; +pub type va_list = __gnuc_va_list; +pub type off_t = __off_t; +pub type fpos_t = __fpos_t; extern "C" { - pub static mut __stdinp: *mut FILE; + pub static mut stdin: *mut FILE; } extern "C" { - pub static mut __stdoutp: *mut FILE; + pub static mut stdout: *mut FILE; } extern "C" { - pub static mut __stderrp: *mut FILE; + pub static mut stderr: *mut FILE; } extern "C" { - pub fn clearerr(arg1: *mut FILE); + pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { - pub fn fclose(arg1: *mut FILE) -> ::std::os::raw::c_int; + 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 feof(arg1: *mut FILE) -> ::std::os::raw::c_int; + 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 ferror(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn fflush(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn tmpfile() -> *mut FILE; } extern "C" { - pub fn fgetc(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::std::os::raw::c_int; + pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn fgets( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: *mut FILE, + 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 fopen( - __filename: *const ::std::os::raw::c_char, - __mode: *const ::std::os::raw::c_char, - ) -> *mut FILE; + pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn fprintf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn fputc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn fopen( + __filename: *const ::std::os::raw::c_char, + __modes: *const ::std::os::raw::c_char, + ) -> *mut FILE; } extern "C" { - pub fn fputs(arg1: *const ::std::os::raw::c_char, arg2: *mut FILE) -> ::std::os::raw::c_int; + 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 fread( - __ptr: *mut ::std::os::raw::c_void, - __size: ::std::os::raw::c_ulong, - __nitems: ::std::os::raw::c_ulong, - __stream: *mut FILE, - ) -> ::std::os::raw::c_ulong; + pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char) + -> *mut FILE; } extern "C" { - pub fn freopen( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: *mut FILE, + pub fn fopencookie( + __magic_cookie: *mut ::std::os::raw::c_void, + __modes: *const ::std::os::raw::c_char, + __io_funcs: cookie_io_functions_t, ) -> *mut FILE; } extern "C" { - pub fn fscanf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + 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 fseek( - arg1: *mut FILE, - arg2: ::std::os::raw::c_long, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn open_memstream( + __bufloc: *mut *mut ::std::os::raw::c_char, + __sizeloc: *mut usize, + ) -> *mut FILE; } extern "C" { - pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::std::os::raw::c_int; + pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char); } extern "C" { - pub fn ftell(arg1: *mut FILE) -> ::std::os::raw::c_long; + 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 fwrite( - __ptr: *const ::std::os::raw::c_void, - __size: ::std::os::raw::c_ulong, - __nitems: ::std::os::raw::c_ulong, - __stream: *mut FILE, - ) -> ::std::os::raw::c_ulong; + pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize); } extern "C" { - pub fn getc(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn setlinebuf(__stream: *mut FILE); } extern "C" { - pub fn getchar() -> ::std::os::raw::c_int; + pub fn fprintf( + __stream: *mut FILE, + __format: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn gets(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn perror(arg1: *const ::std::os::raw::c_char); + 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 putc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + 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 putchar(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn vprintf( + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn puts(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + 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 remove(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + 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 rename( - __old: *const ::std::os::raw::c_char, - __new: *const ::std::os::raw::c_char, + 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 rewind(arg1: *mut FILE); + pub fn vasprintf( + __ptr: *mut *mut ::std::os::raw::c_char, + __f: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn scanf(arg1: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; + pub fn __asprintf( + __ptr: *mut *mut ::std::os::raw::c_char, + __fmt: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn setbuf(arg1: *mut FILE, arg2: *mut ::std::os::raw::c_char); + pub fn asprintf( + __ptr: *mut *mut ::std::os::raw::c_char, + __fmt: *const ::std::os::raw::c_char, + ... + ) -> ::std::os::raw::c_int; } extern "C" { - pub fn setvbuf( - arg1: *mut FILE, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: usize, + 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 sprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, + 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( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, + __s: *const ::std::os::raw::c_char, + __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } +pub type _Float32 = f32; +pub type _Float64 = f64; +pub type _Float32x = f64; +pub type _Float64x = u128; extern "C" { - pub fn tmpfile() -> *mut FILE; + #[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" { - pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + #[link_name = "\u{1}__isoc99_scanf"] + pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { - pub fn ungetc(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + #[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 vfprintf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - arg3: __builtin_va_list, + 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 vprintf( - arg1: *const ::std::os::raw::c_char, - arg2: __builtin_va_list, + pub fn vscanf( + __format: *const ::std::os::raw::c_char, + __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn vsprintf( - arg1: *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: __builtin_va_list, + 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" { - pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + #[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" { - pub fn fdopen(arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char) -> *mut FILE; + #[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" { - pub fn fileno(arg1: *mut FILE) -> ::std::os::raw::c_int; + #[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 pclose(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn popen( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> *mut FILE; + pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __srget(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn getchar() -> ::std::os::raw::c_int; } extern "C" { - pub fn __svfscanf( - arg1: *mut FILE, - arg2: *const ::std::os::raw::c_char, - arg3: va_list, - ) -> ::std::os::raw::c_int; + pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn __swbuf(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn getchar_unlocked() -> ::std::os::raw::c_int; } extern "C" { - pub fn flockfile(arg1: *mut FILE); + pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn ftrylockfile(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn funlockfile(arg1: *mut FILE); + pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn getc_unlocked(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn getchar_unlocked() -> ::std::os::raw::c_int; + pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) + -> ::std::os::raw::c_int; } extern "C" { - pub fn putc_unlocked(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn putchar_unlocked(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn getw(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn putw(arg1: ::std::os::raw::c_int, arg2: *mut FILE) -> ::std::os::raw::c_int; + pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn tempnam( - __dir: *const ::std::os::raw::c_char, - __prefix: *const ::std::os::raw::c_char, + 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; } -pub type off_t = __darwin_off_t; extern "C" { - pub fn fseeko( + pub fn __getdelim( + __lineptr: *mut *mut ::std::os::raw::c_char, + __n: *mut usize, + __delimiter: ::std::os::raw::c_int, __stream: *mut FILE, - __offset: off_t, - __whence: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + ) -> __ssize_t; } extern "C" { - pub fn ftello(__stream: *mut FILE) -> off_t; + 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 snprintf( - __str: *mut ::std::os::raw::c_char, + 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: ::std::os::raw::c_ulong, - __format: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + __n: ::std::os::raw::c_ulong, + __stream: *mut FILE, + ) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn vfscanf( + pub fn fwrite( + __ptr: *const ::std::os::raw::c_void, + __size: ::std::os::raw::c_ulong, + __n: ::std::os::raw::c_ulong, + __s: *mut FILE, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn fread_unlocked( + __ptr: *mut ::std::os::raw::c_void, + __size: usize, + __n: usize, __stream: *mut FILE, - __format: *const ::std::os::raw::c_char, - arg1: __builtin_va_list, - ) -> ::std::os::raw::c_int; + ) -> usize; } extern "C" { - pub fn vscanf( - __format: *const ::std::os::raw::c_char, - arg1: __builtin_va_list, - ) -> ::std::os::raw::c_int; + pub fn fwrite_unlocked( + __ptr: *const ::std::os::raw::c_void, + __size: usize, + __n: usize, + __stream: *mut FILE, + ) -> usize; } extern "C" { - pub fn vsnprintf( - __str: *mut ::std::os::raw::c_char, - __size: ::std::os::raw::c_ulong, - __format: *const ::std::os::raw::c_char, - arg1: __builtin_va_list, + 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 vsscanf( - __str: *const ::std::os::raw::c_char, - __format: *const ::std::os::raw::c_char, - arg1: __builtin_va_list, - ) -> ::std::os::raw::c_int; + pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { - pub fn dprintf( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn rewind(__stream: *mut FILE); } extern "C" { - pub fn vdprintf( - arg1: ::std::os::raw::c_int, - arg2: *const ::std::os::raw::c_char, - arg3: va_list, + pub fn fseeko( + __stream: *mut FILE, + __off: __off_t, + __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { - pub fn getdelim( - __linep: *mut *mut ::std::os::raw::c_char, - __linecapp: *mut usize, - __delimiter: ::std::os::raw::c_int, - __stream: *mut FILE, - ) -> isize; + pub fn ftello(__stream: *mut FILE) -> __off_t; } extern "C" { - pub fn getline( - __linep: *mut *mut ::std::os::raw::c_char, - __linecapp: *mut usize, - __stream: *mut FILE, - ) -> isize; + pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn fmemopen( - __buf: *mut ::std::os::raw::c_void, - __size: usize, - __mode: *const ::std::os::raw::c_char, - ) -> *mut FILE; + pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn open_memstream( - __bufp: *mut *mut ::std::os::raw::c_char, - __sizep: *mut usize, + 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 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 pclose(__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 static sys_nerr: ::std::os::raw::c_int; + pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize]; + pub fn flockfile(__stream: *mut FILE); } extern "C" { - pub fn asprintf( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn ctermid_r(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn funlockfile(__stream: *mut FILE); } extern "C" { - pub fn fgetln(arg1: *mut FILE, arg2: *mut usize) -> *mut ::std::os::raw::c_char; + pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { - pub fn fmtcheck( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> *const ::std::os::raw::c_char; + pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } +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 = ::std::os::raw::c_uint; extern "C" { - pub fn fpurge(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn __ctype_b_loc() -> *mut *const ::std::os::raw::c_ushort; } extern "C" { - pub fn setbuffer( - arg1: *mut FILE, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ); + pub fn __ctype_tolower_loc() -> *mut *const __int32_t; } extern "C" { - pub fn setlinebuf(arg1: *mut FILE) -> ::std::os::raw::c_int; + pub fn __ctype_toupper_loc() -> *mut *const __int32_t; } extern "C" { - pub fn vasprintf( - arg1: *mut *mut ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: va_list, - ) -> ::std::os::raw::c_int; + pub fn isalnum(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn funopen( - arg1: *const ::std::os::raw::c_void, - arg2: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: *mut ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - arg3: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int, - >, - arg4: ::std::option::Option< - unsafe extern "C" fn( - arg1: *mut ::std::os::raw::c_void, - arg2: fpos_t, - arg3: ::std::os::raw::c_int, - ) -> fpos_t, - >, - arg5: ::std::option::Option< - unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, - >, - ) -> *mut FILE; + pub fn isalpha(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn __sprintf_chk( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: usize, - arg4: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn iscntrl(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn __snprintf_chk( - arg1: *mut ::std::os::raw::c_char, - arg2: usize, - arg3: ::std::os::raw::c_int, - arg4: usize, - arg5: *const ::std::os::raw::c_char, - ... - ) -> ::std::os::raw::c_int; + pub fn isdigit(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn __vsprintf_chk( - arg1: *mut ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - arg3: usize, - arg4: *const ::std::os::raw::c_char, - arg5: va_list, - ) -> ::std::os::raw::c_int; + pub fn islower(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn __vsnprintf_chk( - arg1: *mut ::std::os::raw::c_char, - arg2: usize, - arg3: ::std::os::raw::c_int, - arg4: usize, - arg5: *const ::std::os::raw::c_char, - arg6: va_list, - ) -> ::std::os::raw::c_int; + pub fn isgraph(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -pub type ct_rune_t = __darwin_ct_rune_t; -pub type rune_t = __darwin_rune_t; -pub type wint_t = __darwin_wint_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _RuneEntry { - pub __min: __darwin_rune_t, - pub __max: __darwin_rune_t, - pub __map: __darwin_rune_t, - pub __types: *mut __uint32_t, +extern "C" { + pub fn isprint(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -#[test] -fn bindgen_test_layout__RuneEntry() { - const UNINIT: ::std::mem::MaybeUninit<_RuneEntry> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<_RuneEntry>(), - 24usize, - concat!("Size of: ", stringify!(_RuneEntry)) - ); - assert_eq!( - ::std::mem::align_of::<_RuneEntry>(), - 8usize, - concat!("Alignment of ", stringify!(_RuneEntry)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__min) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_RuneEntry), - "::", - stringify!(__min) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__max) as usize - ptr as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(_RuneEntry), - "::", - stringify!(__max) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__map) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(_RuneEntry), - "::", - stringify!(__map) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__types) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(_RuneEntry), - "::", - stringify!(__types) - ) - ); +extern "C" { + pub fn ispunct(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _RuneRange { - pub __nranges: ::std::os::raw::c_int, - pub __ranges: *mut _RuneEntry, +extern "C" { + pub fn isspace(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -#[test] -fn bindgen_test_layout__RuneRange() { - const UNINIT: ::std::mem::MaybeUninit<_RuneRange> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<_RuneRange>(), - 16usize, - concat!("Size of: ", stringify!(_RuneRange)) - ); - assert_eq!( - ::std::mem::align_of::<_RuneRange>(), - 8usize, - concat!("Alignment of ", stringify!(_RuneRange)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__nranges) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_RuneRange), - "::", - stringify!(__nranges) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__ranges) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(_RuneRange), - "::", - stringify!(__ranges) - ) - ); +extern "C" { + pub fn isupper(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct _RuneCharClass { - pub __name: [::std::os::raw::c_char; 14usize], - pub __mask: __uint32_t, +extern "C" { + pub fn isxdigit(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -#[test] -fn bindgen_test_layout__RuneCharClass() { - const UNINIT: ::std::mem::MaybeUninit<_RuneCharClass> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<_RuneCharClass>(), - 20usize, - concat!("Size of: ", stringify!(_RuneCharClass)) - ); - assert_eq!( - ::std::mem::align_of::<_RuneCharClass>(), - 4usize, - concat!("Alignment of ", stringify!(_RuneCharClass)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__name) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_RuneCharClass), - "::", - stringify!(__name) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__mask) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(_RuneCharClass), - "::", - stringify!(__mask) - ) - ); +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 _RuneLocale { - pub __magic: [::std::os::raw::c_char; 8usize], - pub __encoding: [::std::os::raw::c_char; 32usize], - pub __sgetrune: ::std::option::Option< - unsafe extern "C" fn( - arg1: *const ::std::os::raw::c_char, - arg2: __darwin_size_t, - arg3: *mut *const ::std::os::raw::c_char, - ) -> __darwin_rune_t, - >, - pub __sputrune: ::std::option::Option< - unsafe extern "C" fn( - arg1: __darwin_rune_t, - arg2: *mut ::std::os::raw::c_char, - arg3: __darwin_size_t, - arg4: *mut *mut ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int, - >, - pub __invalid_rune: __darwin_rune_t, - pub __runetype: [__uint32_t; 256usize], - pub __maplower: [__darwin_rune_t; 256usize], - pub __mapupper: [__darwin_rune_t; 256usize], - pub __runetype_ext: _RuneRange, - pub __maplower_ext: _RuneRange, - pub __mapupper_ext: _RuneRange, - pub __variable: *mut ::std::os::raw::c_void, - pub __variable_len: ::std::os::raw::c_int, - pub __ncharclasses: ::std::os::raw::c_int, - pub __charclasses: *mut _RuneCharClass, +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__RuneLocale() { - const UNINIT: ::std::mem::MaybeUninit<_RuneLocale> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___locale_struct() { + const UNINIT: ::std::mem::MaybeUninit<__locale_struct> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<_RuneLocale>(), - 3208usize, - concat!("Size of: ", stringify!(_RuneLocale)) + ::std::mem::size_of::<__locale_struct>(), + 232usize, + concat!("Size of: ", stringify!(__locale_struct)) ); assert_eq!( - ::std::mem::align_of::<_RuneLocale>(), + ::std::mem::align_of::<__locale_struct>(), 8usize, - concat!("Alignment of ", stringify!(_RuneLocale)) + concat!("Alignment of ", stringify!(__locale_struct)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__magic) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).__locales) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__magic) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__encoding) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__encoding) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sgetrune) as usize - ptr as usize }, - 40usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__sgetrune) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__sputrune) as usize - ptr as usize }, - 48usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__sputrune) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__invalid_rune) as usize - ptr as usize }, - 56usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__invalid_rune) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__runetype) as usize - ptr as usize }, - 60usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__runetype) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__maplower) as usize - ptr as usize }, - 1084usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__maplower) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__mapupper) as usize - ptr as usize }, - 2108usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__mapupper) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__runetype_ext) as usize - ptr as usize }, - 3136usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), + stringify!(__locale_struct), "::", - stringify!(__runetype_ext) + stringify!(__locales) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__maplower_ext) as usize - ptr as usize }, - 3152usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__maplower_ext) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__mapupper_ext) as usize - ptr as usize }, - 3168usize, - concat!( - "Offset of field: ", - stringify!(_RuneLocale), - "::", - stringify!(__mapupper_ext) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__variable) as usize - ptr as usize }, - 3184usize, + unsafe { ::std::ptr::addr_of!((*ptr).__ctype_b) as usize - ptr as usize }, + 104usize, concat!( "Offset of field: ", - stringify!(_RuneLocale), + stringify!(__locale_struct), "::", - stringify!(__variable) + stringify!(__ctype_b) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__variable_len) as usize - ptr as usize }, - 3192usize, + unsafe { ::std::ptr::addr_of!((*ptr).__ctype_tolower) as usize - ptr as usize }, + 112usize, concat!( "Offset of field: ", - stringify!(_RuneLocale), + stringify!(__locale_struct), "::", - stringify!(__variable_len) + stringify!(__ctype_tolower) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__ncharclasses) as usize - ptr as usize }, - 3196usize, + unsafe { ::std::ptr::addr_of!((*ptr).__ctype_toupper) as usize - ptr as usize }, + 120usize, concat!( "Offset of field: ", - stringify!(_RuneLocale), + stringify!(__locale_struct), "::", - stringify!(__ncharclasses) + stringify!(__ctype_toupper) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__charclasses) as usize - ptr as usize }, - 3200usize, + unsafe { ::std::ptr::addr_of!((*ptr).__names) as usize - ptr as usize }, + 128usize, concat!( "Offset of field: ", - stringify!(_RuneLocale), + stringify!(__locale_struct), "::", - stringify!(__charclasses) + stringify!(__names) ) ); } +pub type __locale_t = *mut __locale_struct; +pub type locale_t = __locale_t; extern "C" { - pub static mut _DefaultRuneLocale: _RuneLocale; + pub fn isalnum_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub static mut _CurrentRuneLocale: *mut _RuneLocale; + pub fn isalpha_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn ___runetype(arg1: __darwin_ct_rune_t) -> ::std::os::raw::c_ulong; + pub fn iscntrl_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn ___tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t; + pub fn isdigit_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn ___toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t; + pub fn islower_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn __maskrune( - arg1: __darwin_ct_rune_t, - arg2: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_int; + pub fn isgraph_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn __toupper(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t; + pub fn isprint_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn __tolower(arg1: __darwin_ct_rune_t) -> __darwin_ct_rune_t; + pub fn ispunct_l(arg1: ::std::os::raw::c_int, arg2: locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn __assert_rtn( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_int, - arg4: *const ::std::os::raw::c_char, + 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 __assert_fail( + __assertion: *const ::std::os::raw::c_char, + __file: *const ::std::os::raw::c_char, + __line: ::std::os::raw::c_uint, + __function: *const ::std::os::raw::c_char, ) -> !; } 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; + pub fn __assert_perror_fail( + __errnum: ::std::os::raw::c_int, + __file: *const ::std::os::raw::c_char, + __line: ::std::os::raw::c_uint, + __function: *const ::std::os::raw::c_char, + ) -> !; } 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; + pub fn __assert( + __assertion: *const ::std::os::raw::c_char, + __file: *const ::std::os::raw::c_char, + __line: ::std::os::raw::c_int, + ) -> !; } extern "C" { pub fn memcpy( - __dst: *mut ::std::os::raw::c_void, + __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( - __dst: *mut ::std::os::raw::c_void, + __dest: *mut ::std::os::raw::c_void, __src: *const ::std::os::raw::c_void, - __len: ::std::os::raw::c_ulong, + __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: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memset( - __b: *mut ::std::os::raw::c_void, + __s: *mut ::std::os::raw::c_void, __c: ::std::os::raw::c_int, - __len: ::std::os::raw::c_ulong, + __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 __memcmpeq( + __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 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( - __s1: *mut ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, + __dest: *mut ::std::os::raw::c_char, + __src: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strchr( - __s: *const ::std::os::raw::c_char, - __c: ::std::os::raw::c_int, + 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" { @@ -2574,292 +1944,279 @@ extern "C" { ) -> ::std::os::raw::c_int; } extern "C" { - pub fn strcoll( + 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 strcpy( - __dst: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + 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 strcspn( - __s: *const ::std::os::raw::c_char, - __charset: *const ::std::os::raw::c_char, + 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 strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; + 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 strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; + 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 strncat( - __s1: *mut ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_char; + pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strncmp( - __s1: *const ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, + pub fn strndup( + __string: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_int; + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strncpy( - __dst: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, + 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 strpbrk( + pub fn strrchr( __s: *const ::std::os::raw::c_char, - __charset: *const ::std::os::raw::c_char, + __c: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strrchr( + pub fn strchrnul( __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, - __charset: *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( - __big: *const ::std::os::raw::c_char, - __little: *const ::std::os::raw::c_char, + __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( - __str: *mut ::std::os::raw::c_char, - __sep: *const ::std::os::raw::c_char, + __s: *mut ::std::os::raw::c_char, + __delim: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strxfrm( - __s1: *mut ::std::os::raw::c_char, - __s2: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_ulong; + 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( - __str: *mut ::std::os::raw::c_char, - __sep: *const ::std::os::raw::c_char, - __lasts: *mut *mut ::std::os::raw::c_char, + __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 strerror_r( - __errnum: ::std::os::raw::c_int, - __strerrbuf: *mut ::std::os::raw::c_char, - __buflen: usize, - ) -> ::std::os::raw::c_int; + pub fn strcasestr( + __haystack: *const ::std::os::raw::c_char, + __needle: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn memmem( + __haystack: *const ::std::os::raw::c_void, + __haystacklen: usize, + __needle: *const ::std::os::raw::c_void, + __needlelen: usize, + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn memccpy( - __dst: *mut ::std::os::raw::c_void, + pub fn __mempcpy( + __dest: *mut ::std::os::raw::c_void, __src: *const ::std::os::raw::c_void, - __c: ::std::os::raw::c_int, - __n: ::std::os::raw::c_ulong, + __n: usize, ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn stpcpy( - __dst: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn stpncpy( - __dst: *mut ::std::os::raw::c_char, - __src: *const ::std::os::raw::c_char, + pub fn mempcpy( + __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_char; + ) -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn strndup( - __s1: *const ::std::os::raw::c_char, - __n: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_char; + pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; } extern "C" { - pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: usize) -> usize; + pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize; } extern "C" { - pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; + pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; } -pub type rsize_t = __darwin_size_t; -pub type errno_t = ::std::os::raw::c_int; extern "C" { - pub fn memset_s( - __s: *mut ::std::os::raw::c_void, - __smax: rsize_t, - __c: ::std::os::raw::c_int, - __n: rsize_t, - ) -> errno_t; + #[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 memmem( - __big: *const ::std::os::raw::c_void, - __big_len: usize, - __little: *const ::std::os::raw::c_void, - __little_len: usize, - ) -> *mut ::std::os::raw::c_void; + pub fn strerror_l( + __errnum: ::std::os::raw::c_int, + __l: locale_t, + ) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn memset_pattern4( - __b: *mut ::std::os::raw::c_void, - __pattern4: *const ::std::os::raw::c_void, - __len: usize, - ); + pub fn bcmp( + __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 memset_pattern8( - __b: *mut ::std::os::raw::c_void, - __pattern8: *const ::std::os::raw::c_void, - __len: usize, + pub fn bcopy( + __src: *const ::std::os::raw::c_void, + __dest: *mut ::std::os::raw::c_void, + __n: usize, ); } extern "C" { - pub fn memset_pattern16( - __b: *mut ::std::os::raw::c_void, - __pattern16: *const ::std::os::raw::c_void, - __len: usize, - ); + pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong); } extern "C" { - pub fn strcasestr( - __big: *const ::std::os::raw::c_char, - __little: *const ::std::os::raw::c_char, + 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 strnstr( - __big: *const ::std::os::raw::c_char, - __little: *const ::std::os::raw::c_char, - __len: usize, + 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 strlcat( - __dst: *mut ::std::os::raw::c_char, - __source: *const ::std::os::raw::c_char, - __size: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_ulong; -} -extern "C" { - pub fn strlcpy( - __dst: *mut ::std::os::raw::c_char, - __source: *const ::std::os::raw::c_char, - __size: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_ulong; -} -extern "C" { - pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char); + pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } 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; + pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int; } extern "C" { - pub fn swab( - arg1: *const ::std::os::raw::c_void, - arg2: *mut ::std::os::raw::c_void, - arg3: isize, - ); + pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; } extern "C" { - pub fn timingsafe_bcmp( - __b1: *const ::std::os::raw::c_void, - __b2: *const ::std::os::raw::c_void, - __len: usize, + 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 strsignal_r( - __sig: ::std::os::raw::c_int, - __strsignalbuf: *mut ::std::os::raw::c_char, - __buflen: usize, + 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 bcmp( - arg1: *const ::std::os::raw::c_void, - arg2: *const ::std::os::raw::c_void, - arg3: ::std::os::raw::c_ulong, + 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 bcopy( - arg1: *const ::std::os::raw::c_void, - arg2: *mut ::std::os::raw::c_void, - arg3: usize, - ); -} -extern "C" { - pub fn bzero(arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_ulong); + 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 index( - arg1: *const ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize); } extern "C" { - pub fn rindex( - arg1: *const ::std::os::raw::c_char, - arg2: ::std::os::raw::c_int, + 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 ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn strcasecmp( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; } extern "C" { - pub fn strncasecmp( - arg1: *const ::std::os::raw::c_char, - arg2: *const ::std::os::raw::c_char, - arg3: ::std::os::raw::c_ulong, - ) -> ::std::os::raw::c_int; + 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 ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int; + 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 ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; + 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 fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + 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; } extern "C" { - pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int; + pub fn strlcpy( + __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 flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; + pub fn strlcat( + __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; } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -5719,9 +5076,35 @@ extern "C" { str_: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } +extern "C" { + pub fn ndb_filter_get_id_element( + arg1: *const ndb_filter, + arg2: *const ndb_filter_elements, + index: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ndb_filter_get_string_element( + arg1: *const ndb_filter, + arg2: *const ndb_filter_elements, + index: ::std::os::raw::c_int, + ) -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn ndb_filter_get_int_element( + arg1: *const ndb_filter_elements, + index: ::std::os::raw::c_int, + ) -> u64; +} extern "C" { pub fn ndb_filter_current_element(arg1: *const ndb_filter) -> *mut ndb_filter_elements; } +extern "C" { + pub fn ndb_filter_get_elements( + arg1: *const ndb_filter, + arg2: ::std::os::raw::c_int, + ) -> *mut ndb_filter_elements; +} extern "C" { pub fn ndb_filter_start_field( arg1: *mut ndb_filter, @@ -5950,4 +5333,72 @@ extern "C" { extern "C" { pub fn ndb_bech32_block(block: *mut ndb_block) -> *mut nostr_bech32; } -pub type __builtin_va_list = *mut ::std::os::raw::c_char; +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() { + const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + 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::addr_of!((*ptr).gp_offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(gp_offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(fp_offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__va_list_tag), + "::", + stringify!(overflow_arg_area) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr 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, +} diff --git a/src/filter.rs b/src/filter.rs index ab80801..6aceb30 100644 --- a/src/filter.rs +++ b/src/filter.rs @@ -80,6 +80,30 @@ impl Filter { } } + pub fn field(&self, index: i32) -> Option> { + let ptr = unsafe { bindings::ndb_filter_get_elements(self.as_ptr(), index) }; + + if ptr.is_null() { + return None; + } + + Some(FilterElements::new(self, ptr).field()) + } + + pub fn elements(&self, index: i32) -> Option> { + let ptr = unsafe { bindings::ndb_filter_get_elements(self.as_ptr(), index) }; + + if ptr.is_null() { + return None; + } + + Some(FilterElements::new(self, ptr)) + } + + pub fn num_elements(&self) -> i32 { + unsafe { &*(self.as_ptr()) }.num_elements + } + pub fn as_ptr(&self) -> *const bindings::ndb_filter { self.data.as_ptr() } @@ -307,3 +331,506 @@ impl Drop for Filter { unsafe { bindings::ndb_filter_destroy(self.as_mut_ptr()) }; } } + +#[derive(Debug, Copy, Clone)] +pub struct FilterIter<'a> { + filter: &'a Filter, + index: i32, +} + +/// Filter element: `authors`, `limit`, etc +#[derive(Copy, Clone, Debug)] +pub struct FilterElements<'a> { + filter: &'a Filter, + elements: *const bindings::ndb_filter_elements, +} + +#[derive(Copy, Clone, Debug)] +pub struct FilterIdElements<'a> { + filter: &'a Filter, + elements: *const bindings::ndb_filter_elements, +} + +#[derive(Copy, Clone, Debug)] +pub struct FilterIntElements<'a> { + _filter: &'a Filter, + elements: *const bindings::ndb_filter_elements, +} + +pub struct FilterIdElemIter<'a> { + ids: FilterIdElements<'a>, + index: i32, +} + +pub struct FilterIntElemIter<'a> { + ints: FilterIntElements<'a>, + index: i32, +} + +impl<'a> FilterIdElemIter<'a> { + pub(crate) fn new(ids: FilterIdElements<'a>) -> Self { + let index = 0; + Self { ids, index } + } + + pub fn done(&self) -> bool { + self.index >= self.ids.count() + } +} + +impl<'a> FilterIntElemIter<'a> { + pub(crate) fn new(ints: FilterIntElements<'a>) -> Self { + let index = 0; + Self { ints, index } + } + + pub fn done(&self) -> bool { + self.index >= self.ints.count() + } +} + +impl<'a> FilterIdElements<'a> { + pub(crate) fn new(filter: &'a Filter, elements: *const bindings::ndb_filter_elements) -> Self { + Self { filter, elements } + } + + pub fn count(&self) -> i32 { + unsafe { &*self.elements }.count + } + + /// Field element type. In the case of ids, it would be FieldElemType::Id, etc + fn elemtype(&self) -> FieldElemType { + FieldElemType::new(unsafe { &*self.elements }.field.elem_type) + .expect("expected valid filter element type") + } + + pub fn get(self, index: i32) -> Option<&'a [u8; 32]> { + assert!(self.elemtype() == FieldElemType::Id); + + let id = unsafe { + bindings::ndb_filter_get_id_element(self.filter.as_ptr(), self.elements, index) + as *const [u8; 32] + }; + + if id.is_null() { + return None; + } + + Some(unsafe { &*id }) + } +} + +impl<'a> FilterIntElements<'a> { + pub(crate) fn new(filter: &'a Filter, elements: *const bindings::ndb_filter_elements) -> Self { + Self { + _filter: filter, + elements, + } + } + + pub fn count(&self) -> i32 { + unsafe { &*self.elements }.count + } + + /// Field element type. In the case of ids, it would be FieldElemType::Id, etc + fn elemtype(&self) -> FieldElemType { + FieldElemType::new(unsafe { &*self.elements }.field.elem_type) + .expect("expected valid filter element type") + } + + pub fn get(self, index: i32) -> Option { + if index >= self.count() { + return None; + } + assert!(self.elemtype() == FieldElemType::Int); + Some(unsafe { bindings::ndb_filter_get_int_element(self.elements, index) }) + } +} + +pub enum FilterField<'a> { + Ids(FilterIdElements<'a>), + Authors(FilterIdElements<'a>), + Kinds(FilterIntElements<'a>), + Tags(char, FilterElements<'a>), + Since(u64), + Until(u64), + Limit(u64), +} + +impl<'a> FilterField<'a> { + pub fn new(elements: FilterElements<'a>) -> Self { + match elements.fieldtype() { + FilterFieldType::Ids => { + FilterField::Ids(FilterIdElements::new(elements.filter(), elements.as_ptr())) + } + + FilterFieldType::Authors => { + FilterField::Authors(FilterIdElements::new(elements.filter(), elements.as_ptr())) + } + + FilterFieldType::Kinds => { + FilterField::Kinds(FilterIntElements::new(elements.filter(), elements.as_ptr())) + } + + FilterFieldType::Tags => FilterField::Tags(elements.tag(), elements), + + FilterFieldType::Since => FilterField::Since( + FilterIntElements::new(elements.filter(), elements.as_ptr()) + .into_iter() + .next() + .expect("expected since in filter"), + ), + + FilterFieldType::Until => FilterField::Until( + FilterIntElements::new(elements.filter(), elements.as_ptr()) + .into_iter() + .next() + .expect("expected until in filter"), + ), + + FilterFieldType::Limit => FilterField::Limit( + FilterIntElements::new(elements.filter(), elements.as_ptr()) + .into_iter() + .next() + .expect("expected limit in filter"), + ), + } + } +} + +impl<'a> FilterElements<'a> { + pub(crate) fn new(filter: &'a Filter, elements: *const bindings::ndb_filter_elements) -> Self { + FilterElements { filter, elements } + } + + pub fn filter(self) -> &'a Filter { + self.filter + } + + pub fn as_ptr(self) -> *const bindings::ndb_filter_elements { + self.elements + } + + pub fn count(&self) -> i32 { + unsafe { &*self.elements }.count + } + + pub fn field(self) -> FilterField<'a> { + FilterField::new(self) + } + + pub fn get(self, index: i32) -> Option> { + if index >= self.count() { + return None; + } + + match self.elemtype() { + FieldElemType::Id => { + let id = unsafe { + bindings::ndb_filter_get_id_element(self.filter.as_ptr(), self.elements, index) + as *const [u8; 32] + }; + if id.is_null() { + return None; + } + Some(FilterElement::Id(unsafe { &*id })) + } + + FieldElemType::Str => { + let cstr = unsafe { + bindings::ndb_filter_get_string_element( + self.filter.as_ptr(), + self.elements, + index, + ) + }; + if cstr.is_null() { + return None; + } + let str = unsafe { + let byte_slice = + std::slice::from_raw_parts(cstr as *const u8, libc::strlen(cstr)); + std::str::from_utf8_unchecked(byte_slice) + }; + Some(FilterElement::Str(str)) + } + + FieldElemType::Int => { + let num = unsafe { bindings::ndb_filter_get_int_element(self.elements, index) }; + Some(FilterElement::Int(num)) + } + } + } + + /// Field element type. In the case of ids, it would be FieldElemType::Id, etc + pub fn elemtype(&self) -> FieldElemType { + FieldElemType::new(unsafe { &*self.elements }.field.elem_type) + .expect("expected valid filter element type") + } + + /// Field element type. In the case of ids, it would be FieldElemType::Id, etc + pub fn tag(&self) -> char { + (unsafe { &*self.elements }.field.tag as u8) as char + } + + pub fn fieldtype(self) -> FilterFieldType { + FilterFieldType::new(unsafe { &*self.elements }.field.type_) + .expect("expected valid fieldtype") + } +} + +impl<'a> FilterIter<'a> { + pub fn new(filter: &'a Filter) -> Self { + let index = 0; + FilterIter { filter, index } + } + + pub fn done(&self) -> bool { + self.index >= self.filter.num_elements() + } +} + +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum FilterFieldType { + Ids, + Authors, + Kinds, + Tags, + Since, + Until, + Limit, +} + +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum FieldElemType { + Str, + Id, + Int, +} + +impl FieldElemType { + pub(crate) fn new(val: bindings::ndb_generic_element_type) -> Option { + if val == bindings::ndb_generic_element_type_NDB_ELEMENT_UNKNOWN { + None + } else if val == bindings::ndb_generic_element_type_NDB_ELEMENT_STRING { + Some(FieldElemType::Str) + } else if val == bindings::ndb_generic_element_type_NDB_ELEMENT_ID { + Some(FieldElemType::Id) + } else if val == bindings::ndb_generic_element_type_NDB_ELEMENT_INT { + Some(FieldElemType::Int) + } else { + None + } + } +} + +impl FilterFieldType { + pub(crate) fn new(val: bindings::ndb_filter_fieldtype) -> Option { + if val == bindings::ndb_filter_fieldtype_NDB_FILTER_IDS { + Some(FilterFieldType::Ids) + } else if val == bindings::ndb_filter_fieldtype_NDB_FILTER_AUTHORS { + Some(FilterFieldType::Authors) + } else if val == bindings::ndb_filter_fieldtype_NDB_FILTER_KINDS { + Some(FilterFieldType::Kinds) + } else if val == bindings::ndb_filter_fieldtype_NDB_FILTER_TAGS { + Some(FilterFieldType::Tags) + } else if val == bindings::ndb_filter_fieldtype_NDB_FILTER_SINCE { + Some(FilterFieldType::Since) + } else if val == bindings::ndb_filter_fieldtype_NDB_FILTER_UNTIL { + Some(FilterFieldType::Until) + } else if val == bindings::ndb_filter_fieldtype_NDB_FILTER_LIMIT { + Some(FilterFieldType::Limit) + } else { + None + } + } +} + +impl<'a> IntoIterator for &'a Filter { + type Item = FilterField<'a>; + type IntoIter = FilterIter<'a>; + + fn into_iter(self) -> Self::IntoIter { + FilterIter::new(self) + } +} + +#[derive(Copy, Clone, Debug, PartialEq, Eq)] +pub enum FilterElement<'a> { + Str(&'a str), + Id(&'a [u8; 32]), + Int(u64), +} + +impl<'a> Iterator for FilterIter<'a> { + type Item = FilterField<'a>; + + fn next(&mut self) -> Option> { + if self.done() { + return None; + } + + let ind = self.index; + self.index += 1; + + self.filter.field(ind) + } +} + +impl<'a> IntoIterator for FilterIdElements<'a> { + type Item = &'a [u8; 32]; + type IntoIter = FilterIdElemIter<'a>; + + fn into_iter(self) -> Self::IntoIter { + FilterIdElemIter::new(self) + } +} + +impl<'a> IntoIterator for FilterIntElements<'a> { + type Item = u64; + type IntoIter = FilterIntElemIter<'a>; + + fn into_iter(self) -> Self::IntoIter { + FilterIntElemIter::new(self) + } +} + +impl<'a> Iterator for FilterIntElemIter<'a> { + type Item = u64; + + fn next(&mut self) -> Option { + if self.done() { + return None; + } + + let ind = self.index; + self.index += 1; + + self.ints.get(ind) + } +} + +impl<'a> Iterator for FilterIdElemIter<'a> { + type Item = &'a [u8; 32]; + + fn next(&mut self) -> Option<&'a [u8; 32]> { + if self.done() { + return None; + } + + let ind = self.index; + self.index += 1; + + self.ids.get(ind) + } +} + +impl<'a> IntoIterator for FilterElements<'a> { + type Item = FilterElement<'a>; + type IntoIter = FilterElemIter<'a>; + + fn into_iter(self) -> Self::IntoIter { + FilterElemIter::new(self) + } +} + +impl<'a> Iterator for FilterElemIter<'a> { + type Item = FilterElement<'a>; + + fn next(&mut self) -> Option> { + let element = self.elements.get(self.index); + if element.is_some() { + self.index += 1; + element + } else { + None + } + } +} + +#[derive(Copy, Clone, Debug)] +pub struct FilterElemIter<'a> { + elements: FilterElements<'a>, + index: i32, +} + +impl<'a> FilterElemIter<'a> { + pub(crate) fn new(elements: FilterElements<'a>) -> Self { + let index = 0; + FilterElemIter { elements, index } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn filter_limit_iter_works() { + let filter = Filter::new().limit(42).build(); + let mut hit = 0; + for element in &filter { + if let FilterField::Limit(42) = element { + hit += 1; + } + } + assert!(hit == 1); + } + + #[test] + fn filter_id_iter_works() { + let id: [u8; 32] = [ + 0xfb, 0x16, 0x5b, 0xe2, 0x2c, 0x7b, 0x25, 0x18, 0xb7, 0x49, 0xaa, 0xbb, 0x71, 0x40, + 0xc7, 0x3f, 0x08, 0x87, 0xfe, 0x84, 0x47, 0x5c, 0x82, 0x78, 0x57, 0x00, 0x66, 0x3b, + 0xe8, 0x5b, 0xa8, 0x59, + ]; + + let filter = Filter::new().ids(vec![id, id, id]).build(); + let mut hit = 0; + for element in &filter { + if let FilterField::Ids(ids) = element { + for same_id in ids { + hit += 1; + assert!(same_id == &id); + } + } + } + assert!(hit == 3); + } + + #[test] + fn filter_int_iter_works() { + let filter = Filter::new().kinds(vec![1, 2, 3]).build(); + let mut hit = 0; + for element in &filter { + if let FilterField::Kinds(ks) = element { + hit += 1; + assert!(vec![1, 2, 3] == ks.into_iter().collect::>()); + } + } + assert!(hit == 1); + } + + #[test] + fn filter_multiple_field_iter_works() { + let id: [u8; 32] = [ + 0xfb, 0x16, 0x5b, 0xe2, 0x2c, 0x7b, 0x25, 0x18, 0xb7, 0x49, 0xaa, 0xbb, 0x71, 0x40, + 0xc7, 0x3f, 0x08, 0x87, 0xfe, 0x84, 0x47, 0x5c, 0x82, 0x78, 0x57, 0x00, 0x66, 0x3b, + 0xe8, 0x5b, 0xa8, 0x59, + ]; + let filter = Filter::new().event(&id).kinds(vec![1, 2, 3]).build(); + let mut hit = 0; + for element in &filter { + if let FilterField::Kinds(ks) = element { + hit += 1; + assert!(vec![1, 2, 3] == ks.into_iter().collect::>()); + } else if let FilterField::Tags('e', ids) = element { + for i in ids { + hit += 1; + assert!(i == FilterElement::Id(&id)); + } + } + } + assert!(hit == 2); + } +}