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 __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 _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 31;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __LONG_DOUBLE_USES_FLOAT128: 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_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 __TIMESIZE: u32 = 64;
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 __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 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: &'static [u8; 2usize] = b"l\0";
pub const __PRIPTR_PREFIX: &'static [u8; 2usize] = b"l\0";
pub const PRId8: &'static [u8; 2usize] = b"d\0";
pub const PRId16: &'static [u8; 2usize] = b"d\0";
pub const PRId32: &'static [u8; 2usize] = b"d\0";
pub const PRId64: &'static [u8; 3usize] = b"ld\0";
pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
pub const PRIi8: &'static [u8; 2usize] = b"i\0";
pub const PRIi16: &'static [u8; 2usize] = b"i\0";
pub const PRIi32: &'static [u8; 2usize] = b"i\0";
pub const PRIi64: &'static [u8; 3usize] = b"li\0";
pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
pub const PRIo8: &'static [u8; 2usize] = b"o\0";
pub const PRIo16: &'static [u8; 2usize] = b"o\0";
pub const PRIo32: &'static [u8; 2usize] = b"o\0";
pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
pub const PRIu8: &'static [u8; 2usize] = b"u\0";
pub const PRIu16: &'static [u8; 2usize] = b"u\0";
pub const PRIu32: &'static [u8; 2usize] = b"u\0";
pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
pub const PRIx8: &'static [u8; 2usize] = b"x\0";
pub const PRIx16: &'static [u8; 2usize] = b"x\0";
pub const PRIx32: &'static [u8; 2usize] = b"x\0";
pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
pub const PRIX8: &'static [u8; 2usize] = b"X\0";
pub const PRIX16: &'static [u8; 2usize] = b"X\0";
pub const PRIX32: &'static [u8; 2usize] = b"X\0";
pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
pub const PRIdMAX: &'static [u8; 3usize] = b"ld\0";
pub const PRIiMAX: &'static [u8; 3usize] = b"li\0";
pub const PRIoMAX: &'static [u8; 3usize] = b"lo\0";
pub const PRIuMAX: &'static [u8; 3usize] = b"lu\0";
pub const PRIxMAX: &'static [u8; 3usize] = b"lx\0";
pub const PRIXMAX: &'static [u8; 3usize] = b"lX\0";
pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
pub const SCNd32: &'static [u8; 2usize] = b"d\0";
pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
pub const SCNi32: &'static [u8; 2usize] = b"i\0";
pub const SCNi64: &'static [u8; 3usize] = b"li\0";
pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
pub const SCNu32: &'static [u8; 2usize] = b"u\0";
pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
pub const SCNo32: &'static [u8; 2usize] = b"o\0";
pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
pub const SCNx32: &'static [u8; 2usize] = b"x\0";
pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
pub const SCNdMAX: &'static [u8; 3usize] = b"ld\0";
pub const SCNiMAX: &'static [u8; 3usize] = b"li\0";
pub const SCNoMAX: &'static [u8; 3usize] = b"lo\0";
pub const SCNuMAX: &'static [u8; 3usize] = b"lu\0";
pub const SCNxMAX: &'static [u8; 3usize] = b"lx\0";
pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
pub const _STDIO_H: u32 = 1;
pub const __GNUC_VA_LIST: 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 _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 8192;
pub const EOF: i32 = -1;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
pub const _BITS_STDIO_LIM_H: u32 = 1;
pub const L_tmpnam: u32 = 20;
pub const TMP_MAX: u32 = 238328;
pub const FILENAME_MAX: u32 = 4096;
pub const L_ctermid: u32 = 9;
pub const FOPEN_MAX: u32 = 16;
pub const _STRING_H: u32 = 1;
pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
pub const _STRINGS_H: u32 = 1;
pub const _TIME_H: u32 = 1;
pub const _BITS_TIME_H: u32 = 1;
pub const CLOCK_REALTIME: u32 = 0;
pub const CLOCK_MONOTONIC: u32 = 1;
pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
pub const CLOCK_MONOTONIC_RAW: u32 = 4;
pub const CLOCK_REALTIME_COARSE: u32 = 5;
pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
pub const CLOCK_BOOTTIME: u32 = 7;
pub const CLOCK_REALTIME_ALARM: u32 = 8;
pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
pub const CLOCK_TAI: u32 = 11;
pub const TIMER_ABSTIME: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __struct_tm_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: 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 __clockid_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const __itimerspec_defined: u32 = 1;
pub const TIME_UTC: u32 = 1;
pub const _ALLOCA_H: u32 = 1;
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const __bool_true_false_are_defined: u32 = 1;
pub const _STDLIB_H: u32 = 1;
pub const WNOHANG: u32 = 1;
pub const WUNTRACED: u32 = 2;
pub const WSTOPPED: u32 = 2;
pub const WEXITED: u32 = 4;
pub const WCONTINUED: u32 = 8;
pub const WNOWAIT: u32 = 16777216;
pub const __WNOTHREAD: u32 = 536870912;
pub const __WALL: u32 = 1073741824;
pub const __WCLONE: u32 = 2147483648;
pub const __ENUM_IDTYPE_T: u32 = 1;
pub const __W_CONTINUED: u32 = 65535;
pub const __WCOREFLAG: u32 = 128;
pub const __HAVE_FLOAT128: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
pub const __HAVE_FLOAT64X: u32 = 1;
pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
pub const __HAVE_FLOAT16: u32 = 0;
pub const __HAVE_FLOAT32: u32 = 1;
pub const __HAVE_FLOAT64: u32 = 1;
pub const __HAVE_FLOAT32X: u32 = 1;
pub const __HAVE_FLOAT128X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
pub const __ldiv_t_defined: u32 = 1;
pub const __lldiv_t_defined: u32 = 1;
pub const RAND_MAX: u32 = 2147483647;
pub const EXIT_FAILURE: u32 = 1;
pub const EXIT_SUCCESS: u32 = 0;
pub const _SYS_TYPES_H: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const DATA_DEPTH_MAX: u32 = 11;
pub const JSON_RPC_ERR_INTERNAL: i32 = -32603;
pub const JSON_RPC_ERR_FINALITY: i32 = -16001;
pub const IN3_PROTO_VER: &'static [u8; 6usize] = b"2.1.0\0";
pub const CHAIN_ID_MAINNET: u32 = 1;
pub const CHAIN_ID_GOERLI: u32 = 5;
pub const CHAIN_ID_EWC: u32 = 246;
pub const CHAIN_ID_IPFS: u32 = 2000;
pub const CHAIN_ID_BTC: u32 = 153;
pub const CHAIN_ID_LOCAL: u32 = 17;
pub const DEF_REPL_LATEST_BLK: u32 = 6;
pub const _ASSERT_H: u32 = 1;
pub const COLORT_RESET: &'static [u8; 2usize] = b" \0";
pub const COLORT_BOLD: &'static [u8; 1usize] = b"\0";
pub const COLORT_DIM: &'static [u8; 1usize] = b"\0";
pub const COLORT_UNDERLINED: &'static [u8; 1usize] = b"\0";
pub const COLORT_BLINK: &'static [u8; 1usize] = b"\0";
pub const COLORT_REVERSE: &'static [u8; 1usize] = b"\0";
pub const COLORT_HIDDEN: &'static [u8; 2usize] = b" \0";
pub const COLORT_RESETBOLD: &'static [u8; 1usize] = b"\0";
pub const COLORT_RESETDIM: &'static [u8; 1usize] = b"\0";
pub const COLORT_RESETUNDERLINED: &'static [u8; 1usize] = b"\0";
pub const COLORT_RESETBLINK: &'static [u8; 1usize] = b"\0";
pub const COLORT_RESETREVERSE: &'static [u8; 1usize] = b"\0";
pub const COLORT_RESETHIDDEN: &'static [u8; 2usize] = b" \0";
pub const COLORT_DEFAULT: &'static [u8; 1usize] = b"\0";
pub const COLORT_BLACK: &'static [u8; 1usize] = b"\0";
pub const COLORT_BBLACK: &'static [u8; 1usize] = b"\0";
pub const COLORT_RRED: &'static [u8; 2usize] = b" \0";
pub const COLORT_RED: &'static [u8; 2usize] = b" \0";
pub const COLORT_SELECT: &'static [u8; 3usize] = b"%s\0";
pub const COLORT_GREEN: &'static [u8; 1usize] = b"\0";
pub const COLORT_RGREEN: &'static [u8; 1usize] = b"\0";
pub const COLORT_YELLOW: &'static [u8; 2usize] = b" \0";
pub const COLORT_RYELLOW: &'static [u8; 1usize] = b"\0";
pub const COLORT_BLUE: &'static [u8; 1usize] = b"\0";
pub const COLORT_MAGENTA: &'static [u8; 1usize] = b"\0";
pub const COLORT_RMAGENTA: &'static [u8; 1usize] = b"\0";
pub const COLORT_CYAN: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTGRAY: &'static [u8; 1usize] = b"\0";
pub const COLORT_DARKGRAY: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTRED: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTGREEN: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTYELLOW: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTBLUE: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTMAGENTA: &'static [u8; 1usize] = b"\0";
pub const COLORT_LIGHTCYAN: &'static [u8; 1usize] = b"\0";
pub const COLORT_WHITE: &'static [u8; 1usize] = b"\0";
pub const COLOR_RESET: &'static [u8; 2usize] = b" \0";
pub const COLOR_CLEAR: &'static [u8; 2usize] = b" \0";
pub const COLOR_BLACK: &'static [u8; 2usize] = b" \0";
pub const COLOR_RED: &'static [u8; 2usize] = b" \0";
pub const COLOR_GREEN: &'static [u8; 2usize] = b" \0";
pub const COLOR_YELLOW: &'static [u8; 2usize] = b" \0";
pub const COLOR_BLUE: &'static [u8; 2usize] = b" \0";
pub const COLOR_MAGENTA: &'static [u8; 2usize] = b" \0";
pub const COLOR_CYAN: &'static [u8; 2usize] = b" \0";
pub const COLOR_WHITE: &'static [u8; 2usize] = b" \0";
pub const COLOR_DEFAULT: &'static [u8; 2usize] = b" \0";
pub const COLOR_RED_STR: &'static [u8; 5usize] = b" %s \0";
pub const COLOR_GREEN_STR: &'static [u8; 5usize] = b" %s \0";
pub const COLOR_GREEN_S2: &'static [u8; 8usize] = b" %-10s \0";
pub const COLOR_GREEN_X1: &'static [u8; 7usize] = b" %01x \0";
pub const COLOR_GREEN_STR_INT: &'static [u8; 7usize] = b" %s%i \0";
pub const COLOR_YELLOW_STR: &'static [u8; 5usize] = b" %s \0";
pub const COLOR_MAGENTA_STR: &'static [u8; 5usize] = b" %s \0";
pub const COLOR_YELLOW_PRIu64: &'static [u8; 7usize] = b" %5lu \0";
pub const COLOR_YELLOW_PRIu64plus: &'static [u8; 7usize] = b" %5lu \0";
pub const COLOR_BRIGHT_BLACK: &'static [u8; 6usize] = b"\x1B[90m\0";
pub const COLOR_BRIGHT_RED: &'static [u8; 6usize] = b"\x1B[91m\0";
pub const COLOR_BRIGHT_GREEN: &'static [u8; 6usize] = b"\x1B[92m\0";
pub const COLOR_BRIGHT_YELLOW: &'static [u8; 6usize] = b"\x1B[93m\0";
pub const COLOR_BRIGHT_BLUE: &'static [u8; 6usize] = b"\x1B[94m\0";
pub const COLOR_BRIGHT_MAGENTA: &'static [u8; 6usize] = b"\x1B[95m\0";
pub const COLOR_BRIGHT_CYAN: &'static [u8; 6usize] = b"\x1B[96m\0";
pub const COLOR_BRIGHT_WHITE: &'static [u8; 6usize] = b"\x1B[97m\0";
pub const COLOR_BG_DEFAULT: &'static [u8; 9usize] = b"\x1B[24;49m\0";
pub const COLOR_BG_BLACK: &'static [u8; 9usize] = b"\x1B[24;40m\0";
pub const COLOR_BG_RED: &'static [u8; 9usize] = b"\x1B[24;41m\0";
pub const COLOR_BG_GREEN: &'static [u8; 9usize] = b"\x1B[24;42m\0";
pub const COLOR_BG_YELLOW: &'static [u8; 9usize] = b"\x1B[24;43m\0";
pub const COLOR_BG_BLUE: &'static [u8; 9usize] = b"\x1B[24;44m\0";
pub const COLOR_BG_MAGENTA: &'static [u8; 9usize] = b"\x1B[24;45m\0";
pub const COLOR_BG_CYAN: &'static [u8; 9usize] = b"\x1B[24;46m\0";
pub const COLOR_BG_WHITE: &'static [u8; 9usize] = b"\x1B[24;47m\0";
pub const COLOR_BG_BRIGHT_BLACK: &'static [u8; 9usize] = b"\x1B[4;100m\0";
pub const COLOR_BG_BRIGHT_RED: &'static [u8; 9usize] = b"\x1B[4;101m\0";
pub const COLOR_BG_BRIGHT_GREEN: &'static [u8; 9usize] = b"\x1B[4;102m\0";
pub const COLOR_BG_BRIGHT_YELLOW: &'static [u8; 9usize] = b"\x1B[4;103m\0";
pub const COLOR_BG_BRIGHT_BLUE: &'static [u8; 9usize] = b"\x1B[4;104m\0";
pub const COLOR_BG_BRIGHT_MAGENTA: &'static [u8; 9usize] = b"\x1B[4;105m\0";
pub const COLOR_BG_BRIGHT_CYAN: &'static [u8; 9usize] = b"\x1B[4;106m\0";
pub const COLOR_BG_BRIGHT_WHITE: &'static [u8; 9usize] = b"\x1B[4;107m\0";
pub const LOG_VERSION: &'static [u8; 6usize] = b"0.1.0\0";
pub type __u_char = libc::c_uchar;
pub type __u_short = libc::c_ushort;
pub type __u_int = libc::c_uint;
pub type __u_long = libc::c_ulong;
pub type __int8_t = libc::c_schar;
pub type __uint8_t = libc::c_uchar;
pub type __int16_t = libc::c_short;
pub type __uint16_t = libc::c_ushort;
pub type __int32_t = libc::c_int;
pub type __uint32_t = libc::c_uint;
pub type __int64_t = libc::c_long;
pub type __uint64_t = libc::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 = libc::c_long;
pub type __u_quad_t = libc::c_ulong;
pub type __intmax_t = libc::c_long;
pub type __uintmax_t = libc::c_ulong;
pub type __dev_t = libc::c_ulong;
pub type __uid_t = libc::c_uint;
pub type __gid_t = libc::c_uint;
pub type __ino_t = libc::c_ulong;
pub type __ino64_t = libc::c_ulong;
pub type __mode_t = libc::c_uint;
pub type __nlink_t = libc::c_ulong;
pub type __off_t = libc::c_long;
pub type __off64_t = libc::c_long;
pub type __pid_t = libc::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
pub __val: [libc::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
assert_eq!(
::core::mem::size_of::<__fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__fsid_t))
);
assert_eq!(
::core::mem::align_of::<__fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__fsid_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__fsid_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__fsid_t),
"::",
stringify!(__val)
)
);
}
pub type __clock_t = libc::c_long;
pub type __rlim_t = libc::c_ulong;
pub type __rlim64_t = libc::c_ulong;
pub type __id_t = libc::c_uint;
pub type __time_t = libc::c_long;
pub type __useconds_t = libc::c_uint;
pub type __suseconds_t = libc::c_long;
pub type __daddr_t = libc::c_int;
pub type __key_t = libc::c_int;
pub type __clockid_t = libc::c_int;
pub type __timer_t = *mut libc::c_void;
pub type __blksize_t = libc::c_long;
pub type __blkcnt_t = libc::c_long;
pub type __blkcnt64_t = libc::c_long;
pub type __fsblkcnt_t = libc::c_ulong;
pub type __fsblkcnt64_t = libc::c_ulong;
pub type __fsfilcnt_t = libc::c_ulong;
pub type __fsfilcnt64_t = libc::c_ulong;
pub type __fsword_t = libc::c_long;
pub type __ssize_t = libc::c_long;
pub type __syscall_slong_t = libc::c_long;
pub type __syscall_ulong_t = libc::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut libc::c_char;
pub type __intptr_t = libc::c_long;
pub type __socklen_t = libc::c_uint;
pub type __sig_atomic_t = libc::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 = libc::c_schar;
pub type int_fast16_t = libc::c_long;
pub type int_fast32_t = libc::c_long;
pub type int_fast64_t = libc::c_long;
pub type uint_fast8_t = libc::c_uchar;
pub type uint_fast16_t = libc::c_ulong;
pub type uint_fast32_t = libc::c_ulong;
pub type uint_fast64_t = libc::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type __gwchar_t = libc::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct imaxdiv_t {
pub quot: libc::c_long,
pub rem: libc::c_long,
}
#[test]
fn bindgen_test_layout_imaxdiv_t() {
assert_eq!(
::core::mem::size_of::<imaxdiv_t>(),
16usize,
concat!("Size of: ", stringify!(imaxdiv_t))
);
assert_eq!(
::core::mem::align_of::<imaxdiv_t>(),
8usize,
concat!("Alignment of ", stringify!(imaxdiv_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(imaxdiv_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(imaxdiv_t),
"::",
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 libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> intmax_t;
}
extern "C" {
pub fn strtoumax(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> uintmax_t;
}
extern "C" {
pub fn wcstoimax(
__nptr: *const __gwchar_t,
__endptr: *mut *mut __gwchar_t,
__base: libc::c_int,
) -> intmax_t;
}
extern "C" {
pub fn wcstoumax(
__nptr: *const __gwchar_t,
__endptr: *mut *mut __gwchar_t,
__base: libc::c_int,
) -> uintmax_t;
}
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __mbstate_t {
pub __count: libc::c_int,
pub __value: __mbstate_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __mbstate_t__bindgen_ty_1 {
pub __wch: libc::c_uint,
pub __wchb: [libc::c_char; 4usize],
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
assert_eq!(
::core::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
4usize,
concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
);
assert_eq!(
::core::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
4usize,
concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wch as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t__bindgen_ty_1),
"::",
stringify!(__wch)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wchb as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t__bindgen_ty_1),
"::",
stringify!(__wchb)
)
);
}
impl ::core::fmt::Debug for __mbstate_t__bindgen_ty_1 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "__mbstate_t__bindgen_ty_1 {{ union }}")
}
}
#[test]
fn bindgen_test_layout___mbstate_t() {
assert_eq!(
::core::mem::size_of::<__mbstate_t>(),
8usize,
concat!("Size of: ", stringify!(__mbstate_t))
);
assert_eq!(
::core::mem::align_of::<__mbstate_t>(),
4usize,
concat!("Alignment of ", stringify!(__mbstate_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__mbstate_t>())).__count as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t),
"::",
stringify!(__count)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__mbstate_t>())).__value as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__mbstate_t),
"::",
stringify!(__value)
)
);
}
impl ::core::fmt::Debug for __mbstate_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"__mbstate_t {{ __count: {:?}, __value: {:?} }}",
self.__count, self.__value
)
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos_t {
pub __pos: __off_t,
pub __state: __mbstate_t,
}
#[test]
fn bindgen_test_layout__G_fpos_t() {
assert_eq!(
::core::mem::size_of::<_G_fpos_t>(),
16usize,
concat!("Size of: ", stringify!(_G_fpos_t))
);
assert_eq!(
::core::mem::align_of::<_G_fpos_t>(),
8usize,
concat!("Alignment of ", stringify!(_G_fpos_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_G_fpos_t>())).__pos as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos_t),
"::",
stringify!(__pos)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_G_fpos_t>())).__state as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos_t),
"::",
stringify!(__state)
)
);
}
impl ::core::fmt::Debug for _G_fpos_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"_G_fpos_t {{ __pos: {:?}, __state: {:?} }}",
self.__pos, self.__state
)
}
}
pub type __fpos_t = _G_fpos_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos64_t {
pub __pos: __off64_t,
pub __state: __mbstate_t,
}
#[test]
fn bindgen_test_layout__G_fpos64_t() {
assert_eq!(
::core::mem::size_of::<_G_fpos64_t>(),
16usize,
concat!("Size of: ", stringify!(_G_fpos64_t))
);
assert_eq!(
::core::mem::align_of::<_G_fpos64_t>(),
8usize,
concat!("Alignment of ", stringify!(_G_fpos64_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_G_fpos64_t>())).__pos as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos64_t),
"::",
stringify!(__pos)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_G_fpos64_t>())).__state as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_G_fpos64_t),
"::",
stringify!(__state)
)
);
}
impl ::core::fmt::Debug for _G_fpos64_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"_G_fpos64_t {{ __pos: {:?}, __state: {:?} }}",
self.__pos, self.__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 = libc::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
pub _flags: libc::c_int,
pub _IO_read_ptr: *mut libc::c_char,
pub _IO_read_end: *mut libc::c_char,
pub _IO_read_base: *mut libc::c_char,
pub _IO_write_base: *mut libc::c_char,
pub _IO_write_ptr: *mut libc::c_char,
pub _IO_write_end: *mut libc::c_char,
pub _IO_buf_base: *mut libc::c_char,
pub _IO_buf_end: *mut libc::c_char,
pub _IO_save_base: *mut libc::c_char,
pub _IO_backup_base: *mut libc::c_char,
pub _IO_save_end: *mut libc::c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: libc::c_int,
pub _flags2: libc::c_int,
pub _old_offset: __off_t,
pub _cur_column: libc::c_ushort,
pub _vtable_offset: libc::c_schar,
pub _shortbuf: [libc::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 libc::c_void,
pub __pad5: usize,
pub _mode: libc::c_int,
pub _unused2: [libc::c_char; 20usize],
}
#[test]
fn bindgen_test_layout__IO_FILE() {
assert_eq!(
::core::mem::size_of::<_IO_FILE>(),
216usize,
concat!("Size of: ", stringify!(_IO_FILE))
);
assert_eq!(
::core::mem::align_of::<_IO_FILE>(),
8usize,
concat!("Alignment of ", stringify!(_IO_FILE))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_ptr)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_end)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_base)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_base)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_ptr)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_end)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_base)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_end)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_base)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_backup_base)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_end)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_markers)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_chain)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_fileno)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags2)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_old_offset)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_cur_column)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
130usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_vtable_offset)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
131usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_shortbuf)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_lock)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_offset)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._codecvt as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_codecvt)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._wide_data as *const _ as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_wide_data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._freeres_list as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_list)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._freeres_buf as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_buf)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(__pad5)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_mode)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
196usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_unused2)
)
);
}
pub type off_t = __off_t;
pub type fpos_t = __fpos_t;
extern "C" {
pub static mut stdin: *mut FILE;
}
extern "C" {
pub static mut stdout: *mut FILE;
}
extern "C" {
pub static mut stderr: *mut FILE;
}
extern "C" {
pub fn remove(__filename: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn rename(__old: *const libc::c_char, __new: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn renameat(
__oldfd: libc::c_int,
__old: *const libc::c_char,
__newfd: libc::c_int,
__new: *const libc::c_char,
) -> libc::c_int;
}
extern "C" {
pub fn tmpfile() -> *mut FILE;
}
extern "C" {
pub fn tmpnam(__s: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn tmpnam_r(__s: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn tempnam(__dir: *const libc::c_char, __pfx: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn fclose(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fflush(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fflush_unlocked(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fopen(__filename: *const libc::c_char, __modes: *const libc::c_char) -> *mut FILE;
}
extern "C" {
pub fn freopen(
__filename: *const libc::c_char,
__modes: *const libc::c_char,
__stream: *mut FILE,
) -> *mut FILE;
}
extern "C" {
pub fn fdopen(__fd: libc::c_int, __modes: *const libc::c_char) -> *mut FILE;
}
extern "C" {
pub fn fmemopen(
__s: *mut libc::c_void,
__len: usize,
__modes: *const libc::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn open_memstream(__bufloc: *mut *mut libc::c_char, __sizeloc: *mut usize) -> *mut FILE;
}
extern "C" {
pub fn setbuf(__stream: *mut FILE, __buf: *mut libc::c_char);
}
extern "C" {
pub fn setvbuf(
__stream: *mut FILE,
__buf: *mut libc::c_char,
__modes: libc::c_int,
__n: usize,
) -> libc::c_int;
}
extern "C" {
pub fn setbuffer(__stream: *mut FILE, __buf: *mut libc::c_char, __size: usize);
}
extern "C" {
pub fn setlinebuf(__stream: *mut FILE);
}
extern "C" {
pub fn fprintf(__stream: *mut FILE, __format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn printf(__format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn sprintf(__s: *mut libc::c_char, __format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn vfprintf(
__s: *mut FILE,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
pub fn vprintf(__format: *const libc::c_char, __arg: *mut __va_list_tag) -> libc::c_int;
}
extern "C" {
pub fn vsprintf(
__s: *mut libc::c_char,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
pub fn snprintf(
__s: *mut libc::c_char,
__maxlen: libc::c_ulong,
__format: *const libc::c_char,
...
) -> libc::c_int;
}
extern "C" {
pub fn vsnprintf(
__s: *mut libc::c_char,
__maxlen: libc::c_ulong,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
pub fn vdprintf(
__fd: libc::c_int,
__fmt: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
pub fn dprintf(__fd: libc::c_int, __fmt: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn fscanf(__stream: *mut FILE, __format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn scanf(__format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn sscanf(__s: *const libc::c_char, __format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_fscanf"]
pub fn fscanf1(__stream: *mut FILE, __format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_scanf"]
pub fn scanf1(__format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_sscanf"]
pub fn sscanf1(__s: *const libc::c_char, __format: *const libc::c_char, ...) -> libc::c_int;
}
extern "C" {
pub fn vfscanf(
__s: *mut FILE,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
pub fn vscanf(__format: *const libc::c_char, __arg: *mut __va_list_tag) -> libc::c_int;
}
extern "C" {
pub fn vsscanf(
__s: *const libc::c_char,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vfscanf"]
pub fn vfscanf1(
__s: *mut FILE,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vscanf"]
pub fn vscanf1(__format: *const libc::c_char, __arg: *mut __va_list_tag) -> libc::c_int;
}
extern "C" {
#[link_name = "\u{1}__isoc99_vsscanf"]
pub fn vsscanf1(
__s: *const libc::c_char,
__format: *const libc::c_char,
__arg: *mut __va_list_tag,
) -> libc::c_int;
}
extern "C" {
pub fn fgetc(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn getc(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn getchar() -> libc::c_int;
}
extern "C" {
pub fn getc_unlocked(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn getchar_unlocked() -> libc::c_int;
}
extern "C" {
pub fn fgetc_unlocked(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fputc(__c: libc::c_int, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn putc(__c: libc::c_int, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn putchar(__c: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn fputc_unlocked(__c: libc::c_int, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn putc_unlocked(__c: libc::c_int, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn putchar_unlocked(__c: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn getw(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn putw(__w: libc::c_int, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fgets(
__s: *mut libc::c_char,
__n: libc::c_int,
__stream: *mut FILE,
) -> *mut libc::c_char;
}
extern "C" {
pub fn __getdelim(
__lineptr: *mut *mut libc::c_char,
__n: *mut usize,
__delimiter: libc::c_int,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn getdelim(
__lineptr: *mut *mut libc::c_char,
__n: *mut usize,
__delimiter: libc::c_int,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn getline(
__lineptr: *mut *mut libc::c_char,
__n: *mut usize,
__stream: *mut FILE,
) -> __ssize_t;
}
extern "C" {
pub fn fputs(__s: *const libc::c_char, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn puts(__s: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn ungetc(__c: libc::c_int, __stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fread(
__ptr: *mut libc::c_void,
__size: libc::c_ulong,
__n: libc::c_ulong,
__stream: *mut FILE,
) -> libc::c_ulong;
}
extern "C" {
pub fn fwrite(
__ptr: *const libc::c_void,
__size: libc::c_ulong,
__n: libc::c_ulong,
__s: *mut FILE,
) -> libc::c_ulong;
}
extern "C" {
pub fn fread_unlocked(
__ptr: *mut libc::c_void,
__size: usize,
__n: usize,
__stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn fwrite_unlocked(
__ptr: *const libc::c_void,
__size: usize,
__n: usize,
__stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn fseek(__stream: *mut FILE, __off: libc::c_long, __whence: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn ftell(__stream: *mut FILE) -> libc::c_long;
}
extern "C" {
pub fn rewind(__stream: *mut FILE);
}
extern "C" {
pub fn fseeko(__stream: *mut FILE, __off: __off_t, __whence: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn ftello(__stream: *mut FILE) -> __off_t;
}
extern "C" {
pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> libc::c_int;
}
extern "C" {
pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> libc::c_int;
}
extern "C" {
pub fn clearerr(__stream: *mut FILE);
}
extern "C" {
pub fn feof(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn ferror(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn clearerr_unlocked(__stream: *mut FILE);
}
extern "C" {
pub fn feof_unlocked(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn ferror_unlocked(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn perror(__s: *const libc::c_char);
}
extern "C" {
pub static mut sys_nerr: libc::c_int;
}
extern "C" {
pub static mut sys_errlist: [*const libc::c_char; 0usize];
}
extern "C" {
pub fn fileno(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn fileno_unlocked(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn popen(__command: *const libc::c_char, __modes: *const libc::c_char) -> *mut FILE;
}
extern "C" {
pub fn pclose(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn ctermid(__s: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn flockfile(__stream: *mut FILE);
}
extern "C" {
pub fn ftrylockfile(__stream: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn funlockfile(__stream: *mut FILE);
}
extern "C" {
pub fn __uflow(arg1: *mut FILE) -> libc::c_int;
}
extern "C" {
pub fn __overflow(arg1: *mut FILE, arg2: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn memcpy(
__dest: *mut libc::c_void,
__src: *const libc::c_void,
__n: libc::c_ulong,
) -> *mut libc::c_void;
}
extern "C" {
pub fn memmove(
__dest: *mut libc::c_void,
__src: *const libc::c_void,
__n: libc::c_ulong,
) -> *mut libc::c_void;
}
extern "C" {
pub fn memccpy(
__dest: *mut libc::c_void,
__src: *const libc::c_void,
__c: libc::c_int,
__n: libc::c_ulong,
) -> *mut libc::c_void;
}
extern "C" {
pub fn memset(
__s: *mut libc::c_void,
__c: libc::c_int,
__n: libc::c_ulong,
) -> *mut libc::c_void;
}
extern "C" {
pub fn memcmp(
__s1: *const libc::c_void,
__s2: *const libc::c_void,
__n: libc::c_ulong,
) -> libc::c_int;
}
extern "C" {
pub fn memchr(
__s: *const libc::c_void,
__c: libc::c_int,
__n: libc::c_ulong,
) -> *mut libc::c_void;
}
extern "C" {
pub fn strcpy(__dest: *mut libc::c_char, __src: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn strncpy(
__dest: *mut libc::c_char,
__src: *const libc::c_char,
__n: libc::c_ulong,
) -> *mut libc::c_char;
}
extern "C" {
pub fn strcat(__dest: *mut libc::c_char, __src: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn strncat(
__dest: *mut libc::c_char,
__src: *const libc::c_char,
__n: libc::c_ulong,
) -> *mut libc::c_char;
}
extern "C" {
pub fn strcmp(__s1: *const libc::c_char, __s2: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn strncmp(
__s1: *const libc::c_char,
__s2: *const libc::c_char,
__n: libc::c_ulong,
) -> libc::c_int;
}
extern "C" {
pub fn strcoll(__s1: *const libc::c_char, __s2: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn strxfrm(
__dest: *mut libc::c_char,
__src: *const libc::c_char,
__n: libc::c_ulong,
) -> libc::c_ulong;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_struct {
pub __locales: [*mut __locale_data; 13usize],
pub __ctype_b: *const libc::c_ushort,
pub __ctype_tolower: *const libc::c_int,
pub __ctype_toupper: *const libc::c_int,
pub __names: [*const libc::c_char; 13usize],
}
#[test]
fn bindgen_test_layout___locale_struct() {
assert_eq!(
::core::mem::size_of::<__locale_struct>(),
232usize,
concat!("Size of: ", stringify!(__locale_struct))
);
assert_eq!(
::core::mem::align_of::<__locale_struct>(),
8usize,
concat!("Alignment of ", stringify!(__locale_struct))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__locale_struct>())).__locales as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__locales)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__locale_struct>())).__ctype_b as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__ctype_b)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__locale_struct>())).__ctype_tolower as *const _ as usize
},
112usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__ctype_tolower)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__locale_struct>())).__ctype_toupper as *const _ as usize
},
120usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__ctype_toupper)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__locale_struct>())).__names as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(__locale_struct),
"::",
stringify!(__names)
)
);
}
pub type __locale_t = *mut __locale_struct;
pub type locale_t = __locale_t;
extern "C" {
pub fn strcoll_l(
__s1: *const libc::c_char,
__s2: *const libc::c_char,
__l: locale_t,
) -> libc::c_int;
}
extern "C" {
pub fn strxfrm_l(
__dest: *mut libc::c_char,
__src: *const libc::c_char,
__n: usize,
__l: locale_t,
) -> usize;
}
extern "C" {
pub fn strdup(__s: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn strndup(__string: *const libc::c_char, __n: libc::c_ulong) -> *mut libc::c_char;
}
extern "C" {
pub fn strchr(__s: *const libc::c_char, __c: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
pub fn strrchr(__s: *const libc::c_char, __c: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
pub fn strcspn(__s: *const libc::c_char, __reject: *const libc::c_char) -> libc::c_ulong;
}
extern "C" {
pub fn strspn(__s: *const libc::c_char, __accept: *const libc::c_char) -> libc::c_ulong;
}
extern "C" {
pub fn strpbrk(__s: *const libc::c_char, __accept: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn strstr(
__haystack: *const libc::c_char,
__needle: *const libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn strtok(__s: *mut libc::c_char, __delim: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn __strtok_r(
__s: *mut libc::c_char,
__delim: *const libc::c_char,
__save_ptr: *mut *mut libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn strtok_r(
__s: *mut libc::c_char,
__delim: *const libc::c_char,
__save_ptr: *mut *mut libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn strlen(__s: *const libc::c_char) -> libc::c_ulong;
}
extern "C" {
pub fn strnlen(__string: *const libc::c_char, __maxlen: usize) -> usize;
}
extern "C" {
pub fn strerror(__errnum: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
#[link_name = "\u{1}__xpg_strerror_r"]
pub fn strerror_r(
__errnum: libc::c_int,
__buf: *mut libc::c_char,
__buflen: usize,
) -> libc::c_int;
}
extern "C" {
pub fn strerror_l(__errnum: libc::c_int, __l: locale_t) -> *mut libc::c_char;
}
extern "C" {
pub fn bcmp(
__s1: *const libc::c_void,
__s2: *const libc::c_void,
__n: libc::c_ulong,
) -> libc::c_int;
}
extern "C" {
pub fn bcopy(__src: *const libc::c_void, __dest: *mut libc::c_void, __n: usize);
}
extern "C" {
pub fn bzero(__s: *mut libc::c_void, __n: libc::c_ulong);
}
extern "C" {
pub fn index(__s: *const libc::c_char, __c: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
pub fn rindex(__s: *const libc::c_char, __c: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
pub fn ffs(__i: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn ffsl(__l: libc::c_long) -> libc::c_int;
}
extern "C" {
pub fn ffsll(__ll: libc::c_longlong) -> libc::c_int;
}
extern "C" {
pub fn strcasecmp(__s1: *const libc::c_char, __s2: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn strncasecmp(
__s1: *const libc::c_char,
__s2: *const libc::c_char,
__n: libc::c_ulong,
) -> libc::c_int;
}
extern "C" {
pub fn strcasecmp_l(
__s1: *const libc::c_char,
__s2: *const libc::c_char,
__loc: locale_t,
) -> libc::c_int;
}
extern "C" {
pub fn strncasecmp_l(
__s1: *const libc::c_char,
__s2: *const libc::c_char,
__n: usize,
__loc: locale_t,
) -> libc::c_int;
}
extern "C" {
pub fn explicit_bzero(__s: *mut libc::c_void, __n: usize);
}
extern "C" {
pub fn strsep(
__stringp: *mut *mut libc::c_char,
__delim: *const libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn strsignal(__sig: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
pub fn __stpcpy(__dest: *mut libc::c_char, __src: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn stpcpy(__dest: *mut libc::c_char, __src: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn __stpncpy(
__dest: *mut libc::c_char,
__src: *const libc::c_char,
__n: usize,
) -> *mut libc::c_char;
}
extern "C" {
pub fn stpncpy(
__dest: *mut libc::c_char,
__src: *const libc::c_char,
__n: libc::c_ulong,
) -> *mut libc::c_char;
}
pub type clock_t = __clock_t;
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tm {
pub tm_sec: libc::c_int,
pub tm_min: libc::c_int,
pub tm_hour: libc::c_int,
pub tm_mday: libc::c_int,
pub tm_mon: libc::c_int,
pub tm_year: libc::c_int,
pub tm_wday: libc::c_int,
pub tm_yday: libc::c_int,
pub tm_isdst: libc::c_int,
pub tm_gmtoff: libc::c_long,
pub tm_zone: *const libc::c_char,
}
#[test]
fn bindgen_test_layout_tm() {
assert_eq!(
::core::mem::size_of::<tm>(),
56usize,
concat!("Size of: ", stringify!(tm))
);
assert_eq!(
::core::mem::align_of::<tm>(),
8usize,
concat!("Alignment of ", stringify!(tm))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_sec)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_min as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_min)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_hour as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_hour)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_mday as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mday)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_mon as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_mon)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_year as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_year)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_wday as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_wday)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_yday as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_yday)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_isdst as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_isdst)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_gmtoff)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<tm>())).tm_zone as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(tm),
"::",
stringify!(tm_zone)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
assert_eq!(
::core::mem::size_of::<timespec>(),
16usize,
concat!("Size of: ", stringify!(timespec))
);
assert_eq!(
::core::mem::align_of::<timespec>(),
8usize,
concat!("Alignment of ", stringify!(timespec))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<timespec>())).tv_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_nsec)
)
);
}
pub type clockid_t = __clockid_t;
pub type timer_t = __timer_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimerspec {
pub it_interval: timespec,
pub it_value: timespec,
}
#[test]
fn bindgen_test_layout_itimerspec() {
assert_eq!(
::core::mem::size_of::<itimerspec>(),
32usize,
concat!("Size of: ", stringify!(itimerspec))
);
assert_eq!(
::core::mem::align_of::<itimerspec>(),
8usize,
concat!("Alignment of ", stringify!(itimerspec))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(itimerspec),
"::",
stringify!(it_interval)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<itimerspec>())).it_value as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(itimerspec),
"::",
stringify!(it_value)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigevent {
_unused: [u8; 0],
}
pub type pid_t = __pid_t;
extern "C" {
pub fn clock() -> clock_t;
}
extern "C" {
pub fn time(__timer: *mut time_t) -> time_t;
}
extern "C" {
pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
}
extern "C" {
pub fn mktime(__tp: *mut tm) -> time_t;
}
extern "C" {
pub fn strftime(
__s: *mut libc::c_char,
__maxsize: usize,
__format: *const libc::c_char,
__tp: *const tm,
) -> usize;
}
extern "C" {
pub fn strftime_l(
__s: *mut libc::c_char,
__maxsize: usize,
__format: *const libc::c_char,
__tp: *const tm,
__loc: locale_t,
) -> usize;
}
extern "C" {
pub fn gmtime(__timer: *const time_t) -> *mut tm;
}
extern "C" {
pub fn localtime(__timer: *const time_t) -> *mut tm;
}
extern "C" {
pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
extern "C" {
pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
extern "C" {
pub fn asctime(__tp: *const tm) -> *mut libc::c_char;
}
extern "C" {
pub fn ctime(__timer: *const time_t) -> *mut libc::c_char;
}
extern "C" {
pub fn asctime_r(__tp: *const tm, __buf: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn ctime_r(__timer: *const time_t, __buf: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub static mut __tzname: [*mut libc::c_char; 2usize];
}
extern "C" {
pub static mut __daylight: libc::c_int;
}
extern "C" {
pub static mut __timezone: libc::c_long;
}
extern "C" {
pub static mut tzname: [*mut libc::c_char; 2usize];
}
extern "C" {
pub fn tzset();
}
extern "C" {
pub static mut daylight: libc::c_int;
}
extern "C" {
pub static mut timezone: libc::c_long;
}
extern "C" {
pub fn timegm(__tp: *mut tm) -> time_t;
}
extern "C" {
pub fn timelocal(__tp: *mut tm) -> time_t;
}
extern "C" {
pub fn dysize(__year: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn nanosleep(__requested_time: *const timespec, __remaining: *mut timespec) -> libc::c_int;
}
extern "C" {
pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> libc::c_int;
}
extern "C" {
pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> libc::c_int;
}
extern "C" {
pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> libc::c_int;
}
extern "C" {
pub fn clock_nanosleep(
__clock_id: clockid_t,
__flags: libc::c_int,
__req: *const timespec,
__rem: *mut timespec,
) -> libc::c_int;
}
extern "C" {
pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> libc::c_int;
}
extern "C" {
pub fn timer_create(
__clock_id: clockid_t,
__evp: *mut sigevent,
__timerid: *mut timer_t,
) -> libc::c_int;
}
extern "C" {
pub fn timer_delete(__timerid: timer_t) -> libc::c_int;
}
extern "C" {
pub fn timer_settime(
__timerid: timer_t,
__flags: libc::c_int,
__value: *const itimerspec,
__ovalue: *mut itimerspec,
) -> libc::c_int;
}
extern "C" {
pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> libc::c_int;
}
extern "C" {
pub fn timer_getoverrun(__timerid: timer_t) -> libc::c_int;
}
extern "C" {
pub fn timespec_get(__ts: *mut timespec, __base: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn alloca(__size: libc::c_ulong) -> *mut libc::c_void;
}
extern "C" {
pub fn _malloc_(
size: usize,
file: *mut libc::c_char,
func: *const libc::c_char,
line: libc::c_int,
) -> *mut libc::c_void;
}
extern "C" {
pub fn _realloc_(
ptr: *mut libc::c_void,
size: usize,
oldsize: usize,
file: *mut libc::c_char,
func: *const libc::c_char,
line: libc::c_int,
) -> *mut libc::c_void;
}
extern "C" {
pub fn _calloc_(
n: usize,
size: usize,
file: *mut libc::c_char,
func: *const libc::c_char,
line: libc::c_int,
) -> *mut libc::c_void;
}
extern "C" {
pub fn _free_(ptr: *mut libc::c_void);
}
pub type wchar_t = libc::c_int;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum idtype_t {
P_ALL = 0,
P_PID = 1,
P_PGID = 2,
}
pub type _Float32 = f32;
pub type _Float64 = f64;
pub type _Float32x = f64;
pub type _Float64x = u128;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct div_t {
pub quot: libc::c_int,
pub rem: libc::c_int,
}
#[test]
fn bindgen_test_layout_div_t() {
assert_eq!(
::core::mem::size_of::<div_t>(),
8usize,
concat!("Size of: ", stringify!(div_t))
);
assert_eq!(
::core::mem::align_of::<div_t>(),
4usize,
concat!("Alignment of ", stringify!(div_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<div_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(div_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<div_t>())).rem as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(div_t),
"::",
stringify!(rem)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ldiv_t {
pub quot: libc::c_long,
pub rem: libc::c_long,
}
#[test]
fn bindgen_test_layout_ldiv_t() {
assert_eq!(
::core::mem::size_of::<ldiv_t>(),
16usize,
concat!("Size of: ", stringify!(ldiv_t))
);
assert_eq!(
::core::mem::align_of::<ldiv_t>(),
8usize,
concat!("Alignment of ", stringify!(ldiv_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<ldiv_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ldiv_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<ldiv_t>())).rem as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ldiv_t),
"::",
stringify!(rem)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lldiv_t {
pub quot: libc::c_longlong,
pub rem: libc::c_longlong,
}
#[test]
fn bindgen_test_layout_lldiv_t() {
assert_eq!(
::core::mem::size_of::<lldiv_t>(),
16usize,
concat!("Size of: ", stringify!(lldiv_t))
);
assert_eq!(
::core::mem::align_of::<lldiv_t>(),
8usize,
concat!("Alignment of ", stringify!(lldiv_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<lldiv_t>())).quot as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(lldiv_t),
"::",
stringify!(quot)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<lldiv_t>())).rem as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(lldiv_t),
"::",
stringify!(rem)
)
);
}
extern "C" {
pub fn __ctype_get_mb_cur_max() -> usize;
}
extern "C" {
pub fn atof(__nptr: *const libc::c_char) -> f64;
}
extern "C" {
pub fn atoi(__nptr: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn atol(__nptr: *const libc::c_char) -> libc::c_long;
}
extern "C" {
pub fn atoll(__nptr: *const libc::c_char) -> libc::c_longlong;
}
extern "C" {
pub fn strtod(__nptr: *const libc::c_char, __endptr: *mut *mut libc::c_char) -> f64;
}
extern "C" {
pub fn strtof(__nptr: *const libc::c_char, __endptr: *mut *mut libc::c_char) -> f32;
}
extern "C" {
pub fn strtold(__nptr: *const libc::c_char, __endptr: *mut *mut libc::c_char) -> u128;
}
extern "C" {
pub fn strtol(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> libc::c_long;
}
extern "C" {
pub fn strtoul(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> libc::c_ulong;
}
extern "C" {
pub fn strtoq(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> libc::c_longlong;
}
extern "C" {
pub fn strtouq(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> libc::c_ulonglong;
}
extern "C" {
pub fn strtoll(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> libc::c_longlong;
}
extern "C" {
pub fn strtoull(
__nptr: *const libc::c_char,
__endptr: *mut *mut libc::c_char,
__base: libc::c_int,
) -> libc::c_ulonglong;
}
extern "C" {
pub fn l64a(__n: libc::c_long) -> *mut libc::c_char;
}
extern "C" {
pub fn a64l(__s: *const libc::c_char) -> libc::c_long;
}
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type id_t = __id_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type ulong = libc::c_ulong;
pub type ushort = libc::c_ushort;
pub type uint = libc::c_uint;
pub type u_int8_t = __uint8_t;
pub type u_int16_t = __uint16_t;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type register_t = libc::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
pub __val: [libc::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
assert_eq!(
::core::mem::size_of::<__sigset_t>(),
128usize,
concat!("Size of: ", stringify!(__sigset_t))
);
assert_eq!(
::core::mem::align_of::<__sigset_t>(),
8usize,
concat!("Alignment of ", stringify!(__sigset_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__sigset_t>())).__val as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sigset_t),
"::",
stringify!(__val)
)
);
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
pub tv_sec: __time_t,
pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
assert_eq!(
::core::mem::size_of::<timeval>(),
16usize,
concat!("Size of: ", stringify!(timeval))
);
assert_eq!(
::core::mem::align_of::<timeval>(),
8usize,
concat!("Alignment of ", stringify!(timeval))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<timeval>())).tv_sec as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<timeval>())).tv_usec as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_usec)
)
);
}
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = libc::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
assert_eq!(
::core::mem::size_of::<fd_set>(),
128usize,
concat!("Size of: ", stringify!(fd_set))
);
assert_eq!(
::core::mem::align_of::<fd_set>(),
8usize,
concat!("Alignment of ", stringify!(fd_set))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(fd_set),
"::",
stringify!(__fds_bits)
)
);
}
pub type fd_mask = __fd_mask;
extern "C" {
pub fn select(
__nfds: libc::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *mut timeval,
) -> libc::c_int;
}
extern "C" {
pub fn pselect(
__nfds: libc::c_int,
__readfds: *mut fd_set,
__writefds: *mut fd_set,
__exceptfds: *mut fd_set,
__timeout: *const timespec,
__sigmask: *const __sigset_t,
) -> libc::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
pub __prev: *mut __pthread_internal_list,
pub __next: *mut __pthread_internal_list,
}
#[test]
fn bindgen_test_layout___pthread_internal_list() {
assert_eq!(
::core::mem::size_of::<__pthread_internal_list>(),
16usize,
concat!("Size of: ", stringify!(__pthread_internal_list))
);
assert_eq!(
::core::mem::align_of::<__pthread_internal_list>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_internal_list))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__prev)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__next)
)
);
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_slist {
pub __next: *mut __pthread_internal_slist,
}
#[test]
fn bindgen_test_layout___pthread_internal_slist() {
assert_eq!(
::core::mem::size_of::<__pthread_internal_slist>(),
8usize,
concat!("Size of: ", stringify!(__pthread_internal_slist))
);
assert_eq!(
::core::mem::align_of::<__pthread_internal_slist>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_internal_slist))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_internal_slist>())).__next as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_slist),
"::",
stringify!(__next)
)
);
}
pub type __pthread_slist_t = __pthread_internal_slist;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
pub __lock: libc::c_int,
pub __count: libc::c_uint,
pub __owner: libc::c_int,
pub __nusers: libc::c_uint,
pub __kind: libc::c_int,
pub __spins: libc::c_short,
pub __elision: libc::c_short,
pub __list: __pthread_list_t,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s() {
assert_eq!(
::core::mem::size_of::<__pthread_mutex_s>(),
40usize,
concat!("Size of: ", stringify!(__pthread_mutex_s))
);
assert_eq!(
::core::mem::align_of::<__pthread_mutex_s>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_mutex_s))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__lock)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__count)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__owner)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__nusers)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__kind)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__spins)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__elision)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__list)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
pub __readers: libc::c_uint,
pub __writers: libc::c_uint,
pub __wrphase_futex: libc::c_uint,
pub __writers_futex: libc::c_uint,
pub __pad3: libc::c_uint,
pub __pad4: libc::c_uint,
pub __cur_writer: libc::c_int,
pub __shared: libc::c_int,
pub __rwelision: libc::c_schar,
pub __pad1: [libc::c_uchar; 7usize],
pub __pad2: libc::c_ulong,
pub __flags: libc::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_rwlock_arch_t() {
assert_eq!(
::core::mem::size_of::<__pthread_rwlock_arch_t>(),
56usize,
concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
::core::mem::align_of::<__pthread_rwlock_arch_t>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__readers)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _
as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__wrphase_futex)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _
as usize
},
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers_futex)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad3)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad4)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__cur_writer)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize
},
28usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__shared)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__rwelision)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize },
33usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad1)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad2)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__flags)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
pub __g_refs: [libc::c_uint; 2usize],
pub __g_size: [libc::c_uint; 2usize],
pub __g1_orig_size: libc::c_uint,
pub __wrefs: libc::c_uint,
pub __g_signals: [libc::c_uint; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_1 {
pub __wseq: libc::c_ulonglong,
pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
pub __low: libc::c_uint,
pub __high: libc::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
assert_eq!(
::core::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
::core::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
assert_eq!(
::core::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
);
assert_eq!(
::core::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1),
"::",
stringify!(__wseq)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_1),
"::",
stringify!(__wseq32)
)
);
}
impl ::core::fmt::Debug for __pthread_cond_s__bindgen_ty_1 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "__pthread_cond_s__bindgen_ty_1 {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_2 {
pub __g1_start: libc::c_ulonglong,
pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
_bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
pub __low: libc::c_uint,
pub __high: libc::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
assert_eq!(
::core::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
::core::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low
as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high
as *const _ as usize
},
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
assert_eq!(
::core::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
8usize,
concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
);
assert_eq!(
::core::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2),
"::",
stringify!(__g1_start)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s__bindgen_ty_2),
"::",
stringify!(__g1_start32)
)
);
}
impl ::core::fmt::Debug for __pthread_cond_s__bindgen_ty_2 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "__pthread_cond_s__bindgen_ty_2 {{ union }}")
}
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
assert_eq!(
::core::mem::size_of::<__pthread_cond_s>(),
48usize,
concat!("Size of: ", stringify!(__pthread_cond_s))
);
assert_eq!(
::core::mem::align_of::<__pthread_cond_s>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_cond_s))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_refs)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_size)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g1_orig_size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__wrefs)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_signals)
)
);
}
impl ::core::fmt::Debug for __pthread_cond_s {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write ! (f , "__pthread_cond_s {{ __bindgen_anon_1: {:?}, __bindgen_anon_2: {:?}, __g_refs: {:?}, __g_size: {:?}, __g1_orig_size: {:?}, __wrefs: {:?}, __g_signals: {:?} }}" , self . __bindgen_anon_1 , self . __bindgen_anon_2 , self . __g_refs , self . __g_size , self . __g1_orig_size , self . __wrefs , self . __g_signals)
}
}
pub type pthread_t = libc::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
pub __size: [libc::c_char; 4usize],
pub __align: libc::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
assert_eq!(
::core::mem::size_of::<pthread_mutexattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_mutexattr_t))
);
assert_eq!(
::core::mem::align_of::<pthread_mutexattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_mutexattr_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_mutexattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_mutexattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_mutexattr_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
pub __size: [libc::c_char; 4usize],
pub __align: libc::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
assert_eq!(
::core::mem::size_of::<pthread_condattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_condattr_t))
);
assert_eq!(
::core::mem::align_of::<pthread_condattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_condattr_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_condattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_condattr_t {{ union }}")
}
}
pub type pthread_key_t = libc::c_uint;
pub type pthread_once_t = libc::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
pub __size: [libc::c_char; 56usize],
pub __align: libc::c_long,
_bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
assert_eq!(
::core::mem::size_of::<pthread_attr_t>(),
56usize,
concat!("Size of: ", stringify!(pthread_attr_t))
);
assert_eq!(
::core::mem::align_of::<pthread_attr_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_attr_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_attr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_attr_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
pub __data: __pthread_mutex_s,
pub __size: [libc::c_char; 40usize],
pub __align: libc::c_long,
_bindgen_union_align: [u64; 5usize],
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
assert_eq!(
::core::mem::size_of::<pthread_mutex_t>(),
40usize,
concat!("Size of: ", stringify!(pthread_mutex_t))
);
assert_eq!(
::core::mem::align_of::<pthread_mutex_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_mutex_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_mutex_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_mutex_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
pub __data: __pthread_cond_s,
pub __size: [libc::c_char; 48usize],
pub __align: libc::c_longlong,
_bindgen_union_align: [u64; 6usize],
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
assert_eq!(
::core::mem::size_of::<pthread_cond_t>(),
48usize,
concat!("Size of: ", stringify!(pthread_cond_t))
);
assert_eq!(
::core::mem::align_of::<pthread_cond_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_cond_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_cond_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_cond_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
pub __data: __pthread_rwlock_arch_t,
pub __size: [libc::c_char; 56usize],
pub __align: libc::c_long,
_bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
assert_eq!(
::core::mem::size_of::<pthread_rwlock_t>(),
56usize,
concat!("Size of: ", stringify!(pthread_rwlock_t))
);
assert_eq!(
::core::mem::align_of::<pthread_rwlock_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_rwlock_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_rwlock_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_rwlock_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
pub __size: [libc::c_char; 8usize],
pub __align: libc::c_long,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
assert_eq!(
::core::mem::size_of::<pthread_rwlockattr_t>(),
8usize,
concat!("Size of: ", stringify!(pthread_rwlockattr_t))
);
assert_eq!(
::core::mem::align_of::<pthread_rwlockattr_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_rwlockattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_rwlockattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_rwlockattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_rwlockattr_t {{ union }}")
}
}
pub type pthread_spinlock_t = libc::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
pub __size: [libc::c_char; 32usize],
pub __align: libc::c_long,
_bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
assert_eq!(
::core::mem::size_of::<pthread_barrier_t>(),
32usize,
concat!("Size of: ", stringify!(pthread_barrier_t))
);
assert_eq!(
::core::mem::align_of::<pthread_barrier_t>(),
8usize,
concat!("Alignment of ", stringify!(pthread_barrier_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_barrier_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_barrier_t {{ union }}")
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
pub __size: [libc::c_char; 4usize],
pub __align: libc::c_int,
_bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
assert_eq!(
::core::mem::size_of::<pthread_barrierattr_t>(),
4usize,
concat!("Size of: ", stringify!(pthread_barrierattr_t))
);
assert_eq!(
::core::mem::align_of::<pthread_barrierattr_t>(),
4usize,
concat!("Alignment of ", stringify!(pthread_barrierattr_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_barrierattr_t>())).__size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<pthread_barrierattr_t>())).__align as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__align)
)
);
}
impl ::core::fmt::Debug for pthread_barrierattr_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "pthread_barrierattr_t {{ union }}")
}
}
extern "C" {
pub fn random() -> libc::c_long;
}
extern "C" {
pub fn srandom(__seed: libc::c_uint);
}
extern "C" {
pub fn initstate(
__seed: libc::c_uint,
__statebuf: *mut libc::c_char,
__statelen: usize,
) -> *mut libc::c_char;
}
extern "C" {
pub fn setstate(__statebuf: *mut libc::c_char) -> *mut libc::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct random_data {
pub fptr: *mut i32,
pub rptr: *mut i32,
pub state: *mut i32,
pub rand_type: libc::c_int,
pub rand_deg: libc::c_int,
pub rand_sep: libc::c_int,
pub end_ptr: *mut i32,
}
#[test]
fn bindgen_test_layout_random_data() {
assert_eq!(
::core::mem::size_of::<random_data>(),
48usize,
concat!("Size of: ", stringify!(random_data))
);
assert_eq!(
::core::mem::align_of::<random_data>(),
8usize,
concat!("Alignment of ", stringify!(random_data))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).fptr as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(fptr)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).rptr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rptr)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).state as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).rand_type as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rand_type)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).rand_deg as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rand_deg)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).rand_sep as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(rand_sep)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<random_data>())).end_ptr as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(random_data),
"::",
stringify!(end_ptr)
)
);
}
extern "C" {
pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> libc::c_int;
}
extern "C" {
pub fn srandom_r(__seed: libc::c_uint, __buf: *mut random_data) -> libc::c_int;
}
extern "C" {
pub fn initstate_r(
__seed: libc::c_uint,
__statebuf: *mut libc::c_char,
__statelen: usize,
__buf: *mut random_data,
) -> libc::c_int;
}
extern "C" {
pub fn setstate_r(__statebuf: *mut libc::c_char, __buf: *mut random_data) -> libc::c_int;
}
extern "C" {
pub fn rand() -> libc::c_int;
}
extern "C" {
pub fn srand(__seed: libc::c_uint);
}
extern "C" {
pub fn rand_r(__seed: *mut libc::c_uint) -> libc::c_int;
}
extern "C" {
pub fn drand48() -> f64;
}
extern "C" {
pub fn erand48(__xsubi: *mut libc::c_ushort) -> f64;
}
extern "C" {
pub fn lrand48() -> libc::c_long;
}
extern "C" {
pub fn nrand48(__xsubi: *mut libc::c_ushort) -> libc::c_long;
}
extern "C" {
pub fn mrand48() -> libc::c_long;
}
extern "C" {
pub fn jrand48(__xsubi: *mut libc::c_ushort) -> libc::c_long;
}
extern "C" {
pub fn srand48(__seedval: libc::c_long);
}
extern "C" {
pub fn seed48(__seed16v: *mut libc::c_ushort) -> *mut libc::c_ushort;
}
extern "C" {
pub fn lcong48(__param: *mut libc::c_ushort);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct drand48_data {
pub __x: [libc::c_ushort; 3usize],
pub __old_x: [libc::c_ushort; 3usize],
pub __c: libc::c_ushort,
pub __init: libc::c_ushort,
pub __a: libc::c_ulonglong,
}
#[test]
fn bindgen_test_layout_drand48_data() {
assert_eq!(
::core::mem::size_of::<drand48_data>(),
24usize,
concat!("Size of: ", stringify!(drand48_data))
);
assert_eq!(
::core::mem::align_of::<drand48_data>(),
8usize,
concat!("Alignment of ", stringify!(drand48_data))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<drand48_data>())).__x as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__x)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<drand48_data>())).__old_x as *const _ as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__old_x)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<drand48_data>())).__c as *const _ as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__c)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<drand48_data>())).__init as *const _ as usize },
14usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__init)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<drand48_data>())).__a as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(drand48_data),
"::",
stringify!(__a)
)
);
}
extern "C" {
pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> libc::c_int;
}
extern "C" {
pub fn erand48_r(
__xsubi: *mut libc::c_ushort,
__buffer: *mut drand48_data,
__result: *mut f64,
) -> libc::c_int;
}
extern "C" {
pub fn lrand48_r(__buffer: *mut drand48_data, __result: *mut libc::c_long) -> libc::c_int;
}
extern "C" {
pub fn nrand48_r(
__xsubi: *mut libc::c_ushort,
__buffer: *mut drand48_data,
__result: *mut libc::c_long,
) -> libc::c_int;
}
extern "C" {
pub fn mrand48_r(__buffer: *mut drand48_data, __result: *mut libc::c_long) -> libc::c_int;
}
extern "C" {
pub fn jrand48_r(
__xsubi: *mut libc::c_ushort,
__buffer: *mut drand48_data,
__result: *mut libc::c_long,
) -> libc::c_int;
}
extern "C" {
pub fn srand48_r(__seedval: libc::c_long, __buffer: *mut drand48_data) -> libc::c_int;
}
extern "C" {
pub fn seed48_r(__seed16v: *mut libc::c_ushort, __buffer: *mut drand48_data) -> libc::c_int;
}
extern "C" {
pub fn lcong48_r(__param: *mut libc::c_ushort, __buffer: *mut drand48_data) -> libc::c_int;
}
extern "C" {
pub fn malloc(__size: libc::c_ulong) -> *mut libc::c_void;
}
extern "C" {
pub fn calloc(__nmemb: libc::c_ulong, __size: libc::c_ulong) -> *mut libc::c_void;
}
extern "C" {
pub fn realloc(__ptr: *mut libc::c_void, __size: libc::c_ulong) -> *mut libc::c_void;
}
extern "C" {
pub fn reallocarray(
__ptr: *mut libc::c_void,
__nmemb: usize,
__size: usize,
) -> *mut libc::c_void;
}
extern "C" {
pub fn free(__ptr: *mut libc::c_void);
}
extern "C" {
pub fn valloc(__size: usize) -> *mut libc::c_void;
}
extern "C" {
pub fn posix_memalign(
__memptr: *mut *mut libc::c_void,
__alignment: usize,
__size: usize,
) -> libc::c_int;
}
extern "C" {
pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut libc::c_void;
}
extern "C" {
pub fn abort();
}
extern "C" {
pub fn atexit(__func: ::core::option::Option<unsafe extern "C" fn()>) -> libc::c_int;
}
extern "C" {
pub fn at_quick_exit(__func: ::core::option::Option<unsafe extern "C" fn()>) -> libc::c_int;
}
extern "C" {
pub fn on_exit(
__func: ::core::option::Option<
unsafe extern "C" fn(__status: libc::c_int, __arg: *mut libc::c_void),
>,
__arg: *mut libc::c_void,
) -> libc::c_int;
}
extern "C" {
pub fn exit(__status: libc::c_int);
}
extern "C" {
pub fn quick_exit(__status: libc::c_int);
}
extern "C" {
pub fn _Exit(__status: libc::c_int);
}
extern "C" {
pub fn getenv(__name: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn putenv(__string: *mut libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn setenv(
__name: *const libc::c_char,
__value: *const libc::c_char,
__replace: libc::c_int,
) -> libc::c_int;
}
extern "C" {
pub fn unsetenv(__name: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn clearenv() -> libc::c_int;
}
extern "C" {
pub fn mktemp(__template: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn mkstemp(__template: *mut libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn mkstemps(__template: *mut libc::c_char, __suffixlen: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn mkdtemp(__template: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn system(__command: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn realpath(
__name: *const libc::c_char,
__resolved: *mut libc::c_char,
) -> *mut libc::c_char;
}
pub type __compar_fn_t = ::core::option::Option<
unsafe extern "C" fn(arg1: *const libc::c_void, arg2: *const libc::c_void) -> libc::c_int,
>;
extern "C" {
pub fn bsearch(
__key: *const libc::c_void,
__base: *const libc::c_void,
__nmemb: usize,
__size: usize,
__compar: __compar_fn_t,
) -> *mut libc::c_void;
}
extern "C" {
pub fn qsort(__base: *mut libc::c_void, __nmemb: usize, __size: usize, __compar: __compar_fn_t);
}
extern "C" {
pub fn abs(__x: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn labs(__x: libc::c_long) -> libc::c_long;
}
extern "C" {
pub fn llabs(__x: libc::c_longlong) -> libc::c_longlong;
}
extern "C" {
pub fn div(__numer: libc::c_int, __denom: libc::c_int) -> div_t;
}
extern "C" {
pub fn ldiv(__numer: libc::c_long, __denom: libc::c_long) -> ldiv_t;
}
extern "C" {
pub fn lldiv(__numer: libc::c_longlong, __denom: libc::c_longlong) -> lldiv_t;
}
extern "C" {
pub fn ecvt(
__value: f64,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
) -> *mut libc::c_char;
}
extern "C" {
pub fn fcvt(
__value: f64,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
) -> *mut libc::c_char;
}
extern "C" {
pub fn gcvt(__value: f64, __ndigit: libc::c_int, __buf: *mut libc::c_char)
-> *mut libc::c_char;
}
extern "C" {
pub fn qecvt(
__value: u128,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
) -> *mut libc::c_char;
}
extern "C" {
pub fn qfcvt(
__value: u128,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
) -> *mut libc::c_char;
}
extern "C" {
pub fn qgcvt(
__value: u128,
__ndigit: libc::c_int,
__buf: *mut libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn ecvt_r(
__value: f64,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
__buf: *mut libc::c_char,
__len: usize,
) -> libc::c_int;
}
extern "C" {
pub fn fcvt_r(
__value: f64,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
__buf: *mut libc::c_char,
__len: usize,
) -> libc::c_int;
}
extern "C" {
pub fn qecvt_r(
__value: u128,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
__buf: *mut libc::c_char,
__len: usize,
) -> libc::c_int;
}
extern "C" {
pub fn qfcvt_r(
__value: u128,
__ndigit: libc::c_int,
__decpt: *mut libc::c_int,
__sign: *mut libc::c_int,
__buf: *mut libc::c_char,
__len: usize,
) -> libc::c_int;
}
extern "C" {
pub fn mblen(__s: *const libc::c_char, __n: usize) -> libc::c_int;
}
extern "C" {
pub fn mbtowc(__pwc: *mut wchar_t, __s: *const libc::c_char, __n: usize) -> libc::c_int;
}
extern "C" {
pub fn wctomb(__s: *mut libc::c_char, __wchar: wchar_t) -> libc::c_int;
}
extern "C" {
pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const libc::c_char, __n: usize) -> usize;
}
extern "C" {
pub fn wcstombs(__s: *mut libc::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
}
extern "C" {
pub fn rpmatch(__response: *const libc::c_char) -> libc::c_int;
}
extern "C" {
pub fn getsubopt(
__optionp: *mut *mut libc::c_char,
__tokens: *const *mut libc::c_char,
__valuep: *mut *mut libc::c_char,
) -> libc::c_int;
}
extern "C" {
pub fn getloadavg(__loadavg: *mut f64, __nelem: libc::c_int) -> libc::c_int;
}
pub type address_t = [u8; 20usize];
pub type bytes32_t = [u8; 32usize];
pub type wlen_t = uint_fast8_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bytes {
pub data: *mut u8,
pub len: u32,
}
#[test]
fn bindgen_test_layout_bytes() {
assert_eq!(
::core::mem::size_of::<bytes>(),
16usize,
concat!("Size of: ", stringify!(bytes))
);
assert_eq!(
::core::mem::align_of::<bytes>(),
8usize,
concat!("Alignment of ", stringify!(bytes))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<bytes>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bytes),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<bytes>())).len as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bytes),
"::",
stringify!(len)
)
);
}
pub type bytes_t = bytes;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bytes_builder_t {
pub bsize: usize,
pub b: bytes_t,
}
#[test]
fn bindgen_test_layout_bytes_builder_t() {
assert_eq!(
::core::mem::size_of::<bytes_builder_t>(),
24usize,
concat!("Size of: ", stringify!(bytes_builder_t))
);
assert_eq!(
::core::mem::align_of::<bytes_builder_t>(),
8usize,
concat!("Alignment of ", stringify!(bytes_builder_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<bytes_builder_t>())).bsize as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(bytes_builder_t),
"::",
stringify!(bsize)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<bytes_builder_t>())).b as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(bytes_builder_t),
"::",
stringify!(b)
)
);
}
extern "C" {
pub fn b_new(data: *const u8, len: u32) -> *mut bytes_t;
}
extern "C" {
pub fn b_get_data(b: *const bytes_t) -> *mut u8;
}
extern "C" {
pub fn b_get_len(b: *const bytes_t) -> u32;
}
extern "C" {
pub fn b_print(a: *const bytes_t);
}
extern "C" {
pub fn ba_print(a: *const u8, l: usize);
}
extern "C" {
pub fn b_cmp(a: *const bytes_t, b: *const bytes_t) -> libc::c_int;
}
extern "C" {
pub fn bytes_cmp(a: bytes_t, b: bytes_t) -> libc::c_int;
}
extern "C" {
pub fn b_free(a: *mut bytes_t);
}
extern "C" {
pub fn b_concat(cnt: libc::c_int, ...) -> bytes_t;
}
extern "C" {
pub fn b_dup(a: *const bytes_t) -> *mut bytes_t;
}
extern "C" {
pub fn bytes_dup(a: bytes_t) -> bytes_t;
}
extern "C" {
pub fn b_read_byte(b: *mut bytes_t, pos: *mut usize) -> u8;
}
extern "C" {
pub fn b_read_int(b: *mut bytes_t, pos: *mut usize) -> u32;
}
extern "C" {
pub fn b_read_long(b: *mut bytes_t, pos: *mut usize) -> u64;
}
extern "C" {
pub fn b_new_chars(b: *mut bytes_t, pos: *mut usize) -> *mut libc::c_char;
}
extern "C" {
pub fn b_new_fixed_bytes(b: *mut bytes_t, pos: *mut usize, len: libc::c_int) -> *mut bytes_t;
}
extern "C" {
pub fn bb_newl(l: usize) -> *mut bytes_builder_t;
}
extern "C" {
pub fn bb_free(bb: *mut bytes_builder_t);
}
extern "C" {
pub fn bb_check_size(bb: *mut bytes_builder_t, len: usize) -> libc::c_int;
}
extern "C" {
pub fn bb_write_chars(bb: *mut bytes_builder_t, c: *mut libc::c_char, len: libc::c_int);
}
extern "C" {
pub fn bb_write_dyn_bytes(bb: *mut bytes_builder_t, src: *const bytes_t);
}
extern "C" {
pub fn bb_write_fixed_bytes(bb: *mut bytes_builder_t, src: *const bytes_t);
}
extern "C" {
pub fn bb_write_int(bb: *mut bytes_builder_t, val: u32);
}
extern "C" {
pub fn bb_write_long(bb: *mut bytes_builder_t, val: u64);
}
extern "C" {
pub fn bb_write_long_be(bb: *mut bytes_builder_t, val: u64, len: libc::c_int);
}
extern "C" {
pub fn bb_write_byte(bb: *mut bytes_builder_t, val: u8);
}
extern "C" {
pub fn bb_write_raw_bytes(bb: *mut bytes_builder_t, ptr: *mut libc::c_void, len: usize);
}
extern "C" {
pub fn bb_clear(bb: *mut bytes_builder_t);
}
extern "C" {
pub fn bb_replace(
bb: *mut bytes_builder_t,
offset: libc::c_int,
delete_len: libc::c_int,
data: *mut u8,
data_len: libc::c_int,
);
}
extern "C" {
pub fn bb_move_to_bytes(bb: *mut bytes_builder_t) -> *mut bytes_t;
}
extern "C" {
pub fn bb_read_long(bb: *mut bytes_builder_t, i: *mut usize) -> u64;
}
extern "C" {
pub fn bb_read_int(bb: *mut bytes_builder_t, i: *mut usize) -> u32;
}
extern "C" {
pub fn cloned_bytes(data: bytes_t) -> bytes_t;
}
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
pub __clang_max_align_nonce1: libc::c_longlong,
pub __bindgen_padding_0: u64,
pub __clang_max_align_nonce2: u128,
}
#[test]
fn bindgen_test_layout_max_align_t() {
assert_eq!(
::core::mem::size_of::<max_align_t>(),
32usize,
concat!("Size of: ", stringify!(max_align_t))
);
assert_eq!(
::core::mem::align_of::<max_align_t>(),
16usize,
concat!("Alignment of ", stringify!(max_align_t))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(max_align_t),
"::",
stringify!(__clang_max_align_nonce1)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(max_align_t),
"::",
stringify!(__clang_max_align_nonce2)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sb {
pub data: *mut libc::c_char,
pub allocted: usize,
pub len: usize,
}
#[test]
fn bindgen_test_layout_sb() {
assert_eq!(
::core::mem::size_of::<sb>(),
24usize,
concat!("Size of: ", stringify!(sb))
);
assert_eq!(
::core::mem::align_of::<sb>(),
8usize,
concat!("Alignment of ", stringify!(sb))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sb>())).data as *const _ as usize },
0usize,
concat!("Offset of field: ", stringify!(sb), "::", stringify!(data))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sb>())).allocted as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sb),
"::",
stringify!(allocted)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sb>())).len as *const _ as usize },
16usize,
concat!("Offset of field: ", stringify!(sb), "::", stringify!(len))
);
}
pub type sb_t = sb;
extern "C" {
pub fn sb_new(chars: *const libc::c_char) -> *mut sb_t;
}
extern "C" {
pub fn sb_init(sb: *mut sb_t) -> *mut sb_t;
}
extern "C" {
pub fn sb_free(sb: *mut sb_t);
}
extern "C" {
pub fn sb_add_char(sb: *mut sb_t, c: libc::c_char) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_chars(sb: *mut sb_t, chars: *const libc::c_char) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_range(
sb: *mut sb_t,
chars: *const libc::c_char,
start: libc::c_int,
len: libc::c_int,
) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_key_value(
sb: *mut sb_t,
key: *const libc::c_char,
value: *const libc::c_char,
value_len: libc::c_int,
as_string: bool,
) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_bytes(
sb: *mut sb_t,
prefix: *const libc::c_char,
bytes: *const bytes_t,
len: libc::c_int,
as_array: bool,
) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_hexuint_l(sb: *mut sb_t, uint: uintmax_t, l: usize) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_escaped_chars(sb: *mut sb_t, chars: *const libc::c_char) -> *mut sb_t;
}
extern "C" {
pub fn sb_add_int(sb: *mut sb_t, val: u64) -> *mut sb_t;
}
extern "C" {
pub fn format_json(json: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn sb_add_rawbytes(
sb: *mut sb_t,
prefix: *mut libc::c_char,
b: bytes_t,
fix_size: libc::c_uint,
) -> *mut sb_t;
}
extern "C" {
pub fn sb_print(sb: *mut sb_t, fmt: *const libc::c_char, ...) -> *mut sb_t;
}
extern "C" {
pub fn sb_vprint(
sb: *mut sb_t,
fmt: *const libc::c_char,
args: *mut __va_list_tag,
) -> *mut sb_t;
}
pub type d_key_t = u16;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum d_type_t {
T_BYTES = 0,
T_STRING = 1,
T_ARRAY = 2,
T_OBJECT = 3,
T_BOOLEAN = 4,
T_INTEGER = 5,
T_NULL = 6,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct item {
pub data: *mut u8,
pub len: u32,
pub key: d_key_t,
}
#[test]
fn bindgen_test_layout_item() {
assert_eq!(
::core::mem::size_of::<item>(),
16usize,
concat!("Size of: ", stringify!(item))
);
assert_eq!(
::core::mem::align_of::<item>(),
8usize,
concat!("Alignment of ", stringify!(item))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<item>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(item),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<item>())).len as *const _ as usize },
8usize,
concat!("Offset of field: ", stringify!(item), "::", stringify!(len))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<item>())).key as *const _ as usize },
12usize,
concat!("Offset of field: ", stringify!(item), "::", stringify!(key))
);
}
pub type d_token_t = item;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct str_range {
pub data: *mut libc::c_char,
pub len: usize,
}
#[test]
fn bindgen_test_layout_str_range() {
assert_eq!(
::core::mem::size_of::<str_range>(),
16usize,
concat!("Size of: ", stringify!(str_range))
);
assert_eq!(
::core::mem::align_of::<str_range>(),
8usize,
concat!("Alignment of ", stringify!(str_range))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<str_range>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(str_range),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<str_range>())).len as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(str_range),
"::",
stringify!(len)
)
);
}
pub type str_range_t = str_range;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct json_parser {
pub result: *mut d_token_t,
pub c: *mut libc::c_char,
pub allocated: usize,
pub len: usize,
pub depth: usize,
pub keys: *mut u8,
pub keys_last: usize,
}
#[test]
fn bindgen_test_layout_json_parser() {
assert_eq!(
::core::mem::size_of::<json_parser>(),
56usize,
concat!("Size of: ", stringify!(json_parser))
);
assert_eq!(
::core::mem::align_of::<json_parser>(),
8usize,
concat!("Alignment of ", stringify!(json_parser))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).result as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(result)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).c as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).allocated as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(allocated)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).len as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).depth as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(depth)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).keys as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(keys)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<json_parser>())).keys_last as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(json_parser),
"::",
stringify!(keys_last)
)
);
}
pub type json_ctx_t = json_parser;
extern "C" {
pub fn d_to_bytes(item: *mut d_token_t) -> bytes_t;
}
extern "C" {
pub fn d_bytes_to(item: *mut d_token_t, dst: *mut u8, max: libc::c_int) -> libc::c_int;
}
extern "C" {
pub fn d_bytes(item: *const d_token_t) -> *mut bytes_t;
}
extern "C" {
pub fn d_bytesl(item: *mut d_token_t, l: usize) -> *mut bytes_t;
}
extern "C" {
pub fn d_string(item: *const d_token_t) -> *mut libc::c_char;
}
extern "C" {
pub fn d_int(item: *const d_token_t) -> i32;
}
extern "C" {
pub fn d_intd(item: *const d_token_t, def_val: u32) -> i32;
}
extern "C" {
pub fn d_long(item: *const d_token_t) -> u64;
}
extern "C" {
pub fn d_longd(item: *const d_token_t, def_val: u64) -> u64;
}
extern "C" {
pub fn d_create_bytes_vec(arr: *const d_token_t) -> *mut *mut bytes_t;
}
extern "C" {
pub fn d_eq(a: *const d_token_t, b: *const d_token_t) -> bool;
}
extern "C" {
pub fn keyn(c: *const libc::c_char, len: usize) -> d_key_t;
}
extern "C" {
pub fn ikey(ctx: *mut json_ctx_t, name: *const libc::c_char) -> d_key_t;
}
extern "C" {
pub fn d_get(item: *mut d_token_t, key: u16) -> *mut d_token_t;
}
extern "C" {
pub fn d_get_or(item: *mut d_token_t, key1: u16, key2: u16) -> *mut d_token_t;
}
extern "C" {
pub fn d_get_at(item: *mut d_token_t, index: u32) -> *mut d_token_t;
}
extern "C" {
pub fn d_next(item: *mut d_token_t) -> *mut d_token_t;
}
extern "C" {
pub fn d_serialize_binary(bb: *mut bytes_builder_t, t: *mut d_token_t);
}
extern "C" {
pub fn parse_binary(data: *const bytes_t) -> *mut json_ctx_t;
}
extern "C" {
pub fn parse_binary_str(data: *const libc::c_char, len: libc::c_int) -> *mut json_ctx_t;
}
extern "C" {
pub fn parse_json(js: *const libc::c_char) -> *mut json_ctx_t;
}
extern "C" {
pub fn parse_json_indexed(js: *const libc::c_char) -> *mut json_ctx_t;
}
extern "C" {
pub fn json_free(parser_ctx: *mut json_ctx_t);
}
extern "C" {
pub fn d_to_json(item: *const d_token_t) -> str_range_t;
}
extern "C" {
pub fn d_create_json(ctx: *mut json_ctx_t, item: *mut d_token_t) -> *mut libc::c_char;
}
extern "C" {
pub fn json_create() -> *mut json_ctx_t;
}
extern "C" {
pub fn json_create_null(jp: *mut json_ctx_t) -> *mut d_token_t;
}
extern "C" {
pub fn json_create_bool(jp: *mut json_ctx_t, value: bool) -> *mut d_token_t;
}
extern "C" {
pub fn json_create_int(jp: *mut json_ctx_t, value: u64) -> *mut d_token_t;
}
extern "C" {
pub fn json_create_string(
jp: *mut json_ctx_t,
value: *mut libc::c_char,
len: libc::c_int,
) -> *mut d_token_t;
}
extern "C" {
pub fn json_create_bytes(jp: *mut json_ctx_t, value: bytes_t) -> *mut d_token_t;
}
extern "C" {
pub fn json_create_object(jp: *mut json_ctx_t) -> *mut d_token_t;
}
extern "C" {
pub fn json_create_array(jp: *mut json_ctx_t) -> *mut d_token_t;
}
extern "C" {
pub fn json_object_add_prop(
object: *mut d_token_t,
key: d_key_t,
value: *mut d_token_t,
) -> *mut d_token_t;
}
extern "C" {
pub fn json_array_add_value(object: *mut d_token_t, value: *mut d_token_t) -> *mut d_token_t;
}
extern "C" {
pub fn d_get_keystr(json: *mut json_ctx_t, k: d_key_t) -> *mut libc::c_char;
}
extern "C" {
pub fn d_get_byteskl(r: *mut d_token_t, k: d_key_t, minl: u32) -> *mut bytes_t;
}
extern "C" {
pub fn d_getl(item: *mut d_token_t, k: u16, minl: u32) -> *mut d_token_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct d_iterator {
pub token: *mut d_token_t,
pub left: libc::c_int,
}
#[test]
fn bindgen_test_layout_d_iterator() {
assert_eq!(
::core::mem::size_of::<d_iterator>(),
16usize,
concat!("Size of: ", stringify!(d_iterator))
);
assert_eq!(
::core::mem::align_of::<d_iterator>(),
8usize,
concat!("Alignment of ", stringify!(d_iterator))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<d_iterator>())).token as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(d_iterator),
"::",
stringify!(token)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<d_iterator>())).left as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(d_iterator),
"::",
stringify!(left)
)
);
}
pub type d_iterator_t = d_iterator;
extern "C" {
pub fn d_iter(parent: *mut d_token_t) -> d_iterator_t;
}
pub mod in3_ret_t {
pub type Type = i32;
pub const IN3_OK: Type = 0;
pub const IN3_EUNKNOWN: Type = -1;
pub const IN3_ENOMEM: Type = -2;
pub const IN3_ENOTSUP: Type = -3;
pub const IN3_EINVAL: Type = -4;
pub const IN3_EFIND: Type = -5;
pub const IN3_ECONFIG: Type = -6;
pub const IN3_ELIMIT: Type = -7;
pub const IN3_EVERS: Type = -8;
pub const IN3_EINVALDT: Type = -9;
pub const IN3_EPASS: Type = -10;
pub const IN3_ERPC: Type = -11;
pub const IN3_ERPCNRES: Type = -12;
pub const IN3_EUSNURL: Type = -13;
pub const IN3_ETRANS: Type = -14;
pub const IN3_ERANGE: Type = -15;
pub const IN3_WAITING: Type = -16;
pub const IN3_EIGNORE: Type = -17;
pub const IN3_EPAYMENT_REQUIRED: Type = -18;
pub const IN3_ENODEVICE: Type = -19;
pub const IN3_EAPDU: Type = -20;
pub const IN3_EPLGN_NONE: Type = -21;
pub const IN3_HTTP_BAD_REQUEST: Type = -400;
pub const IN3_HTTP_UNAUTHORIZED: Type = -401;
pub const IN3_HTTP_PAYMENT_REQUIRED: Type = -402;
pub const IN3_HTTP_FORBIDDEN: Type = -403;
pub const IN3_HTTP_NOT_FOUND: Type = -404;
pub const IN3_HTTP_M_NOT_ALLOWED: Type = -405;
pub const IN3_HTTP_NOT_ACCEPTABLE: Type = -406;
pub const IN3_HTTP_PROX_AUTH_REQUIRED: Type = -407;
pub const IN3_HTTP_TIMEOUT: Type = -408;
pub const IN3_HTTP_CONFLICT: Type = -409;
pub const IN3_HTTP_GONE: Type = -410;
pub const IN3_HTTP_INTERNAL_ERROR: Type = -500;
pub const IN3_HTTP_NOT_IMPLEMENTED: Type = -501;
pub const IN3_HTTP_BAD_GATEWAY: Type = -502;
pub const IN3_HTTP_UNAVAILABLE: Type = -503;
}
extern "C" {
pub fn in3_errmsg(err: in3_ret_t::Type) -> *mut libc::c_char;
}
pub type chain_id_t = u32;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_chain_type_t {
CHAIN_ETH = 0,
CHAIN_SUBSTRATE = 1,
CHAIN_IPFS = 2,
CHAIN_BTC = 3,
CHAIN_EOS = 4,
CHAIN_IOTA = 5,
CHAIN_GENERIC = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_proof_t {
PROOF_NONE = 0,
PROOF_STANDARD = 1,
PROOF_FULL = 2,
}
pub type in3_node_props_t = u64;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_flags_type_t {
FLAGS_KEEP_IN3 = 1,
FLAGS_AUTO_UPDATE_LIST = 2,
FLAGS_INCLUDE_CODE = 4,
FLAGS_BINARY = 8,
FLAGS_HTTP = 16,
FLAGS_STATS = 32,
FLAGS_NODE_LIST_NO_SIG = 64,
FLAGS_BOOT_WEIGHTS = 128,
FLAGS_ALLOW_EXPERIMENTAL = 256,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_verified_hash {
pub block_number: u64,
pub hash: bytes32_t,
}
#[test]
fn bindgen_test_layout_in3_verified_hash() {
assert_eq!(
::core::mem::size_of::<in3_verified_hash>(),
40usize,
concat!("Size of: ", stringify!(in3_verified_hash))
);
assert_eq!(
::core::mem::align_of::<in3_verified_hash>(),
8usize,
concat!("Alignment of ", stringify!(in3_verified_hash))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_verified_hash>())).block_number as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_verified_hash),
"::",
stringify!(block_number)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_verified_hash>())).hash as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_verified_hash),
"::",
stringify!(hash)
)
);
}
pub type in3_verified_hash_t = in3_verified_hash;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_chain {
pub version: u8,
pub chain_id: chain_id_t,
pub type_: in3_chain_type_t,
pub verified_hashes: *mut in3_verified_hash_t,
}
#[test]
fn bindgen_test_layout_in3_chain() {
assert_eq!(
::core::mem::size_of::<in3_chain>(),
24usize,
concat!("Size of: ", stringify!(in3_chain))
);
assert_eq!(
::core::mem::align_of::<in3_chain>(),
8usize,
concat!("Alignment of ", stringify!(in3_chain))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_chain>())).version as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_chain),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_chain>())).chain_id as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(in3_chain),
"::",
stringify!(chain_id)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_chain>())).type_ as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_chain),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_chain>())).verified_hashes as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_chain),
"::",
stringify!(verified_hashes)
)
);
}
pub type in3_chain_t = in3_chain;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_plugin_act_t {
PLGN_ACT_INIT = 1,
PLGN_ACT_TERM = 2,
PLGN_ACT_TRANSPORT_SEND = 4,
PLGN_ACT_TRANSPORT_RECEIVE = 8,
PLGN_ACT_TRANSPORT_CLEAN = 16,
PLGN_ACT_SIGN_ACCOUNT = 32,
PLGN_ACT_SIGN_PREPARE = 64,
PLGN_ACT_SIGN = 128,
PLGN_ACT_RPC_HANDLE = 256,
PLGN_ACT_RPC_VERIFY = 512,
PLGN_ACT_CACHE_SET = 1024,
PLGN_ACT_CACHE_GET = 2048,
PLGN_ACT_CACHE_CLEAR = 4096,
PLGN_ACT_CONFIG_SET = 8192,
PLGN_ACT_CONFIG_GET = 16384,
PLGN_ACT_PAY_PREPARE = 32768,
PLGN_ACT_PAY_FOLLOWUP = 65536,
PLGN_ACT_PAY_HANDLE = 131072,
PLGN_ACT_PAY_SIGN_REQ = 262144,
PLGN_ACT_LOG_ERROR = 524288,
PLGN_ACT_NL_PICK = 1048576,
PLGN_ACT_NL_PICK_FOLLOWUP = 2097152,
PLGN_ACT_NL_BLACKLIST = 4194304,
PLGN_ACT_NL_FAILABLE = 8388608,
PLGN_ACT_NL_OFFLINE = 16777216,
PLGN_ACT_CHAIN_CHANGE = 33554432,
PLGN_ACT_GET_DATA = 67108864,
PLGN_ACT_ADD_PAYLOAD = 134217728,
}
pub type in3_plugin_t = in3_plugin;
pub type in3_plugin_act_fn = ::core::option::Option<
unsafe extern "C" fn(
plugin_data: *mut libc::c_void,
action: in3_plugin_act_t,
plugin_ctx: *mut libc::c_void,
) -> in3_ret_t::Type,
>;
pub type in3_plugin_supp_acts_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_plugin {
pub acts: in3_plugin_supp_acts_t,
pub data: *mut libc::c_void,
pub action_fn: in3_plugin_act_fn,
pub next: *mut in3_plugin_t,
}
#[test]
fn bindgen_test_layout_in3_plugin() {
assert_eq!(
::core::mem::size_of::<in3_plugin>(),
32usize,
concat!("Size of: ", stringify!(in3_plugin))
);
assert_eq!(
::core::mem::align_of::<in3_plugin>(),
8usize,
concat!("Alignment of ", stringify!(in3_plugin))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_plugin>())).acts as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_plugin),
"::",
stringify!(acts)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_plugin>())).data as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_plugin),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_plugin>())).action_fn as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_plugin),
"::",
stringify!(action_fn)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_plugin>())).next as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_plugin),
"::",
stringify!(next)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_t_ {
pub signature_count: u8,
pub replace_latest_block: u8,
pub flags: uint_fast16_t,
pub finality: u16,
pub max_attempts: uint_fast16_t,
pub max_verified_hashes: uint_fast16_t,
pub alloc_verified_hashes: uint_fast16_t,
pub pending: uint_fast16_t,
pub cache_timeout: u32,
pub timeout: u32,
pub id_count: u32,
pub plugin_acts: in3_plugin_supp_acts_t,
pub proof: in3_proof_t,
pub chain: in3_chain_t,
pub plugins: *mut in3_plugin_t,
}
#[test]
fn bindgen_test_layout_in3_t_() {
assert_eq!(
::core::mem::size_of::<in3_t_>(),
112usize,
concat!("Size of: ", stringify!(in3_t_))
);
assert_eq!(
::core::mem::align_of::<in3_t_>(),
8usize,
concat!("Alignment of ", stringify!(in3_t_))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).signature_count as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(signature_count)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).replace_latest_block as *const _ as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(replace_latest_block)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).flags as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).finality as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(finality)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).max_attempts as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(max_attempts)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).max_verified_hashes as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(max_verified_hashes)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).alloc_verified_hashes as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(alloc_verified_hashes)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).pending as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(pending)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).cache_timeout as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(cache_timeout)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).timeout as *const _ as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(timeout)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).id_count as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(id_count)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).plugin_acts as *const _ as usize },
68usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(plugin_acts)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).proof as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(proof)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).chain as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(chain)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_t_>())).plugins as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(in3_t_),
"::",
stringify!(plugins)
)
);
}
pub type in3_t = in3_t_;
extern "C" {
pub fn in3_for_chain_default(chain_id: chain_id_t) -> *mut in3_t;
}
extern "C" {
pub fn in3_client_rpc(
c: *mut in3_t,
method: *const libc::c_char,
params: *const libc::c_char,
result: *mut *mut libc::c_char,
error: *mut *mut libc::c_char,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_client_rpc_raw(
c: *mut in3_t,
request: *const libc::c_char,
result: *mut *mut libc::c_char,
error: *mut *mut libc::c_char,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_client_exec_req(c: *mut in3_t, req: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn in3_client_register_chain(
client: *mut in3_t,
chain_id: chain_id_t,
type_: in3_chain_type_t,
version: u8,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_free(a: *mut in3_t);
}
extern "C" {
pub fn in3_configure(c: *mut in3_t, config: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn in3_get_config(c: *mut in3_t) -> *mut libc::c_char;
}
pub type plgn_register =
::core::option::Option<unsafe extern "C" fn(c: *mut in3_t) -> in3_ret_t::Type>;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum cache_props {
CACHE_PROP_MUST_FREE = 1,
CACHE_PROP_SRC_REQ = 2,
CACHE_PROP_ONLY_EXTERNAL = 4,
CACHE_PROP_PAYMENT = 128,
}
pub use self::cache_props as cache_props_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cache_entry {
pub key: bytes_t,
pub value: bytes_t,
pub buffer: [u8; 4usize],
pub props: cache_props_t,
pub next: *mut cache_entry,
}
#[test]
fn bindgen_test_layout_cache_entry() {
assert_eq!(
::core::mem::size_of::<cache_entry>(),
48usize,
concat!("Size of: ", stringify!(cache_entry))
);
assert_eq!(
::core::mem::align_of::<cache_entry>(),
8usize,
concat!("Alignment of ", stringify!(cache_entry))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<cache_entry>())).key as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(cache_entry),
"::",
stringify!(key)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<cache_entry>())).value as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(cache_entry),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<cache_entry>())).buffer as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(cache_entry),
"::",
stringify!(buffer)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<cache_entry>())).props as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(cache_entry),
"::",
stringify!(props)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<cache_entry>())).next as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(cache_entry),
"::",
stringify!(next)
)
);
}
pub type cache_entry_t = cache_entry;
extern "C" {
pub fn in3_cache_get_entry(cache: *mut cache_entry_t, key: *mut bytes_t) -> *mut bytes_t;
}
extern "C" {
pub fn in3_cache_add_entry(
cache: *mut *mut cache_entry_t,
key: bytes_t,
value: bytes_t,
) -> *mut cache_entry_t;
}
extern "C" {
pub fn in3_cache_free(cache: *mut cache_entry_t, is_external: bool);
}
extern "C" {
pub fn __assert_fail(
__assertion: *const libc::c_char,
__file: *const libc::c_char,
__line: libc::c_uint,
__function: *const libc::c_char,
);
}
extern "C" {
pub fn __assert_perror_fail(
__errnum: libc::c_int,
__file: *const libc::c_char,
__line: libc::c_uint,
__function: *const libc::c_char,
);
}
extern "C" {
pub fn __assert(
__assertion: *const libc::c_char,
__file: *const libc::c_char,
__line: libc::c_int,
);
}
extern "C" {
pub fn bytes_to_long(data: *const u8, len: libc::c_int) -> u64;
}
extern "C" {
pub fn char_to_long(a: *const libc::c_char, l: libc::c_int) -> u64;
}
extern "C" {
pub fn hexchar_to_int(c: libc::c_char) -> u8;
}
extern "C" {
pub fn hex_to_bytes(
hexdata: *const libc::c_char,
hexlen: libc::c_int,
out: *mut u8,
outlen: libc::c_int,
) -> libc::c_int;
}
extern "C" {
pub fn hex_to_new_bytes(buf: *const libc::c_char, len: libc::c_int) -> *mut bytes_t;
}
extern "C" {
pub fn bytes_to_hex(buffer: *const u8, len: libc::c_int, out: *mut libc::c_char)
-> libc::c_int;
}
extern "C" {
pub fn keccak(data: bytes_t, dst: *mut libc::c_void) -> libc::c_int;
}
extern "C" {
pub fn long_to_bytes(val: u64, dst: *mut u8);
}
extern "C" {
pub fn int_to_bytes(val: u32, dst: *mut u8);
}
extern "C" {
pub fn _strdupn(src: *const libc::c_char, len: libc::c_int) -> *mut libc::c_char;
}
extern "C" {
pub fn min_bytes_len(val: u64) -> libc::c_int;
}
extern "C" {
pub fn uint256_set(src: *const u8, src_len: wlen_t, dst: *mut u8);
}
extern "C" {
pub fn str_replace(
orig: *mut libc::c_char,
rep: *const libc::c_char,
with: *const libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn str_replace_pos(
orig: *mut libc::c_char,
pos: usize,
len: usize,
rep: *const libc::c_char,
) -> *mut libc::c_char;
}
extern "C" {
pub fn str_find(haystack: *mut libc::c_char, needle: *const libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn str_remove_html(data: *mut libc::c_char) -> *mut libc::c_char;
}
extern "C" {
pub fn current_ms() -> u64;
}
pub type time_func = ::core::option::Option<unsafe extern "C" fn(t: *mut libc::c_void) -> u64>;
extern "C" {
pub fn in3_set_func_time(fn_: time_func);
}
extern "C" {
pub fn in3_time(t: *mut libc::c_void) -> u64;
}
pub type rand_func =
::core::option::Option<unsafe extern "C" fn(s: *mut libc::c_void) -> libc::c_int>;
extern "C" {
pub fn in3_set_func_rand(fn_: rand_func);
}
extern "C" {
pub fn in3_rand(s: *mut libc::c_void) -> libc::c_int;
}
pub type srand_func = ::core::option::Option<unsafe extern "C" fn(s: libc::c_uint)>;
extern "C" {
pub fn in3_set_func_srand(fn_: srand_func);
}
extern "C" {
pub fn in3_srand(s: libc::c_uint);
}
extern "C" {
pub fn in3_sleep(ms: u32);
}
extern "C" {
pub fn parse_float_val(data: *const libc::c_char, expo: i32) -> i64;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum ctx_type {
RT_RPC = 0,
RT_SIGN = 1,
}
pub use self::ctx_type as req_type_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct weight {
pub index: libc::c_uint,
pub s: u32,
pub w: u32,
pub url: *mut libc::c_char,
pub address: address_t,
pub next: *mut weight,
}
#[test]
fn bindgen_test_layout_weight() {
assert_eq!(
::core::mem::size_of::<weight>(),
56usize,
concat!("Size of: ", stringify!(weight))
);
assert_eq!(
::core::mem::align_of::<weight>(),
8usize,
concat!("Alignment of ", stringify!(weight))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<weight>())).index as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(weight),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<weight>())).s as *const _ as usize },
4usize,
concat!("Offset of field: ", stringify!(weight), "::", stringify!(s))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<weight>())).w as *const _ as usize },
8usize,
concat!("Offset of field: ", stringify!(weight), "::", stringify!(w))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<weight>())).url as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(weight),
"::",
stringify!(url)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<weight>())).address as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(weight),
"::",
stringify!(address)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<weight>())).next as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(weight),
"::",
stringify!(next)
)
);
}
pub type node_match_t = weight;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_response {
pub time: u32,
pub state: in3_ret_t::Type,
pub data: sb_t,
}
#[test]
fn bindgen_test_layout_in3_response() {
assert_eq!(
::core::mem::size_of::<in3_response>(),
32usize,
concat!("Size of: ", stringify!(in3_response))
);
assert_eq!(
::core::mem::align_of::<in3_response>(),
8usize,
concat!("Alignment of ", stringify!(in3_response))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_response>())).time as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_response),
"::",
stringify!(time)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_response>())).state as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(in3_response),
"::",
stringify!(state)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_response>())).data as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_response),
"::",
stringify!(data)
)
);
}
pub type in3_response_t = in3_response;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_req {
pub signers_length: uint_fast8_t,
pub len: uint_fast16_t,
pub attempt: uint_fast16_t,
pub id: u32,
pub type_: req_type_t,
pub verification_state: in3_ret_t::Type,
pub error: *mut libc::c_char,
pub request_context: *mut json_ctx_t,
pub response_context: *mut json_ctx_t,
pub requests: *mut *mut d_token_t,
pub responses: *mut *mut d_token_t,
pub raw_response: *mut in3_response_t,
pub signers: *mut u8,
pub nodes: *mut node_match_t,
pub cache: *mut cache_entry_t,
pub required: *mut in3_req,
pub client: *mut in3_t,
}
#[test]
fn bindgen_test_layout_in3_req() {
assert_eq!(
::core::mem::size_of::<in3_req>(),
128usize,
concat!("Size of: ", stringify!(in3_req))
);
assert_eq!(
::core::mem::align_of::<in3_req>(),
8usize,
concat!("Alignment of ", stringify!(in3_req))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).signers_length as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(signers_length)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).len as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).attempt as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(attempt)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).id as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).type_ as *const _ as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).verification_state as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(verification_state)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).error as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(error)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).request_context as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(request_context)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).response_context as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(response_context)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).requests as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(requests)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).responses as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(responses)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).raw_response as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(raw_response)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).signers as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(signers)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).nodes as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(nodes)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).cache as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(cache)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).required as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(required)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req>())).client as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(in3_req),
"::",
stringify!(client)
)
);
}
pub type in3_req_t = in3_req;
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum state {
REQ_SUCCESS = 0,
REQ_WAITING_TO_SEND = 1,
REQ_WAITING_FOR_RESPONSE = 2,
REQ_ERROR = -1,
}
pub use self::state as in3_req_state_t;
extern "C" {
pub fn req_new(client: *mut in3_t, req_data: *const libc::c_char) -> *mut in3_req_t;
}
extern "C" {
pub fn in3_send_req(req: *mut in3_req_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_req_last_waiting(req: *mut in3_req_t) -> *mut in3_req_t;
}
extern "C" {
pub fn in3_req_exec_state(req: *mut in3_req_t) -> in3_req_state_t;
}
extern "C" {
pub fn in3_req_execute(req: *mut in3_req_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_req_state(req: *mut in3_req_t) -> in3_req_state_t;
}
extern "C" {
pub fn req_get_error_data(req: *mut in3_req_t) -> *mut libc::c_char;
}
extern "C" {
pub fn req_get_response_data(req: *mut in3_req_t) -> *mut libc::c_char;
}
extern "C" {
pub fn req_get_type(req: *mut in3_req_t) -> req_type_t;
}
extern "C" {
pub fn req_free(req: *mut in3_req_t);
}
extern "C" {
pub fn req_add_required(parent: *mut in3_req_t, req: *mut in3_req_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn req_find_required(
parent: *const in3_req_t,
method: *const libc::c_char,
) -> *mut in3_req_t;
}
extern "C" {
pub fn req_remove_required(
parent: *mut in3_req_t,
req: *mut in3_req_t,
rec: bool,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn req_check_response_error(c: *mut in3_req_t, i: libc::c_int) -> in3_ret_t::Type;
}
extern "C" {
pub fn req_get_error(req: *mut in3_req_t, id: libc::c_int) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_client_rpc_ctx_raw(c: *mut in3_t, request: *const libc::c_char) -> *mut in3_req_t;
}
extern "C" {
pub fn in3_client_rpc_ctx(
c: *mut in3_t,
method: *const libc::c_char,
params: *const libc::c_char,
) -> *mut in3_req_t;
}
extern "C" {
pub fn in3_req_get_proof(req: *mut in3_req_t, i: libc::c_int) -> in3_proof_t;
}
extern "C" {
pub fn in3_plugin_register(
c: *mut in3_t,
acts: in3_plugin_supp_acts_t,
action_fn: in3_plugin_act_fn,
data: *mut libc::c_void,
replace_ex: bool,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_register_default(reg_fn: plgn_register);
}
extern "C" {
pub fn in3_plugin_execute_all(
c: *mut in3_t,
action: in3_plugin_act_t,
plugin_ctx: *mut libc::c_void,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_plugin_execute_first(
req: *mut in3_req_t,
action: in3_plugin_act_t,
plugin_ctx: *mut libc::c_void,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_plugin_execute_first_or_none(
req: *mut in3_req_t,
action: in3_plugin_act_t,
plugin_ctx: *mut libc::c_void,
) -> in3_ret_t::Type;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_rpc_handle_ctx_t {
pub req: *mut in3_req_t,
pub request: *mut d_token_t,
pub response: *mut *mut in3_response_t,
pub method: *mut libc::c_char,
pub params: *mut d_token_t,
}
#[test]
fn bindgen_test_layout_in3_rpc_handle_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_rpc_handle_ctx_t>(),
40usize,
concat!("Size of: ", stringify!(in3_rpc_handle_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_rpc_handle_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_rpc_handle_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_rpc_handle_ctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_rpc_handle_ctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_rpc_handle_ctx_t>())).request as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_rpc_handle_ctx_t),
"::",
stringify!(request)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_rpc_handle_ctx_t>())).response as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_rpc_handle_ctx_t),
"::",
stringify!(response)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_rpc_handle_ctx_t>())).method as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_rpc_handle_ctx_t),
"::",
stringify!(method)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_rpc_handle_ctx_t>())).params as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(in3_rpc_handle_ctx_t),
"::",
stringify!(params)
)
);
}
extern "C" {
pub fn in3_rpc_handle_start(hctx: *mut in3_rpc_handle_ctx_t) -> *mut sb_t;
}
extern "C" {
pub fn in3_rpc_handle_finish(hctx: *mut in3_rpc_handle_ctx_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_rpc_handle_with_bytes(
hctx: *mut in3_rpc_handle_ctx_t,
data: bytes_t,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_rpc_handle_with_string(
hctx: *mut in3_rpc_handle_ctx_t,
data: *mut libc::c_char,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_rpc_handle_with_int(hctx: *mut in3_rpc_handle_ctx_t, value: u64) -> in3_ret_t::Type;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_req_header {
pub value: *mut libc::c_char,
pub next: *mut in3_req_header,
}
#[test]
fn bindgen_test_layout_in3_req_header() {
assert_eq!(
::core::mem::size_of::<in3_req_header>(),
16usize,
concat!("Size of: ", stringify!(in3_req_header))
);
assert_eq!(
::core::mem::align_of::<in3_req_header>(),
8usize,
concat!("Alignment of ", stringify!(in3_req_header))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req_header>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_req_header),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_req_header>())).next as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_req_header),
"::",
stringify!(next)
)
);
}
pub type in3_req_header_t = in3_req_header;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_http_request {
pub method: *mut libc::c_char,
pub payload: *mut libc::c_char,
pub urls: *mut *mut libc::c_char,
pub urls_len: uint_fast16_t,
pub payload_len: u32,
pub req: *mut in3_req,
pub cptr: *mut libc::c_void,
pub wait: u32,
pub headers: *mut in3_req_header_t,
}
#[test]
fn bindgen_test_layout_in3_http_request() {
assert_eq!(
::core::mem::size_of::<in3_http_request>(),
72usize,
concat!("Size of: ", stringify!(in3_http_request))
);
assert_eq!(
::core::mem::align_of::<in3_http_request>(),
8usize,
concat!("Alignment of ", stringify!(in3_http_request))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).method as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(method)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).payload as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(payload)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).urls as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(urls)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).urls_len as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(urls_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).payload_len as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(payload_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).req as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).cptr as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(cptr)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).wait as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(wait)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_http_request>())).headers as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(in3_http_request),
"::",
stringify!(headers)
)
);
}
pub type in3_http_request_t = in3_http_request;
extern "C" {
pub fn in3_get_request_payload(request: *mut in3_http_request_t) -> *mut libc::c_char;
}
extern "C" {
pub fn in3_get_request_payload_len(request: *mut in3_http_request_t) -> u32;
}
extern "C" {
pub fn in3_get_request_headers_len(request: *mut in3_http_request_t) -> libc::c_int;
}
extern "C" {
pub fn in3_get_request_headers_at(
request: *mut in3_http_request_t,
index: libc::c_int,
) -> *mut libc::c_char;
}
extern "C" {
pub fn in3_get_request_method(request: *mut in3_http_request_t) -> *mut libc::c_char;
}
extern "C" {
pub fn in3_get_request_urls(request: *mut in3_http_request_t) -> *mut *mut libc::c_char;
}
extern "C" {
pub fn in3_get_request_urls_len(request: *mut in3_http_request_t) -> libc::c_int;
}
extern "C" {
pub fn in3_get_request_timeout(request: *mut in3_http_request_t) -> u32;
}
extern "C" {
pub fn in3_req_add_response(
req: *mut in3_http_request_t,
index: libc::c_int,
error: libc::c_int,
data: *const libc::c_char,
data_len: libc::c_int,
time: u32,
);
}
extern "C" {
pub fn in3_ctx_add_response(
req: *mut in3_req_t,
index: libc::c_int,
error: libc::c_int,
data: *const libc::c_char,
data_len: libc::c_int,
time: u32,
);
}
pub type in3_transport_legacy = ::core::option::Option<
unsafe extern "C" fn(request: *mut in3_http_request_t) -> in3_ret_t::Type,
>;
extern "C" {
pub fn in3_set_default_legacy_transport(transport: in3_transport_legacy);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_signer_type_t {
SIGNER_ECDSA = 1,
SIGNER_EIP1271 = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sign_account_ctx {
pub req: *mut in3_req,
pub accounts: *mut u8,
pub accounts_len: libc::c_int,
pub signer_type: in3_signer_type_t,
}
#[test]
fn bindgen_test_layout_sign_account_ctx() {
assert_eq!(
::core::mem::size_of::<sign_account_ctx>(),
24usize,
concat!("Size of: ", stringify!(sign_account_ctx))
);
assert_eq!(
::core::mem::align_of::<sign_account_ctx>(),
8usize,
concat!("Alignment of ", stringify!(sign_account_ctx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_account_ctx>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sign_account_ctx),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_account_ctx>())).accounts as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sign_account_ctx),
"::",
stringify!(accounts)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_account_ctx>())).accounts_len as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(sign_account_ctx),
"::",
stringify!(accounts_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_account_ctx>())).signer_type as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(sign_account_ctx),
"::",
stringify!(signer_type)
)
);
}
pub type in3_sign_account_ctx_t = sign_account_ctx;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sign_prepare_ctx {
pub req: *mut in3_req,
pub account: address_t,
pub old_tx: bytes_t,
pub new_tx: bytes_t,
}
#[test]
fn bindgen_test_layout_sign_prepare_ctx() {
assert_eq!(
::core::mem::size_of::<sign_prepare_ctx>(),
64usize,
concat!("Size of: ", stringify!(sign_prepare_ctx))
);
assert_eq!(
::core::mem::align_of::<sign_prepare_ctx>(),
8usize,
concat!("Alignment of ", stringify!(sign_prepare_ctx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_prepare_ctx>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sign_prepare_ctx),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_prepare_ctx>())).account as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(sign_prepare_ctx),
"::",
stringify!(account)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_prepare_ctx>())).old_tx as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(sign_prepare_ctx),
"::",
stringify!(old_tx)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_prepare_ctx>())).new_tx as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(sign_prepare_ctx),
"::",
stringify!(new_tx)
)
);
}
pub type in3_sign_prepare_ctx_t = sign_prepare_ctx;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum d_signature_type_t {
SIGN_EC_RAW = 0,
SIGN_EC_HASH = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sign_ctx {
pub signature: bytes_t,
pub type_: d_signature_type_t,
pub req: *mut in3_req,
pub message: bytes_t,
pub account: bytes_t,
}
#[test]
fn bindgen_test_layout_sign_ctx() {
assert_eq!(
::core::mem::size_of::<sign_ctx>(),
64usize,
concat!("Size of: ", stringify!(sign_ctx))
);
assert_eq!(
::core::mem::align_of::<sign_ctx>(),
8usize,
concat!("Alignment of ", stringify!(sign_ctx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_ctx>())).signature as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(sign_ctx),
"::",
stringify!(signature)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_ctx>())).type_ as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(sign_ctx),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_ctx>())).req as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(sign_ctx),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_ctx>())).message as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(sign_ctx),
"::",
stringify!(message)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<sign_ctx>())).account as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(sign_ctx),
"::",
stringify!(account)
)
);
}
pub type in3_sign_ctx_t = sign_ctx;
extern "C" {
pub fn in3_sign_ctx_get_message(ctx: *mut in3_sign_ctx_t) -> bytes_t;
}
extern "C" {
pub fn in3_sign_ctx_get_account(ctx: *mut in3_sign_ctx_t) -> bytes_t;
}
extern "C" {
pub fn in3_sign_ctx_set_signature_hex(ctx: *mut in3_sign_ctx_t, signature: *const libc::c_char);
}
extern "C" {
pub fn create_sign_ctx(req: *mut in3_req_t) -> *mut in3_sign_ctx_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_configure_ctx {
pub client: *mut in3_t,
pub json: *mut json_ctx_t,
pub token: *mut d_token_t,
pub error_msg: *mut libc::c_char,
}
#[test]
fn bindgen_test_layout_in3_configure_ctx() {
assert_eq!(
::core::mem::size_of::<in3_configure_ctx>(),
32usize,
concat!("Size of: ", stringify!(in3_configure_ctx))
);
assert_eq!(
::core::mem::align_of::<in3_configure_ctx>(),
8usize,
concat!("Alignment of ", stringify!(in3_configure_ctx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_configure_ctx>())).client as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_configure_ctx),
"::",
stringify!(client)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_configure_ctx>())).json as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_configure_ctx),
"::",
stringify!(json)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_configure_ctx>())).token as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_configure_ctx),
"::",
stringify!(token)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_configure_ctx>())).error_msg as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_configure_ctx),
"::",
stringify!(error_msg)
)
);
}
pub type in3_configure_ctx_t = in3_configure_ctx;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_get_config_ctx {
pub client: *mut in3_t,
pub sb: *mut sb_t,
}
#[test]
fn bindgen_test_layout_in3_get_config_ctx() {
assert_eq!(
::core::mem::size_of::<in3_get_config_ctx>(),
16usize,
concat!("Size of: ", stringify!(in3_get_config_ctx))
);
assert_eq!(
::core::mem::align_of::<in3_get_config_ctx>(),
8usize,
concat!("Alignment of ", stringify!(in3_get_config_ctx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_get_config_ctx>())).client as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_get_config_ctx),
"::",
stringify!(client)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_get_config_ctx>())).sb as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_get_config_ctx),
"::",
stringify!(sb)
)
);
}
pub type in3_get_config_ctx_t = in3_get_config_ctx;
pub type in3_storage_get_item = ::core::option::Option<
unsafe extern "C" fn(cptr: *mut libc::c_void, key: *const libc::c_char) -> *mut bytes_t,
>;
pub type in3_storage_set_item = ::core::option::Option<
unsafe extern "C" fn(cptr: *mut libc::c_void, key: *const libc::c_char, value: *mut bytes_t),
>;
pub type in3_storage_clear = ::core::option::Option<unsafe extern "C" fn(cptr: *mut libc::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_cache_ctx {
pub req: *mut in3_req_t,
pub key: *mut libc::c_char,
pub content: *mut bytes_t,
}
#[test]
fn bindgen_test_layout_in3_cache_ctx() {
assert_eq!(
::core::mem::size_of::<in3_cache_ctx>(),
24usize,
concat!("Size of: ", stringify!(in3_cache_ctx))
);
assert_eq!(
::core::mem::align_of::<in3_cache_ctx>(),
8usize,
concat!("Alignment of ", stringify!(in3_cache_ctx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_cache_ctx>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_cache_ctx),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_cache_ctx>())).key as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_cache_ctx),
"::",
stringify!(key)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_cache_ctx>())).content as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_cache_ctx),
"::",
stringify!(content)
)
);
}
pub type in3_cache_ctx_t = in3_cache_ctx;
extern "C" {
pub fn in3_set_storage_handler(
c: *mut in3_t,
get_item: in3_storage_get_item,
set_item: in3_storage_set_item,
clear: in3_storage_clear,
cptr: *mut libc::c_void,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_vctx_t {
pub req: *mut in3_req_t,
pub chain: *mut in3_chain_t,
pub result: *mut d_token_t,
pub request: *mut d_token_t,
pub proof: *mut d_token_t,
pub client: *mut in3_t,
pub last_validator_change: u64,
pub currentBlock: u64,
pub index: libc::c_int,
pub node: *mut node_match_t,
pub dont_blacklist: bool,
pub method: *mut libc::c_char,
}
#[test]
fn bindgen_test_layout_in3_vctx_t() {
assert_eq!(
::core::mem::size_of::<in3_vctx_t>(),
96usize,
concat!("Size of: ", stringify!(in3_vctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_vctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_vctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).chain as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(chain)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).result as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(result)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).request as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(request)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).proof as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(proof)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).client as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(client)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_vctx_t>())).last_validator_change as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(last_validator_change)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).currentBlock as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(currentBlock)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).index as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).node as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(node)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).dont_blacklist as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(dont_blacklist)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_vctx_t>())).method as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(in3_vctx_t),
"::",
stringify!(method)
)
);
}
extern "C" {
pub fn vc_set_error(vc: *mut in3_vctx_t, msg: *mut libc::c_char) -> in3_ret_t::Type;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_pay_followup_ctx_t {
pub req: *mut in3_req_t,
pub node: *mut node_match_t,
pub resp_in3: *mut d_token_t,
pub resp_error: *mut d_token_t,
}
#[test]
fn bindgen_test_layout_in3_pay_followup_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_pay_followup_ctx_t>(),
32usize,
concat!("Size of: ", stringify!(in3_pay_followup_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_pay_followup_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_pay_followup_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_followup_ctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_followup_ctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_followup_ctx_t>())).node as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_followup_ctx_t),
"::",
stringify!(node)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_pay_followup_ctx_t>())).resp_in3 as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_followup_ctx_t),
"::",
stringify!(resp_in3)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_pay_followup_ctx_t>())).resp_error as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_followup_ctx_t),
"::",
stringify!(resp_error)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_pay_handle_ctx_t {
pub req: *mut in3_req_t,
pub payload: *mut sb_t,
pub pk: bytes32_t,
}
#[test]
fn bindgen_test_layout_in3_pay_handle_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_pay_handle_ctx_t>(),
48usize,
concat!("Size of: ", stringify!(in3_pay_handle_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_pay_handle_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_pay_handle_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_handle_ctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_handle_ctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_handle_ctx_t>())).payload as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_handle_ctx_t),
"::",
stringify!(payload)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_handle_ctx_t>())).pk as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_handle_ctx_t),
"::",
stringify!(pk)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct in3_pay_sign_req_ctx_t {
pub req: *mut in3_req_t,
pub request: *mut d_token_t,
pub request_hash: bytes32_t,
pub signature: [u8; 65usize],
}
#[test]
fn bindgen_test_layout_in3_pay_sign_req_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_pay_sign_req_ctx_t>(),
120usize,
concat!("Size of: ", stringify!(in3_pay_sign_req_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_pay_sign_req_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_pay_sign_req_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_sign_req_ctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_sign_req_ctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_sign_req_ctx_t>())).request as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_sign_req_ctx_t),
"::",
stringify!(request)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_pay_sign_req_ctx_t>())).request_hash as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_sign_req_ctx_t),
"::",
stringify!(request_hash)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_pay_sign_req_ctx_t>())).signature as *const _ as usize
},
48usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_sign_req_ctx_t),
"::",
stringify!(signature)
)
);
}
impl ::core::fmt::Debug for in3_pay_sign_req_ctx_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write ! (f , "in3_pay_sign_req_ctx_t {{ req: {:?}, request: {:?}, request_hash: [...], signature: [...] }}" , self . req , self . request)
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_pay_payload_ctx_t {
pub req: *mut in3_req_t,
pub request: *mut d_token_t,
pub sb: *mut sb_t,
}
#[test]
fn bindgen_test_layout_in3_pay_payload_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_pay_payload_ctx_t>(),
24usize,
concat!("Size of: ", stringify!(in3_pay_payload_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_pay_payload_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_pay_payload_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_payload_ctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_payload_ctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_payload_ctx_t>())).request as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_payload_ctx_t),
"::",
stringify!(request)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_pay_payload_ctx_t>())).sb as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_pay_payload_ctx_t),
"::",
stringify!(sb)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct error_log_ctx_t {
pub msg: *mut libc::c_char,
pub error: u16,
pub req: *mut in3_req_t,
}
#[test]
fn bindgen_test_layout_error_log_ctx_t() {
assert_eq!(
::core::mem::size_of::<error_log_ctx_t>(),
24usize,
concat!("Size of: ", stringify!(error_log_ctx_t))
);
assert_eq!(
::core::mem::align_of::<error_log_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(error_log_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<error_log_ctx_t>())).msg as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(error_log_ctx_t),
"::",
stringify!(msg)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<error_log_ctx_t>())).error as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(error_log_ctx_t),
"::",
stringify!(error)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<error_log_ctx_t>())).req as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(error_log_ctx_t),
"::",
stringify!(req)
)
);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_nl_pick_type_t {
NL_DATA = 0,
NL_SIGNER = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_nl_pick_ctx_t {
pub type_: in3_nl_pick_type_t,
pub req: *mut in3_req_t,
}
#[test]
fn bindgen_test_layout_in3_nl_pick_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_nl_pick_ctx_t>(),
16usize,
concat!("Size of: ", stringify!(in3_nl_pick_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_nl_pick_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_nl_pick_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_pick_ctx_t>())).type_ as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_pick_ctx_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_pick_ctx_t>())).req as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_pick_ctx_t),
"::",
stringify!(req)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_nl_followup_ctx_t {
pub req: *mut in3_req_t,
pub node: *mut node_match_t,
}
#[test]
fn bindgen_test_layout_in3_nl_followup_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_nl_followup_ctx_t>(),
16usize,
concat!("Size of: ", stringify!(in3_nl_followup_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_nl_followup_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_nl_followup_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_followup_ctx_t>())).req as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_followup_ctx_t),
"::",
stringify!(req)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_followup_ctx_t>())).node as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_followup_ctx_t),
"::",
stringify!(node)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct in3_nl_blacklist_ctx_t {
pub __bindgen_anon_1: in3_nl_blacklist_ctx_t__bindgen_ty_1,
pub is_addr: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union in3_nl_blacklist_ctx_t__bindgen_ty_1 {
pub address: *mut u8,
pub url: *const libc::c_char,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_in3_nl_blacklist_ctx_t__bindgen_ty_1() {
assert_eq!(
::core::mem::size_of::<in3_nl_blacklist_ctx_t__bindgen_ty_1>(),
8usize,
concat!(
"Size of: ",
stringify!(in3_nl_blacklist_ctx_t__bindgen_ty_1)
)
);
assert_eq!(
::core::mem::align_of::<in3_nl_blacklist_ctx_t__bindgen_ty_1>(),
8usize,
concat!(
"Alignment of ",
stringify!(in3_nl_blacklist_ctx_t__bindgen_ty_1)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_nl_blacklist_ctx_t__bindgen_ty_1>())).address as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_blacklist_ctx_t__bindgen_ty_1),
"::",
stringify!(address)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<in3_nl_blacklist_ctx_t__bindgen_ty_1>())).url as *const _
as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_blacklist_ctx_t__bindgen_ty_1),
"::",
stringify!(url)
)
);
}
impl ::core::fmt::Debug for in3_nl_blacklist_ctx_t__bindgen_ty_1 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "in3_nl_blacklist_ctx_t__bindgen_ty_1 {{ union }}")
}
}
#[test]
fn bindgen_test_layout_in3_nl_blacklist_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_nl_blacklist_ctx_t>(),
16usize,
concat!("Size of: ", stringify!(in3_nl_blacklist_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_nl_blacklist_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_nl_blacklist_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_blacklist_ctx_t>())).is_addr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_blacklist_ctx_t),
"::",
stringify!(is_addr)
)
);
}
impl ::core::fmt::Debug for in3_nl_blacklist_ctx_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"in3_nl_blacklist_ctx_t {{ __bindgen_anon_1: {:?}, is_addr: {:?} }}",
self.__bindgen_anon_1, self.is_addr
)
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_nl_offline_ctx_t {
pub vctx: *mut in3_vctx_t,
pub missing: libc::c_uint,
}
#[test]
fn bindgen_test_layout_in3_nl_offline_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_nl_offline_ctx_t>(),
16usize,
concat!("Size of: ", stringify!(in3_nl_offline_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_nl_offline_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_nl_offline_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_offline_ctx_t>())).vctx as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_offline_ctx_t),
"::",
stringify!(vctx)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_nl_offline_ctx_t>())).missing as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_nl_offline_ctx_t),
"::",
stringify!(missing)
)
);
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_get_data_type_t {
GET_DATA_REGISTRY_ID = 0,
GET_DATA_NODE_MIN_BLK_HEIGHT = 1,
GET_DATA_CLIENT_DATA = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct in3_get_data_ctx_t {
pub type_: in3_get_data_type_t,
pub data: *mut libc::c_void,
pub cleanup: ::core::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
}
#[test]
fn bindgen_test_layout_in3_get_data_ctx_t() {
assert_eq!(
::core::mem::size_of::<in3_get_data_ctx_t>(),
24usize,
concat!("Size of: ", stringify!(in3_get_data_ctx_t))
);
assert_eq!(
::core::mem::align_of::<in3_get_data_ctx_t>(),
8usize,
concat!("Alignment of ", stringify!(in3_get_data_ctx_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_get_data_ctx_t>())).type_ as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(in3_get_data_ctx_t),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_get_data_ctx_t>())).data as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(in3_get_data_ctx_t),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<in3_get_data_ctx_t>())).cleanup as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(in3_get_data_ctx_t),
"::",
stringify!(cleanup)
)
);
}
extern "C" {
pub fn in3_create_request(req: *mut in3_req_t) -> *mut in3_http_request_t;
}
extern "C" {
pub fn request_free(req: *mut in3_http_request_t);
}
extern "C" {
pub fn req_set_error_intern(
c: *mut in3_req_t,
msg: *mut libc::c_char,
errnumber: in3_ret_t::Type,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn req_handle_failable(req: *mut in3_req_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn req_send_sub_request(
parent: *mut in3_req_t,
method: *mut libc::c_char,
params: *mut libc::c_char,
in3: *mut libc::c_char,
result: *mut *mut d_token_t,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn req_require_signature(
req: *mut in3_req_t,
type_: d_signature_type_t,
sig: *mut bytes_t,
raw_data: bytes_t,
from: bytes_t,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_retry_same_node(req: *mut in3_req_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_req_free_nodes(c: *mut node_match_t);
}
extern "C" {
pub fn req_nodes_len(root: *mut node_match_t) -> libc::c_int;
}
extern "C" {
pub fn req_is_method(req: *const in3_req_t, method: *const libc::c_char) -> bool;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum hasher_t {
hasher_sha2 = 0,
hasher_sha2d = 1,
hasher_sha2_ripemd = 2,
hasher_sha3 = 3,
hasher_sha3k = 4,
hasher_blake = 5,
hasher_blaked = 6,
hasher_blake_ripemd = 7,
hasher_groestld_trunc = 8,
hasher_overwinter_prevouts = 9,
hasher_overwinter_sequence = 10,
hasher_overwinter_outputs = 11,
hasher_overwinter_preimage = 12,
hasher_sapling_preimage = 13,
}
extern "C" {
pub fn eth_set_pk_signer(in3: *mut in3_t, pk: *mut u8) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_register_pk_signer(in3: *mut in3_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_set_request_signer(in3: *mut in3_t, pk: *mut u8) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_set_pk_signer_hex(in3: *mut in3_t, key: *mut libc::c_char);
}
extern "C" {
pub fn ec_sign_pk_hash(
message: *mut u8,
len: usize,
pk: *mut u8,
hasher: hasher_t,
dst: *mut u8,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn ec_sign_pk_raw(message: *mut u8, pk: *mut u8, dst: *mut u8) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_plugin_client_data(
plugin_data: *mut libc::c_void,
action: in3_plugin_act_t,
plugin_ctx: *mut libc::c_void,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_plugin_get_client_data(c: *mut in3_t) -> *mut libc::c_void;
}
extern "C" {
pub fn in3_register_client_data(c: *mut in3_t, data: *mut libc::c_void) -> in3_ret_t::Type;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct uint256_t {
pub data: [u8; 32usize],
}
#[test]
fn bindgen_test_layout_uint256_t() {
assert_eq!(
::core::mem::size_of::<uint256_t>(),
32usize,
concat!("Size of: ", stringify!(uint256_t))
);
assert_eq!(
::core::mem::align_of::<uint256_t>(),
1usize,
concat!("Alignment of ", stringify!(uint256_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<uint256_t>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uint256_t),
"::",
stringify!(data)
)
);
}
extern "C" {
pub fn as_double(d: uint256_t) -> u128;
}
extern "C" {
pub fn as_long(d: uint256_t) -> u64;
}
extern "C" {
pub fn to_uint256(value: u64) -> uint256_t;
}
extern "C" {
pub fn decrypt_key(
key_data: *mut d_token_t,
password: *mut libc::c_char,
dst: *mut u8,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn to_checksum(
adr: *mut u8,
chain_id: chain_id_t,
out: *mut libc::c_char,
) -> in3_ret_t::Type;
}
pub type set_error_fn =
::core::option::Option<unsafe extern "C" fn(err: libc::c_int, msg: *const libc::c_char)>;
extern "C" {
pub fn api_set_error_fn(fn_: set_error_fn);
}
pub type get_error_fn = ::core::option::Option<unsafe extern "C" fn() -> *mut libc::c_char>;
extern "C" {
pub fn api_get_error_fn(fn_: get_error_fn);
}
extern "C" {
pub fn api_last_error() -> *mut libc::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btc_transaction_in {
pub vout: u32,
pub txid: bytes32_t,
pub sequence: u32,
pub script: bytes_t,
pub txinwitness: bytes_t,
}
#[test]
fn bindgen_test_layout_btc_transaction_in() {
assert_eq!(
::core::mem::size_of::<btc_transaction_in>(),
72usize,
concat!("Size of: ", stringify!(btc_transaction_in))
);
assert_eq!(
::core::mem::align_of::<btc_transaction_in>(),
8usize,
concat!("Alignment of ", stringify!(btc_transaction_in))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_in>())).vout as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_in),
"::",
stringify!(vout)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_in>())).txid as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_in),
"::",
stringify!(txid)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_in>())).sequence as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_in),
"::",
stringify!(sequence)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_in>())).script as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_in),
"::",
stringify!(script)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_in>())).txinwitness as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_in),
"::",
stringify!(txinwitness)
)
);
}
pub type btc_transaction_in_t = btc_transaction_in;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btc_transaction_out {
pub value: u64,
pub n: u32,
pub script_pubkey: bytes_t,
}
#[test]
fn bindgen_test_layout_btc_transaction_out() {
assert_eq!(
::core::mem::size_of::<btc_transaction_out>(),
32usize,
concat!("Size of: ", stringify!(btc_transaction_out))
);
assert_eq!(
::core::mem::align_of::<btc_transaction_out>(),
8usize,
concat!("Alignment of ", stringify!(btc_transaction_out))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_out>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_out),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction_out>())).n as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_out),
"::",
stringify!(n)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<btc_transaction_out>())).script_pubkey as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction_out),
"::",
stringify!(script_pubkey)
)
);
}
pub type btc_transaction_out_t = btc_transaction_out;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct btc_transaction {
pub in_active_chain: bool,
pub data: bytes_t,
pub txid: bytes32_t,
pub hash: bytes32_t,
pub size: u32,
pub vsize: u32,
pub weight: u32,
pub version: u32,
pub locktime: u32,
pub vin: *mut btc_transaction_in_t,
pub vout: *mut btc_transaction_out_t,
pub vin_len: u32,
pub vout_len: u32,
pub blockhash: bytes32_t,
pub confirmations: u32,
pub time: u32,
pub blocktime: u32,
}
#[test]
fn bindgen_test_layout_btc_transaction() {
assert_eq!(
::core::mem::size_of::<btc_transaction>(),
184usize,
concat!("Size of: ", stringify!(btc_transaction))
);
assert_eq!(
::core::mem::align_of::<btc_transaction>(),
8usize,
concat!("Alignment of ", stringify!(btc_transaction))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<btc_transaction>())).in_active_chain as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(in_active_chain)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).data as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).txid as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(txid)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).hash as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).size as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).vsize as *const _ as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(vsize)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).weight as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(weight)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).version as *const _ as usize },
100usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).locktime as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(locktime)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).vin as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(vin)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).vout as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(vout)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).vin_len as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(vin_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).vout_len as *const _ as usize },
132usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(vout_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).blockhash as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(blockhash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).confirmations as *const _ as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(confirmations)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).time as *const _ as usize },
172usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(time)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_transaction>())).blocktime as *const _ as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(btc_transaction),
"::",
stringify!(blocktime)
)
);
}
pub type btc_transaction_t = btc_transaction;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct btc_blockheader {
pub hash: bytes32_t,
pub confirmations: u32,
pub height: u32,
pub version: u32,
pub merkleroot: bytes32_t,
pub time: u32,
pub nonce: u32,
pub bits: [u8; 4usize],
pub chainwork: bytes32_t,
pub n_tx: u32,
pub previous_hash: bytes32_t,
pub next_hash: bytes32_t,
pub data: [u8; 80usize],
}
#[test]
fn bindgen_test_layout_btc_blockheader() {
assert_eq!(
::core::mem::size_of::<btc_blockheader>(),
268usize,
concat!("Size of: ", stringify!(btc_blockheader))
);
assert_eq!(
::core::mem::align_of::<btc_blockheader>(),
4usize,
concat!("Alignment of ", stringify!(btc_blockheader))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).hash as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).confirmations as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(confirmations)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).height as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(height)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).version as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).merkleroot as *const _ as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(merkleroot)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).time as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(time)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).nonce as *const _ as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(nonce)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).bits as *const _ as usize },
84usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(bits)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).chainwork as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(chainwork)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).n_tx as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(n_tx)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).previous_hash as *const _ as usize },
124usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(previous_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).next_hash as *const _ as usize },
156usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(next_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_blockheader>())).data as *const _ as usize },
188usize,
concat!(
"Offset of field: ",
stringify!(btc_blockheader),
"::",
stringify!(data)
)
);
}
impl ::core::fmt::Debug for btc_blockheader {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write ! (f , "btc_blockheader {{ hash: [...], confirmations: {:?}, height: {:?}, version: {:?}, merkleroot: [...], time: {:?}, nonce: {:?}, bits: {:?}, chainwork: [...], n_tx: {:?}, previous_hash: [...], next_hash: [...], data: [...] }}" , self . confirmations , self . height , self . version , self . time , self . nonce , self . bits , self . n_tx)
}
}
pub type btc_blockheader_t = btc_blockheader;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct btc_block_txdata {
pub header: btc_blockheader_t,
pub tx_len: u32,
pub tx: *mut btc_transaction_t,
}
#[test]
fn bindgen_test_layout_btc_block_txdata() {
assert_eq!(
::core::mem::size_of::<btc_block_txdata>(),
280usize,
concat!("Size of: ", stringify!(btc_block_txdata))
);
assert_eq!(
::core::mem::align_of::<btc_block_txdata>(),
8usize,
concat!("Alignment of ", stringify!(btc_block_txdata))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_block_txdata>())).header as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(btc_block_txdata),
"::",
stringify!(header)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_block_txdata>())).tx_len as *const _ as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(btc_block_txdata),
"::",
stringify!(tx_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_block_txdata>())).tx as *const _ as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(btc_block_txdata),
"::",
stringify!(tx)
)
);
}
impl ::core::fmt::Debug for btc_block_txdata {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"btc_block_txdata {{ header: {:?}, tx_len: {:?}, tx: {:?} }}",
self.header, self.tx_len, self.tx
)
}
}
pub type btc_block_txdata_t = btc_block_txdata;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct btc_block_txids {
pub header: btc_blockheader_t,
pub tx_len: u32,
pub tx: *mut bytes32_t,
}
#[test]
fn bindgen_test_layout_btc_block_txids() {
assert_eq!(
::core::mem::size_of::<btc_block_txids>(),
280usize,
concat!("Size of: ", stringify!(btc_block_txids))
);
assert_eq!(
::core::mem::align_of::<btc_block_txids>(),
8usize,
concat!("Alignment of ", stringify!(btc_block_txids))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_block_txids>())).header as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(btc_block_txids),
"::",
stringify!(header)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_block_txids>())).tx_len as *const _ as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(btc_block_txids),
"::",
stringify!(tx_len)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<btc_block_txids>())).tx as *const _ as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(btc_block_txids),
"::",
stringify!(tx)
)
);
}
impl ::core::fmt::Debug for btc_block_txids {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"btc_block_txids {{ header: {:?}, tx_len: {:?}, tx: {:?} }}",
self.header, self.tx_len, self.tx
)
}
}
pub type btc_block_txids_t = btc_block_txids;
extern "C" {
pub fn btc_get_transaction_bytes(in3: *mut in3_t, txid: *mut u8) -> *mut bytes_t;
}
extern "C" {
pub fn btc_get_transaction(in3: *mut in3_t, txid: *mut u8) -> *mut btc_transaction_t;
}
extern "C" {
pub fn btc_get_blockheader(in3: *mut in3_t, blockhash: *mut u8) -> *mut btc_blockheader_t;
}
extern "C" {
pub fn btc_get_blockheader_bytes(in3: *mut in3_t, blockhash: *mut u8) -> *mut bytes_t;
}
extern "C" {
pub fn btc_get_block_txdata(in3: *mut in3_t, blockhash: *mut u8) -> *mut btc_block_txdata_t;
}
extern "C" {
pub fn btc_get_block_txids(in3: *mut in3_t, blockhash: *mut u8) -> *mut btc_block_txids_t;
}
extern "C" {
pub fn btc_get_block_bytes(in3: *mut in3_t, blockhash: *mut u8) -> *mut bytes_t;
}
extern "C" {
pub fn btc_d_to_tx(t: *mut d_token_t) -> *mut btc_transaction_t;
}
extern "C" {
pub fn btc_d_to_blockheader(t: *mut d_token_t) -> *mut btc_blockheader_t;
}
extern "C" {
pub fn btc_d_to_block_txids(t: *mut d_token_t) -> *mut btc_block_txids_t;
}
extern "C" {
pub fn btc_d_to_block_txdata(t: *mut d_token_t) -> *mut btc_block_txdata_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct opt_uint64_t {
pub value: u64,
pub defined: bool,
}
#[test]
fn bindgen_test_layout_opt_uint64_t() {
assert_eq!(
::core::mem::size_of::<opt_uint64_t>(),
16usize,
concat!("Size of: ", stringify!(opt_uint64_t))
);
assert_eq!(
::core::mem::align_of::<opt_uint64_t>(),
8usize,
concat!("Alignment of ", stringify!(opt_uint64_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_uint64_t>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(opt_uint64_t),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_uint64_t>())).defined as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(opt_uint64_t),
"::",
stringify!(defined)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct opt_bytes_t {
pub value: bytes_t,
pub defined: bool,
}
#[test]
fn bindgen_test_layout_opt_bytes_t() {
assert_eq!(
::core::mem::size_of::<opt_bytes_t>(),
24usize,
concat!("Size of: ", stringify!(opt_bytes_t))
);
assert_eq!(
::core::mem::align_of::<opt_bytes_t>(),
8usize,
concat!("Alignment of ", stringify!(opt_bytes_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_bytes_t>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(opt_bytes_t),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_bytes_t>())).defined as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(opt_bytes_t),
"::",
stringify!(defined)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct opt_address_t {
pub value: address_t,
pub defined: bool,
}
#[test]
fn bindgen_test_layout_opt_address_t() {
assert_eq!(
::core::mem::size_of::<opt_address_t>(),
21usize,
concat!("Size of: ", stringify!(opt_address_t))
);
assert_eq!(
::core::mem::align_of::<opt_address_t>(),
1usize,
concat!("Alignment of ", stringify!(opt_address_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_address_t>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(opt_address_t),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_address_t>())).defined as *const _ as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(opt_address_t),
"::",
stringify!(defined)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct opt_uint256_t {
pub value: uint256_t,
pub defined: bool,
}
#[test]
fn bindgen_test_layout_opt_uint256_t() {
assert_eq!(
::core::mem::size_of::<opt_uint256_t>(),
33usize,
concat!("Size of: ", stringify!(opt_uint256_t))
);
assert_eq!(
::core::mem::align_of::<opt_uint256_t>(),
1usize,
concat!("Alignment of ", stringify!(opt_uint256_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_uint256_t>())).value as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(opt_uint256_t),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<opt_uint256_t>())).defined as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(opt_uint256_t),
"::",
stringify!(defined)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct eth_tx {
pub hash: bytes32_t,
pub block_hash: bytes32_t,
pub block_number: u64,
pub from: address_t,
pub gas: u64,
pub gas_price: u64,
pub data: bytes_t,
pub nonce: u64,
pub to: address_t,
pub value: uint256_t,
pub transaction_index: libc::c_int,
pub signature: [u8; 65usize],
}
#[test]
fn bindgen_test_layout_eth_tx() {
assert_eq!(
::core::mem::size_of::<eth_tx>(),
264usize,
concat!("Size of: ", stringify!(eth_tx))
);
assert_eq!(
::core::mem::align_of::<eth_tx>(),
8usize,
concat!("Alignment of ", stringify!(eth_tx))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).hash as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).block_hash as *const _ as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(block_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).block_number as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(block_number)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).from as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(from)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).gas as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(gas)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).gas_price as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(gas_price)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).data as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).nonce as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(nonce)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).to as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(to)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).value as *const _ as usize },
156usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).transaction_index as *const _ as usize },
188usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(transaction_index)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx>())).signature as *const _ as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(eth_tx),
"::",
stringify!(signature)
)
);
}
impl ::core::fmt::Debug for eth_tx {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write ! (f , "eth_tx {{ hash: [...], block_hash: [...], block_number: {:?}, from: {:?}, gas: {:?}, gas_price: {:?}, data: {:?}, nonce: {:?}, to: {:?}, value: {:?}, transaction_index: {:?}, signature: [...] }}" , self . block_number , self . from , self . gas , self . gas_price , self . data , self . nonce , self . to , self . value , self . transaction_index)
}
}
pub type eth_tx_t = eth_tx;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct eth_block {
pub number: u64,
pub hash: bytes32_t,
pub gasUsed: u64,
pub gasLimit: u64,
pub author: address_t,
pub difficulty: uint256_t,
pub extra_data: bytes_t,
pub logsBloom: [u8; 256usize],
pub parent_hash: bytes32_t,
pub sha3_uncles: bytes32_t,
pub state_root: bytes32_t,
pub receipts_root: bytes32_t,
pub transaction_root: bytes32_t,
pub tx_count: libc::c_int,
pub tx_data: *mut eth_tx_t,
pub tx_hashes: *mut bytes32_t,
pub timestamp: u64,
pub seal_fields: *mut bytes_t,
pub seal_fields_count: libc::c_int,
}
#[test]
fn bindgen_test_layout_eth_block() {
assert_eq!(
::core::mem::size_of::<eth_block>(),
592usize,
concat!("Size of: ", stringify!(eth_block))
);
assert_eq!(
::core::mem::align_of::<eth_block>(),
8usize,
concat!("Alignment of ", stringify!(eth_block))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).number as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(number)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).hash as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).gasUsed as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(gasUsed)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).gasLimit as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(gasLimit)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).author as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(author)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).difficulty as *const _ as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(difficulty)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).extra_data as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(extra_data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).logsBloom as *const _ as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(logsBloom)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).parent_hash as *const _ as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(parent_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).sha3_uncles as *const _ as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(sha3_uncles)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).state_root as *const _ as usize },
448usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(state_root)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).receipts_root as *const _ as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(receipts_root)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).transaction_root as *const _ as usize },
512usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(transaction_root)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).tx_count as *const _ as usize },
544usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(tx_count)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).tx_data as *const _ as usize },
552usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(tx_data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).tx_hashes as *const _ as usize },
560usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(tx_hashes)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).timestamp as *const _ as usize },
568usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(timestamp)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).seal_fields as *const _ as usize },
576usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(seal_fields)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_block>())).seal_fields_count as *const _ as usize },
584usize,
concat!(
"Offset of field: ",
stringify!(eth_block),
"::",
stringify!(seal_fields_count)
)
);
}
impl ::core::fmt::Debug for eth_block {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write ! (f , "eth_block {{ number: {:?}, hash: [...], gasUsed: {:?}, gasLimit: {:?}, author: {:?}, difficulty: {:?}, extra_data: {:?}, logsBloom: [...], parent_hash: [...], sha3_uncles: [...], state_root: [...], receipts_root: [...], transaction_root: [...], tx_count: {:?}, tx_data: {:?}, tx_hashes: {:?}, timestamp: {:?}, seal_fields: {:?}, seal_fields_count: {:?} }}" , self . number , self . gasUsed , self . gasLimit , self . author , self . difficulty , self . extra_data , self . tx_count , self . tx_data , self . tx_hashes , self . timestamp , self . seal_fields , self . seal_fields_count)
}
}
pub type eth_block_t = eth_block;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct eth_log {
pub removed: bool,
pub log_index: usize,
pub transaction_index: usize,
pub transaction_hash: bytes32_t,
pub block_hash: bytes32_t,
pub block_number: u64,
pub address: address_t,
pub data: bytes_t,
pub topics: *mut bytes32_t,
pub topic_count: usize,
pub next: *mut eth_log,
}
#[test]
fn bindgen_test_layout_eth_log() {
assert_eq!(
::core::mem::size_of::<eth_log>(),
160usize,
concat!("Size of: ", stringify!(eth_log))
);
assert_eq!(
::core::mem::align_of::<eth_log>(),
8usize,
concat!("Alignment of ", stringify!(eth_log))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).removed as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(removed)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).log_index as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(log_index)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).transaction_index as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(transaction_index)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).transaction_hash as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(transaction_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).block_hash as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(block_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).block_number as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(block_number)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).address as *const _ as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(address)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).data as *const _ as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).topics as *const _ as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(topics)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).topic_count as *const _ as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(topic_count)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_log>())).next as *const _ as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(eth_log),
"::",
stringify!(next)
)
);
}
pub type eth_log_t = eth_log;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct eth_tx_receipt {
pub transaction_hash: bytes32_t,
pub transaction_index: libc::c_int,
pub block_hash: bytes32_t,
pub block_number: u64,
pub cumulative_gas_used: u64,
pub gas_used: u64,
pub contract_address: *mut bytes_t,
pub status: bool,
pub logs: *mut eth_log_t,
}
#[test]
fn bindgen_test_layout_eth_tx_receipt() {
assert_eq!(
::core::mem::size_of::<eth_tx_receipt>(),
120usize,
concat!("Size of: ", stringify!(eth_tx_receipt))
);
assert_eq!(
::core::mem::align_of::<eth_tx_receipt>(),
8usize,
concat!("Alignment of ", stringify!(eth_tx_receipt))
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<eth_tx_receipt>())).transaction_hash as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(transaction_hash)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<eth_tx_receipt>())).transaction_index as *const _ as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(transaction_index)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx_receipt>())).block_hash as *const _ as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(block_hash)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx_receipt>())).block_number as *const _ as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(block_number)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<eth_tx_receipt>())).cumulative_gas_used as *const _ as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(cumulative_gas_used)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx_receipt>())).gas_used as *const _ as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(gas_used)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<eth_tx_receipt>())).contract_address as *const _ as usize
},
96usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(contract_address)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx_receipt>())).status as *const _ as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(status)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_tx_receipt>())).logs as *const _ as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(eth_tx_receipt),
"::",
stringify!(logs)
)
);
}
pub type eth_tx_receipt_t = eth_tx_receipt;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum eth_blknum_def_t {
BLK_LATEST = 0,
BLK_EARLIEST = 1,
BLK_PENDING = 2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct eth_blknum_t {
pub __bindgen_anon_1: eth_blknum_t__bindgen_ty_1,
pub is_u64: bool,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union eth_blknum_t__bindgen_ty_1 {
pub u64: u64,
pub def: eth_blknum_def_t,
_bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_eth_blknum_t__bindgen_ty_1() {
assert_eq!(
::core::mem::size_of::<eth_blknum_t__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(eth_blknum_t__bindgen_ty_1))
);
assert_eq!(
::core::mem::align_of::<eth_blknum_t__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(eth_blknum_t__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_blknum_t__bindgen_ty_1>())).u64 as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(eth_blknum_t__bindgen_ty_1),
"::",
stringify!(u64)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_blknum_t__bindgen_ty_1>())).def as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(eth_blknum_t__bindgen_ty_1),
"::",
stringify!(def)
)
);
}
impl ::core::fmt::Debug for eth_blknum_t__bindgen_ty_1 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(f, "eth_blknum_t__bindgen_ty_1 {{ union }}")
}
}
#[test]
fn bindgen_test_layout_eth_blknum_t() {
assert_eq!(
::core::mem::size_of::<eth_blknum_t>(),
16usize,
concat!("Size of: ", stringify!(eth_blknum_t))
);
assert_eq!(
::core::mem::align_of::<eth_blknum_t>(),
8usize,
concat!("Alignment of ", stringify!(eth_blknum_t))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<eth_blknum_t>())).is_u64 as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(eth_blknum_t),
"::",
stringify!(is_u64)
)
);
}
impl ::core::fmt::Debug for eth_blknum_t {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
write!(
f,
"eth_blknum_t {{ __bindgen_anon_1: {:?}, is_u64: {:?} }}",
self.__bindgen_anon_1, self.is_u64
)
}
}
extern "C" {
pub fn eth_getStorageAt(
in3: *mut in3_t,
account: *mut u8,
key: *mut u8,
block: eth_blknum_t,
) -> uint256_t;
}
extern "C" {
pub fn eth_getCode(in3: *mut in3_t, account: *mut u8, block: eth_blknum_t) -> bytes_t;
}
extern "C" {
pub fn eth_getBalance(in3: *mut in3_t, account: *mut u8, block: eth_blknum_t) -> uint256_t;
}
extern "C" {
pub fn eth_blockNumber(in3: *mut in3_t) -> u64;
}
extern "C" {
pub fn eth_gasPrice(in3: *mut in3_t) -> u64;
}
extern "C" {
pub fn eth_getBlockByNumber(
in3: *mut in3_t,
number: eth_blknum_t,
include_tx: bool,
) -> *mut eth_block_t;
}
extern "C" {
pub fn eth_getBlockByHash(in3: *mut in3_t, hash: *mut u8, include_tx: bool)
-> *mut eth_block_t;
}
extern "C" {
pub fn eth_getLogs(in3: *mut in3_t, fopt: *mut libc::c_char) -> *mut eth_log_t;
}
extern "C" {
pub fn eth_newFilter(in3: *mut in3_t, options: *mut json_ctx_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_newBlockFilter(in3: *mut in3_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_newPendingTransactionFilter(in3: *mut in3_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_uninstallFilter(in3: *mut in3_t, id: usize) -> bool;
}
extern "C" {
pub fn eth_getFilterChanges(
in3: *mut in3_t,
id: usize,
block_hashes: *mut *mut bytes32_t,
logs: *mut *mut eth_log_t,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_getFilterLogs(
in3: *mut in3_t,
id: usize,
logs: *mut *mut eth_log_t,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn eth_chainId(in3: *mut in3_t) -> u64;
}
extern "C" {
pub fn eth_getBlockTransactionCountByHash(in3: *mut in3_t, hash: *mut u8) -> u64;
}
extern "C" {
pub fn eth_getBlockTransactionCountByNumber(in3: *mut in3_t, block: eth_blknum_t) -> u64;
}
extern "C" {
pub fn eth_call_fn(
in3: *mut in3_t,
contract: *mut u8,
block: eth_blknum_t,
fn_sig: *mut libc::c_char,
...
) -> *mut json_ctx_t;
}
extern "C" {
pub fn eth_estimate_fn(
in3: *mut in3_t,
contract: *mut u8,
block: eth_blknum_t,
fn_sig: *mut libc::c_char,
...
) -> u64;
}
extern "C" {
pub fn eth_getTransactionByHash(in3: *mut in3_t, tx_hash: *mut u8) -> *mut eth_tx_t;
}
extern "C" {
pub fn eth_getTransactionByBlockHashAndIndex(
in3: *mut in3_t,
block_hash: *mut u8,
index: usize,
) -> *mut eth_tx_t;
}
extern "C" {
pub fn eth_getTransactionByBlockNumberAndIndex(
in3: *mut in3_t,
block: eth_blknum_t,
index: usize,
) -> *mut eth_tx_t;
}
extern "C" {
pub fn eth_getTransactionCount(in3: *mut in3_t, address: *mut u8, block: eth_blknum_t) -> u64;
}
extern "C" {
pub fn eth_getUncleByBlockNumberAndIndex(
in3: *mut in3_t,
block: eth_blknum_t,
index: usize,
) -> *mut eth_block_t;
}
extern "C" {
pub fn eth_getUncleCountByBlockHash(in3: *mut in3_t, hash: *mut u8) -> u64;
}
extern "C" {
pub fn eth_getUncleCountByBlockNumber(in3: *mut in3_t, block: eth_blknum_t) -> u64;
}
extern "C" {
pub fn eth_sendTransaction(
in3: *mut in3_t,
from: *mut u8,
to: *mut u8,
gas: opt_uint64_t,
gas_price: opt_uint64_t,
value: opt_uint256_t,
data: opt_bytes_t,
nonce: opt_uint64_t,
) -> *mut bytes_t;
}
extern "C" {
pub fn eth_sendRawTransaction(in3: *mut in3_t, data: bytes_t) -> *mut bytes_t;
}
extern "C" {
pub fn eth_getTransactionReceipt(in3: *mut in3_t, tx_hash: *mut u8) -> *mut eth_tx_receipt_t;
}
extern "C" {
pub fn eth_wait_for_receipt(in3: *mut in3_t, tx_hash: *mut u8) -> *mut libc::c_char;
}
extern "C" {
pub fn eth_log_free(log: *mut eth_log_t);
}
extern "C" {
pub fn eth_tx_receipt_free(txr: *mut eth_tx_receipt_t);
}
extern "C" {
pub fn string_val_to_bytes(
val: *mut libc::c_char,
unit: *mut libc::c_char,
target: *mut u8,
) -> libc::c_int;
}
extern "C" {
pub fn in3_register_eth_api(c: *mut in3_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn send_curl(
plugin_data: *mut libc::c_void,
action: in3_plugin_act_t,
plugin_ctx: *mut libc::c_void,
) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_register_curl(c: *mut in3_t) -> in3_ret_t::Type;
}
extern "C" {
pub fn in3_init();
}
extern "C" {
pub fn in3_for_chain_auto_init(chain_id: chain_id_t) -> *mut in3_t;
}
pub type in3_log_LockFn =
::core::option::Option<unsafe extern "C" fn(udata: *mut libc::c_void, lock: libc::c_int)>;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum in3_log_level_t {
LOG_TRACE = 0,
LOG_DEBUG = 1,
LOG_INFO = 2,
LOG_WARN = 3,
LOG_ERROR = 4,
LOG_FATAL = 5,
}
extern "C" {
pub fn in3_log_set_udata_(udata: *mut libc::c_void);
}
extern "C" {
pub fn in3_log_set_lock_(fn_: in3_log_LockFn);
}
extern "C" {
pub fn in3_log_set_fp_(fp: *mut FILE);
}
extern "C" {
pub fn in3_log_set_level_(level: in3_log_level_t);
}
extern "C" {
pub fn in3_log_get_level_() -> in3_log_level_t;
}
extern "C" {
pub fn in3_log_set_quiet_(enable: libc::c_int);
}
extern "C" {
pub fn in3_log_set_prefix_(prefix: *const libc::c_char);
}
extern "C" {
pub fn in3_log_enable_prefix_();
}
extern "C" {
pub fn in3_log_disable_prefix_();
}
extern "C" {
pub fn in3_log_is_prefix_enabled_() -> libc::c_int;
}
extern "C" {
pub fn in3_log_(
level: in3_log_level_t,
file: *const libc::c_char,
function: *const libc::c_char,
line: libc::c_int,
fmt: *const libc::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: libc::c_uint,
pub fp_offset: libc::c_uint,
pub overflow_arg_area: *mut libc::c_void,
pub reg_save_area: *mut libc::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
assert_eq!(
::core::mem::size_of::<__va_list_tag>(),
24usize,
concat!("Size of: ", stringify!(__va_list_tag))
);
assert_eq!(
::core::mem::align_of::<__va_list_tag>(),
8usize,
concat!("Alignment of ", stringify!(__va_list_tag))
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(gp_offset)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(fp_offset)
)
);
assert_eq!(
unsafe {
&(*(::core::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(overflow_arg_area)
)
);
assert_eq!(
unsafe { &(*(::core::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(reg_save_area)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_data {
pub _address: u8,
}