/* automatically generated by rust-bindgen 0.69.4 */ pub const _STDIO_H: u32 = 1; pub const _FEATURES_H: u32 = 1; pub const _DEFAULT_SOURCE: u32 = 1; pub const __GLIBC_USE_ISOC2X: u32 = 0; pub const __USE_ISOC11: u32 = 1; pub const __USE_ISOC99: u32 = 1; pub const __USE_ISOC95: u32 = 1; pub const __USE_POSIX_IMPLICITLY: u32 = 1; pub const _POSIX_SOURCE: u32 = 1; pub const _POSIX_C_SOURCE: u32 = 200809; pub const __USE_POSIX: u32 = 1; pub const __USE_POSIX2: u32 = 1; pub const __USE_POSIX199309: u32 = 1; pub const __USE_POSIX199506: u32 = 1; pub const __USE_XOPEN2K: u32 = 1; pub const __USE_XOPEN2K8: u32 = 1; pub const _ATFILE_SOURCE: u32 = 1; pub const __WORDSIZE: u32 = 64; pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; pub const __SYSCALL_WORDSIZE: u32 = 64; pub const __TIMESIZE: u32 = 64; pub const __USE_MISC: u32 = 1; pub const __USE_ATFILE: u32 = 1; pub const __USE_FORTIFY_LEVEL: u32 = 0; pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; pub const _STDC_PREDEF_H: u32 = 1; pub const __STDC_IEC_559__: u32 = 1; pub const __STDC_IEC_60559_BFP__: u32 = 201404; pub const __STDC_IEC_559_COMPLEX__: u32 = 1; pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; pub const __STDC_ISO_10646__: u32 = 201706; pub const __GNU_LIBRARY__: u32 = 6; pub const __GLIBC__: u32 = 2; pub const __GLIBC_MINOR__: u32 = 37; pub const _SYS_CDEFS_H: u32 = 1; pub const __glibc_c99_flexarr_available: u32 = 1; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0; pub const __HAVE_GENERIC_SELECTION: u32 = 1; pub const __GLIBC_USE_LIB_EXT2: u32 = 0; pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0; pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0; pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; pub const _BITS_TYPES_H: u32 = 1; pub const _BITS_TYPESIZES_H: u32 = 1; pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; pub const __INO_T_MATCHES_INO64_T: u32 = 1; pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; pub const __STATFS_MATCHES_STATFS64: u32 = 1; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1; pub const __FD_SETSIZE: u32 = 1024; pub const _BITS_TIME64_H: u32 = 1; pub const _____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: &[u8; 5] = 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 __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 _STDINT_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 _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 _MATH_H: u32 = 1; pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1; pub const __FP_LOGB0_IS_MIN: u32 = 1; pub const __FP_LOGBNAN_IS_MIN: u32 = 1; pub const FP_ILOGB0: i32 = -2147483648; pub const FP_ILOGBNAN: i32 = -2147483648; pub const __MATH_DECLARING_DOUBLE: u32 = 1; pub const __MATH_DECLARING_FLOATN: u32 = 0; pub const __MATH_DECLARE_LDOUBLE: u32 = 1; pub const FP_NAN: u32 = 0; pub const FP_INFINITE: u32 = 1; pub const FP_ZERO: u32 = 2; pub const FP_SUBNORMAL: u32 = 3; pub const FP_NORMAL: u32 = 4; pub const MATH_ERRNO: u32 = 1; pub const MATH_ERREXCEPT: u32 = 2; pub const math_errhandling: u32 = 3; pub const M_E: f64 = 2.718281828459045; pub const M_LOG2E: f64 = 1.4426950408889634; pub const M_LOG10E: f64 = 0.4342944819032518; pub const M_LN2: f64 = 0.6931471805599453; pub const M_LN10: f64 = 2.302585092994046; pub const M_PI: f64 = 3.141592653589793; pub const M_PI_2: f64 = 1.5707963267948966; pub const M_PI_4: f64 = 0.7853981633974483; pub const M_1_PI: f64 = 0.3183098861837907; pub const M_2_PI: f64 = 0.6366197723675814; pub const M_2_SQRTPI: f64 = 1.1283791670955126; pub const M_SQRT2: f64 = 1.4142135623730951; pub const M_SQRT1_2: f64 = 0.7071067811865476; pub const JS_PROP_CONFIGURABLE: u32 = 1; pub const JS_PROP_WRITABLE: u32 = 2; pub const JS_PROP_ENUMERABLE: u32 = 4; pub const JS_PROP_C_W_E: u32 = 7; pub const JS_PROP_LENGTH: u32 = 8; pub const JS_PROP_TMASK: u32 = 48; pub const JS_PROP_NORMAL: u32 = 0; pub const JS_PROP_GETSET: u32 = 16; pub const JS_PROP_VARREF: u32 = 32; pub const JS_PROP_AUTOINIT: u32 = 48; pub const JS_PROP_HAS_SHIFT: u32 = 8; pub const JS_PROP_HAS_CONFIGURABLE: u32 = 256; pub const JS_PROP_HAS_WRITABLE: u32 = 512; pub const JS_PROP_HAS_ENUMERABLE: u32 = 1024; pub const JS_PROP_HAS_GET: u32 = 2048; pub const JS_PROP_HAS_SET: u32 = 4096; pub const JS_PROP_HAS_VALUE: u32 = 8192; pub const JS_PROP_THROW: u32 = 16384; pub const JS_PROP_THROW_STRICT: u32 = 32768; pub const JS_PROP_NO_ADD: u32 = 65536; pub const JS_PROP_NO_EXOTIC: u32 = 131072; pub const JS_PROP_DEFINE_PROPERTY: u32 = 262144; pub const JS_PROP_REFLECT_DEFINE_PROPERTY: u32 = 524288; pub const JS_DEFAULT_STACK_SIZE: u32 = 262144; pub const JS_EVAL_TYPE_GLOBAL: u32 = 0; pub const JS_EVAL_TYPE_MODULE: u32 = 1; pub const JS_EVAL_TYPE_DIRECT: u32 = 2; pub const JS_EVAL_TYPE_INDIRECT: u32 = 3; pub const JS_EVAL_TYPE_MASK: u32 = 3; pub const JS_EVAL_FLAG_STRICT: u32 = 8; pub const JS_EVAL_FLAG_UNUSED: u32 = 16; pub const JS_EVAL_FLAG_COMPILE_ONLY: u32 = 32; pub const JS_EVAL_FLAG_BACKTRACE_BARRIER: u32 = 64; pub const JS_EVAL_FLAG_ASYNC: u32 = 128; pub const JS_ATOM_NULL: u32 = 0; pub const JS_CALL_FLAG_CONSTRUCTOR: u32 = 1; pub const JS_INVALID_CLASS_ID: u32 = 0; pub const JS_GPN_STRING_MASK: u32 = 1; pub const JS_GPN_SYMBOL_MASK: u32 = 2; pub const JS_GPN_PRIVATE_MASK: u32 = 4; pub const JS_GPN_ENUM_ONLY: u32 = 16; pub const JS_GPN_SET_ENUM: u32 = 32; pub const JS_WRITE_OBJ_BYTECODE: u32 = 1; pub const JS_WRITE_OBJ_BSWAP: u32 = 0; pub const JS_WRITE_OBJ_SAB: u32 = 4; pub const JS_WRITE_OBJ_REFERENCE: u32 = 8; pub const JS_WRITE_OBJ_STRIP_SOURCE: u32 = 16; pub const JS_WRITE_OBJ_STRIP_DEBUG: u32 = 32; pub const JS_READ_OBJ_BYTECODE: u32 = 1; pub const JS_READ_OBJ_ROM_DATA: u32 = 0; pub const JS_READ_OBJ_SAB: u32 = 4; pub const JS_READ_OBJ_REFERENCE: u32 = 8; pub const JS_DEF_CFUNC: u32 = 0; pub const JS_DEF_CGETSET: u32 = 1; pub const JS_DEF_CGETSET_MAGIC: u32 = 2; pub const JS_DEF_PROP_STRING: u32 = 3; pub const JS_DEF_PROP_INT32: u32 = 4; pub const JS_DEF_PROP_INT64: u32 = 5; pub const JS_DEF_PROP_DOUBLE: u32 = 6; pub const JS_DEF_PROP_UNDEFINED: u32 = 7; pub const JS_DEF_OBJECT: u32 = 8; pub const JS_DEF_ALIAS: u32 = 9; pub const QJS_VERSION_MAJOR: u32 = 0; pub const QJS_VERSION_MINOR: u32 = 6; pub const QJS_VERSION_PATCH: u32 = 1; pub const QJS_VERSION_SUFFIX: &[u8; 1] = b"\0"; pub type __gnuc_va_list = __builtin_va_list; pub type __u_char = ::std::os::raw::c_uchar; pub type __u_short = ::std::os::raw::c_ushort; pub type __u_int = ::std::os::raw::c_uint; pub type __u_long = ::std::os::raw::c_ulong; pub type __int8_t = ::std::os::raw::c_schar; pub type __uint8_t = ::std::os::raw::c_uchar; pub type __int16_t = ::std::os::raw::c_short; pub type __uint16_t = ::std::os::raw::c_ushort; pub type __int32_t = ::std::os::raw::c_int; pub type __uint32_t = ::std::os::raw::c_uint; pub type __int64_t = ::std::os::raw::c_long; pub type __uint64_t = ::std::os::raw::c_ulong; pub type __int_least8_t = __int8_t; pub type __uint_least8_t = __uint8_t; pub type __int_least16_t = __int16_t; pub type __uint_least16_t = __uint16_t; pub type __int_least32_t = __int32_t; pub type __uint_least32_t = __uint32_t; pub type __int_least64_t = __int64_t; pub type __uint_least64_t = __uint64_t; pub type __quad_t = ::std::os::raw::c_long; pub type __u_quad_t = ::std::os::raw::c_ulong; pub type __intmax_t = ::std::os::raw::c_long; pub type __uintmax_t = ::std::os::raw::c_ulong; pub type __dev_t = ::std::os::raw::c_ulong; pub type __uid_t = ::std::os::raw::c_uint; pub type __gid_t = ::std::os::raw::c_uint; pub type __ino_t = ::std::os::raw::c_ulong; pub type __ino64_t = ::std::os::raw::c_ulong; pub type __mode_t = ::std::os::raw::c_uint; pub type __nlink_t = ::std::os::raw::c_ulong; pub type __off_t = ::std::os::raw::c_long; pub type __off64_t = ::std::os::raw::c_long; pub type __pid_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __fsid_t { pub __val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___fsid_t() { const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__fsid_t>(), 8usize, concat!("Size of: ", stringify!(__fsid_t)) ); assert_eq!( ::std::mem::align_of::<__fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__fsid_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__fsid_t), "::", stringify!(__val) ) ); } pub type __clock_t = ::std::os::raw::c_long; pub type __rlim_t = ::std::os::raw::c_ulong; pub type __rlim64_t = ::std::os::raw::c_ulong; pub type __id_t = ::std::os::raw::c_uint; pub type __time_t = ::std::os::raw::c_long; pub type __useconds_t = ::std::os::raw::c_uint; pub type __suseconds_t = ::std::os::raw::c_long; pub type __suseconds64_t = ::std::os::raw::c_long; pub type __daddr_t = ::std::os::raw::c_int; pub type __key_t = ::std::os::raw::c_int; pub type __clockid_t = ::std::os::raw::c_int; pub type __timer_t = *mut ::std::os::raw::c_void; pub type __blksize_t = ::std::os::raw::c_long; pub type __blkcnt_t = ::std::os::raw::c_long; pub type __blkcnt64_t = ::std::os::raw::c_long; pub type __fsblkcnt_t = ::std::os::raw::c_ulong; pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; pub type __fsfilcnt_t = ::std::os::raw::c_ulong; pub type __fsfilcnt64_t = ::std::os::raw::c_ulong; pub type __fsword_t = ::std::os::raw::c_long; pub type __ssize_t = ::std::os::raw::c_long; pub type __syscall_slong_t = ::std::os::raw::c_long; pub type __syscall_ulong_t = ::std::os::raw::c_ulong; pub type __loff_t = __off64_t; pub type __caddr_t = *mut ::std::os::raw::c_char; pub type __intptr_t = ::std::os::raw::c_long; pub type __socklen_t = ::std::os::raw::c_uint; pub type __sig_atomic_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Copy, Clone)] pub struct __mbstate_t { pub __count: ::std::os::raw::c_int, pub __value: __mbstate_t__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union __mbstate_t__bindgen_ty_1 { pub __wch: ::std::os::raw::c_uint, pub __wchb: [::std::os::raw::c_char; 4usize], } #[test] fn bindgen_test_layout___mbstate_t__bindgen_ty_1() { const UNINIT: ::std::mem::MaybeUninit<__mbstate_t__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(), 4usize, concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(), 4usize, concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__wch) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__mbstate_t__bindgen_ty_1), "::", stringify!(__wch) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__wchb) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__mbstate_t__bindgen_ty_1), "::", stringify!(__wchb) ) ); } #[test] fn bindgen_test_layout___mbstate_t() { const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__mbstate_t>(), 8usize, concat!("Size of: ", stringify!(__mbstate_t)) ); assert_eq!( ::std::mem::align_of::<__mbstate_t>(), 4usize, concat!("Alignment of ", stringify!(__mbstate_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__mbstate_t), "::", stringify!(__count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__value) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(__mbstate_t), "::", stringify!(__value) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct _G_fpos_t { pub __pos: __off_t, pub __state: __mbstate_t, } #[test] fn bindgen_test_layout__G_fpos_t() { const UNINIT: ::std::mem::MaybeUninit<_G_fpos_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_G_fpos_t>(), 16usize, concat!("Size of: ", stringify!(_G_fpos_t)) ); assert_eq!( ::std::mem::align_of::<_G_fpos_t>(), 8usize, concat!("Alignment of ", stringify!(_G_fpos_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_G_fpos_t), "::", stringify!(__pos) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_G_fpos_t), "::", stringify!(__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() { const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_G_fpos64_t>(), 16usize, concat!("Size of: ", stringify!(_G_fpos64_t)) ); assert_eq!( ::std::mem::align_of::<_G_fpos64_t>(), 8usize, concat!("Alignment of ", stringify!(_G_fpos64_t)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_G_fpos64_t), "::", stringify!(__pos) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_G_fpos64_t), "::", stringify!(__state) ) ); } pub type __fpos64_t = _G_fpos64_t; pub type __FILE = _IO_FILE; pub type FILE = _IO_FILE; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _IO_marker { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _IO_codecvt { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _IO_wide_data { _unused: [u8; 0], } pub type _IO_lock_t = ::std::os::raw::c_void; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct _IO_FILE { pub _flags: ::std::os::raw::c_int, pub _IO_read_ptr: *mut ::std::os::raw::c_char, pub _IO_read_end: *mut ::std::os::raw::c_char, pub _IO_read_base: *mut ::std::os::raw::c_char, pub _IO_write_base: *mut ::std::os::raw::c_char, pub _IO_write_ptr: *mut ::std::os::raw::c_char, pub _IO_write_end: *mut ::std::os::raw::c_char, pub _IO_buf_base: *mut ::std::os::raw::c_char, pub _IO_buf_end: *mut ::std::os::raw::c_char, pub _IO_save_base: *mut ::std::os::raw::c_char, pub _IO_backup_base: *mut ::std::os::raw::c_char, pub _IO_save_end: *mut ::std::os::raw::c_char, pub _markers: *mut _IO_marker, pub _chain: *mut _IO_FILE, pub _fileno: ::std::os::raw::c_int, pub _flags2: ::std::os::raw::c_int, pub _old_offset: __off_t, pub _cur_column: ::std::os::raw::c_ushort, pub _vtable_offset: ::std::os::raw::c_schar, pub _shortbuf: [::std::os::raw::c_char; 1usize], pub _lock: *mut _IO_lock_t, pub _offset: __off64_t, pub _codecvt: *mut _IO_codecvt, pub _wide_data: *mut _IO_wide_data, pub _freeres_list: *mut _IO_FILE, pub _freeres_buf: *mut ::std::os::raw::c_void, pub __pad5: usize, pub _mode: ::std::os::raw::c_int, pub _unused2: [::std::os::raw::c_char; 20usize], } #[test] fn bindgen_test_layout__IO_FILE() { const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_IO_FILE>(), 216usize, concat!("Size of: ", stringify!(_IO_FILE)) ); assert_eq!( ::std::mem::align_of::<_IO_FILE>(), 8usize, concat!("Alignment of ", stringify!(_IO_FILE)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_flags) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_read_ptr) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_read_end) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_read_base) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_write_base) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_write_ptr) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_write_end) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_buf_base) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_buf_end) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_save_base) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_backup_base) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_IO_save_end) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_markers) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_chain) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_fileno) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize }, 116usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_flags2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_old_offset) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_cur_column) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize }, 130usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_vtable_offset) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize }, 131usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_shortbuf) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_lock) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_offset) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_codecvt) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_wide_data) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_freeres_list) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_freeres_buf) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(__pad5) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_mode) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize }, 196usize, concat!( "Offset of field: ", stringify!(_IO_FILE), "::", stringify!(_unused2) ) ); } pub type va_list = __gnuc_va_list; 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 ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn rename( __old: *const ::std::os::raw::c_char, __new: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn renameat( __oldfd: ::std::os::raw::c_int, __old: *const ::std::os::raw::c_char, __newfd: ::std::os::raw::c_int, __new: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn tmpfile() -> *mut FILE; } extern "C" { pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn tempnam( __dir: *const ::std::os::raw::c_char, __pfx: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fopen( __filename: *const ::std::os::raw::c_char, __modes: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn freopen( __filename: *const ::std::os::raw::c_char, __modes: *const ::std::os::raw::c_char, __stream: *mut FILE, ) -> *mut FILE; } extern "C" { pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char) -> *mut FILE; } extern "C" { pub fn fmemopen( __s: *mut ::std::os::raw::c_void, __len: usize, __modes: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn open_memstream( __bufloc: *mut *mut ::std::os::raw::c_char, __sizeloc: *mut usize, ) -> *mut FILE; } extern "C" { pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char); } extern "C" { pub fn setvbuf( __stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __modes: ::std::os::raw::c_int, __n: usize, ) -> ::std::os::raw::c_int; } extern "C" { pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize); } extern "C" { pub fn setlinebuf(__stream: *mut FILE); } extern "C" { pub fn fprintf( __stream: *mut FILE, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { pub fn sprintf( __s: *mut ::std::os::raw::c_char, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { pub fn vfprintf( __s: *mut FILE, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn vprintf( __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn vsprintf( __s: *mut ::std::os::raw::c_char, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn snprintf( __s: *mut ::std::os::raw::c_char, __maxlen: ::std::os::raw::c_ulong, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { pub fn vsnprintf( __s: *mut ::std::os::raw::c_char, __maxlen: ::std::os::raw::c_ulong, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn vdprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn dprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { pub fn fscanf( __stream: *mut FILE, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { pub fn sscanf( __s: *const ::std::os::raw::c_char, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } pub type _Float32 = f32; pub type _Float64 = f64; pub type _Float32x = f64; pub type _Float64x = u128; extern "C" { #[link_name = "\u{1}__isoc99_fscanf"] pub fn fscanf1( __stream: *mut FILE, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { #[link_name = "\u{1}__isoc99_scanf"] pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int; } extern "C" { #[link_name = "\u{1}__isoc99_sscanf"] pub fn sscanf1( __s: *const ::std::os::raw::c_char, __format: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int; } extern "C" { pub fn vfscanf( __s: *mut FILE, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn vscanf( __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn vsscanf( __s: *const ::std::os::raw::c_char, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { #[link_name = "\u{1}__isoc99_vfscanf"] pub fn vfscanf1( __s: *mut FILE, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { #[link_name = "\u{1}__isoc99_vscanf"] pub fn vscanf1( __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { #[link_name = "\u{1}__isoc99_vsscanf"] pub fn vsscanf1( __s: *const ::std::os::raw::c_char, __format: *const ::std::os::raw::c_char, __arg: *mut __va_list_tag, ) -> ::std::os::raw::c_int; } extern "C" { pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn getchar() -> ::std::os::raw::c_int; } extern "C" { pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn getchar_unlocked() -> ::std::os::raw::c_int; } extern "C" { pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fgets( __s: *mut ::std::os::raw::c_char, __n: ::std::os::raw::c_int, __stream: *mut FILE, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn __getdelim( __lineptr: *mut *mut ::std::os::raw::c_char, __n: *mut usize, __delimiter: ::std::os::raw::c_int, __stream: *mut FILE, ) -> __ssize_t; } extern "C" { pub fn getdelim( __lineptr: *mut *mut ::std::os::raw::c_char, __n: *mut usize, __delimiter: ::std::os::raw::c_int, __stream: *mut FILE, ) -> __ssize_t; } extern "C" { pub fn getline( __lineptr: *mut *mut ::std::os::raw::c_char, __n: *mut usize, __stream: *mut FILE, ) -> __ssize_t; } extern "C" { pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; } extern "C" { pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fread( __ptr: *mut ::std::os::raw::c_void, __size: ::std::os::raw::c_ulong, __n: ::std::os::raw::c_ulong, __stream: *mut FILE, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn fwrite( __ptr: *const ::std::os::raw::c_void, __size: ::std::os::raw::c_ulong, __n: ::std::os::raw::c_ulong, __s: *mut FILE, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn fread_unlocked( __ptr: *mut ::std::os::raw::c_void, __size: usize, __n: usize, __stream: *mut FILE, ) -> usize; } extern "C" { pub fn fwrite_unlocked( __ptr: *const ::std::os::raw::c_void, __size: usize, __n: usize, __stream: *mut FILE, ) -> usize; } extern "C" { pub fn fseek( __stream: *mut FILE, __off: ::std::os::raw::c_long, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long; } extern "C" { pub fn rewind(__stream: *mut FILE); } extern "C" { pub fn fseeko( __stream: *mut FILE, __off: __off_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn ftello(__stream: *mut FILE) -> __off_t; } extern "C" { pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int; } extern "C" { pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int; } extern "C" { pub fn clearerr(__stream: *mut FILE); } extern "C" { pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn clearerr_unlocked(__stream: *mut FILE); } extern "C" { pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn perror(__s: *const ::std::os::raw::c_char); } extern "C" { pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn popen( __command: *const ::std::os::raw::c_char, __modes: *const ::std::os::raw::c_char, ) -> *mut FILE; } extern "C" { pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn flockfile(__stream: *mut FILE); } extern "C" { pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn funlockfile(__stream: *mut FILE); } extern "C" { pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int; } extern "C" { pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } pub type int_least8_t = __int_least8_t; pub type int_least16_t = __int_least16_t; pub type int_least32_t = __int_least32_t; pub type int_least64_t = __int_least64_t; pub type uint_least8_t = __uint_least8_t; pub type uint_least16_t = __uint_least16_t; pub type uint_least32_t = __uint_least32_t; pub type uint_least64_t = __uint_least64_t; pub type int_fast8_t = ::std::os::raw::c_schar; pub type int_fast16_t = ::std::os::raw::c_long; pub type int_fast32_t = ::std::os::raw::c_long; pub type int_fast64_t = ::std::os::raw::c_long; pub type uint_fast8_t = ::std::os::raw::c_uchar; pub type uint_fast16_t = ::std::os::raw::c_ulong; pub type uint_fast32_t = ::std::os::raw::c_ulong; pub type uint_fast64_t = ::std::os::raw::c_ulong; pub type intmax_t = __intmax_t; pub type uintmax_t = __uintmax_t; extern "C" { pub fn memcpy( __dest: *mut ::std::os::raw::c_void, __src: *const ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memmove( __dest: *mut ::std::os::raw::c_void, __src: *const ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memccpy( __dest: *mut ::std::os::raw::c_void, __src: *const ::std::os::raw::c_void, __c: ::std::os::raw::c_int, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memset( __s: *mut ::std::os::raw::c_void, __c: ::std::os::raw::c_int, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn memcmp( __s1: *const ::std::os::raw::c_void, __s2: *const ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int; } extern "C" { pub fn __memcmpeq( __s1: *const ::std::os::raw::c_void, __s2: *const ::std::os::raw::c_void, __n: usize, ) -> ::std::os::raw::c_int; } extern "C" { pub fn memchr( __s: *const ::std::os::raw::c_void, __c: ::std::os::raw::c_int, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn strcpy( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strncpy( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strcat( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strncat( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strcmp( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strncmp( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strcoll( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strxfrm( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_ulong; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __locale_struct { pub __locales: [*mut __locale_data; 13usize], pub __ctype_b: *const ::std::os::raw::c_ushort, pub __ctype_tolower: *const ::std::os::raw::c_int, pub __ctype_toupper: *const ::std::os::raw::c_int, pub __names: [*const ::std::os::raw::c_char; 13usize], } #[test] fn bindgen_test_layout___locale_struct() { const UNINIT: ::std::mem::MaybeUninit<__locale_struct> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__locale_struct>(), 232usize, concat!("Size of: ", stringify!(__locale_struct)) ); assert_eq!( ::std::mem::align_of::<__locale_struct>(), 8usize, concat!("Alignment of ", stringify!(__locale_struct)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__locales) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__locale_struct), "::", stringify!(__locales) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__ctype_b) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(__locale_struct), "::", stringify!(__ctype_b) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__ctype_tolower) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(__locale_struct), "::", stringify!(__ctype_tolower) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__ctype_toupper) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(__locale_struct), "::", stringify!(__ctype_toupper) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).__names) as usize - ptr 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 ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, __l: locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strxfrm_l( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, __n: usize, __l: locale_t, ) -> usize; } extern "C" { pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strndup( __string: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strchr( __s: *const ::std::os::raw::c_char, __c: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strrchr( __s: *const ::std::os::raw::c_char, __c: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strcspn( __s: *const ::std::os::raw::c_char, __reject: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn strspn( __s: *const ::std::os::raw::c_char, __accept: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_ulong; } extern "C" { pub fn strpbrk( __s: *const ::std::os::raw::c_char, __accept: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strstr( __haystack: *const ::std::os::raw::c_char, __needle: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strtok( __s: *mut ::std::os::raw::c_char, __delim: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn __strtok_r( __s: *mut ::std::os::raw::c_char, __delim: *const ::std::os::raw::c_char, __save_ptr: *mut *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strtok_r( __s: *mut ::std::os::raw::c_char, __delim: *const ::std::os::raw::c_char, __save_ptr: *mut *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; } extern "C" { pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize; } extern "C" { pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; } extern "C" { #[link_name = "\u{1}__xpg_strerror_r"] pub fn strerror_r( __errnum: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_char, __buflen: usize, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strerror_l( __errnum: ::std::os::raw::c_int, __l: locale_t, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn bcmp( __s1: *const ::std::os::raw::c_void, __s2: *const ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int; } extern "C" { pub fn bcopy( __src: *const ::std::os::raw::c_void, __dest: *mut ::std::os::raw::c_void, __n: usize, ); } extern "C" { pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong); } extern "C" { pub fn index( __s: *const ::std::os::raw::c_char, __c: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn rindex( __s: *const ::std::os::raw::c_char, __c: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int; } extern "C" { pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int; } extern "C" { pub fn strcasecmp( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strncasecmp( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strcasecmp_l( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, __loc: locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn strncasecmp_l( __s1: *const ::std::os::raw::c_char, __s2: *const ::std::os::raw::c_char, __n: usize, __loc: locale_t, ) -> ::std::os::raw::c_int; } extern "C" { pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize); } extern "C" { pub fn strsep( __stringp: *mut *mut ::std::os::raw::c_char, __delim: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn __stpcpy( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn stpcpy( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn __stpncpy( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, __n: usize, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn stpncpy( __dest: *mut ::std::os::raw::c_char, __src: *const ::std::os::raw::c_char, __n: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_char; } pub type float_t = f32; pub type double_t = f64; extern "C" { pub fn __fpclassify(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __signbit(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __isinf(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __finite(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __isnan(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __iseqsig(__x: f64, __y: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __issignaling(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn acos(__x: f64) -> f64; } extern "C" { pub fn __acos(__x: f64) -> f64; } extern "C" { pub fn asin(__x: f64) -> f64; } extern "C" { pub fn __asin(__x: f64) -> f64; } extern "C" { pub fn atan(__x: f64) -> f64; } extern "C" { pub fn __atan(__x: f64) -> f64; } extern "C" { pub fn atan2(__y: f64, __x: f64) -> f64; } extern "C" { pub fn __atan2(__y: f64, __x: f64) -> f64; } extern "C" { pub fn cos(__x: f64) -> f64; } extern "C" { pub fn __cos(__x: f64) -> f64; } extern "C" { pub fn sin(__x: f64) -> f64; } extern "C" { pub fn __sin(__x: f64) -> f64; } extern "C" { pub fn tan(__x: f64) -> f64; } extern "C" { pub fn __tan(__x: f64) -> f64; } extern "C" { pub fn cosh(__x: f64) -> f64; } extern "C" { pub fn __cosh(__x: f64) -> f64; } extern "C" { pub fn sinh(__x: f64) -> f64; } extern "C" { pub fn __sinh(__x: f64) -> f64; } extern "C" { pub fn tanh(__x: f64) -> f64; } extern "C" { pub fn __tanh(__x: f64) -> f64; } extern "C" { pub fn acosh(__x: f64) -> f64; } extern "C" { pub fn __acosh(__x: f64) -> f64; } extern "C" { pub fn asinh(__x: f64) -> f64; } extern "C" { pub fn __asinh(__x: f64) -> f64; } extern "C" { pub fn atanh(__x: f64) -> f64; } extern "C" { pub fn __atanh(__x: f64) -> f64; } extern "C" { pub fn exp(__x: f64) -> f64; } extern "C" { pub fn __exp(__x: f64) -> f64; } extern "C" { pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn __frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn __ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn log(__x: f64) -> f64; } extern "C" { pub fn __log(__x: f64) -> f64; } extern "C" { pub fn log10(__x: f64) -> f64; } extern "C" { pub fn __log10(__x: f64) -> f64; } extern "C" { pub fn modf(__x: f64, __iptr: *mut f64) -> f64; } extern "C" { pub fn __modf(__x: f64, __iptr: *mut f64) -> f64; } extern "C" { pub fn expm1(__x: f64) -> f64; } extern "C" { pub fn __expm1(__x: f64) -> f64; } extern "C" { pub fn log1p(__x: f64) -> f64; } extern "C" { pub fn __log1p(__x: f64) -> f64; } extern "C" { pub fn logb(__x: f64) -> f64; } extern "C" { pub fn __logb(__x: f64) -> f64; } extern "C" { pub fn exp2(__x: f64) -> f64; } extern "C" { pub fn __exp2(__x: f64) -> f64; } extern "C" { pub fn log2(__x: f64) -> f64; } extern "C" { pub fn __log2(__x: f64) -> f64; } extern "C" { pub fn pow(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __pow(__x: f64, __y: f64) -> f64; } extern "C" { pub fn sqrt(__x: f64) -> f64; } extern "C" { pub fn __sqrt(__x: f64) -> f64; } extern "C" { pub fn hypot(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __hypot(__x: f64, __y: f64) -> f64; } extern "C" { pub fn cbrt(__x: f64) -> f64; } extern "C" { pub fn __cbrt(__x: f64) -> f64; } extern "C" { pub fn ceil(__x: f64) -> f64; } extern "C" { pub fn __ceil(__x: f64) -> f64; } extern "C" { pub fn fabs(__x: f64) -> f64; } extern "C" { pub fn __fabs(__x: f64) -> f64; } extern "C" { pub fn floor(__x: f64) -> f64; } extern "C" { pub fn __floor(__x: f64) -> f64; } extern "C" { pub fn fmod(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __fmod(__x: f64, __y: f64) -> f64; } extern "C" { pub fn isinf(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn finite(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn drem(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __drem(__x: f64, __y: f64) -> f64; } extern "C" { pub fn significand(__x: f64) -> f64; } extern "C" { pub fn __significand(__x: f64) -> f64; } extern "C" { pub fn copysign(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __copysign(__x: f64, __y: f64) -> f64; } extern "C" { pub fn nan(__tagb: *const ::std::os::raw::c_char) -> f64; } extern "C" { pub fn __nan(__tagb: *const ::std::os::raw::c_char) -> f64; } extern "C" { pub fn isnan(__value: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn j0(arg1: f64) -> f64; } extern "C" { pub fn __j0(arg1: f64) -> f64; } extern "C" { pub fn j1(arg1: f64) -> f64; } extern "C" { pub fn __j1(arg1: f64) -> f64; } extern "C" { pub fn jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; } extern "C" { pub fn __jn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; } extern "C" { pub fn y0(arg1: f64) -> f64; } extern "C" { pub fn __y0(arg1: f64) -> f64; } extern "C" { pub fn y1(arg1: f64) -> f64; } extern "C" { pub fn __y1(arg1: f64) -> f64; } extern "C" { pub fn yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; } extern "C" { pub fn __yn(arg1: ::std::os::raw::c_int, arg2: f64) -> f64; } extern "C" { pub fn erf(arg1: f64) -> f64; } extern "C" { pub fn __erf(arg1: f64) -> f64; } extern "C" { pub fn erfc(arg1: f64) -> f64; } extern "C" { pub fn __erfc(arg1: f64) -> f64; } extern "C" { pub fn lgamma(arg1: f64) -> f64; } extern "C" { pub fn __lgamma(arg1: f64) -> f64; } extern "C" { pub fn tgamma(arg1: f64) -> f64; } extern "C" { pub fn __tgamma(arg1: f64) -> f64; } extern "C" { pub fn gamma(arg1: f64) -> f64; } extern "C" { pub fn __gamma(arg1: f64) -> f64; } extern "C" { pub fn lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn __lgamma_r(arg1: f64, __signgamp: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn rint(__x: f64) -> f64; } extern "C" { pub fn __rint(__x: f64) -> f64; } extern "C" { pub fn nextafter(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __nextafter(__x: f64, __y: f64) -> f64; } extern "C" { pub fn nexttoward(__x: f64, __y: u128) -> f64; } extern "C" { pub fn __nexttoward(__x: f64, __y: u128) -> f64; } extern "C" { pub fn remainder(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __remainder(__x: f64, __y: f64) -> f64; } extern "C" { pub fn scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn __scalbn(__x: f64, __n: ::std::os::raw::c_int) -> f64; } extern "C" { pub fn ilogb(__x: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn __ilogb(__x: f64) -> ::std::os::raw::c_int; } extern "C" { pub fn scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64; } extern "C" { pub fn __scalbln(__x: f64, __n: ::std::os::raw::c_long) -> f64; } extern "C" { pub fn nearbyint(__x: f64) -> f64; } extern "C" { pub fn __nearbyint(__x: f64) -> f64; } extern "C" { pub fn round(__x: f64) -> f64; } extern "C" { pub fn __round(__x: f64) -> f64; } extern "C" { pub fn trunc(__x: f64) -> f64; } extern "C" { pub fn __trunc(__x: f64) -> f64; } extern "C" { pub fn remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn __remquo(__x: f64, __y: f64, __quo: *mut ::std::os::raw::c_int) -> f64; } extern "C" { pub fn lrint(__x: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn __lrint(__x: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __llrint(__x: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn lround(__x: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn __lround(__x: f64) -> ::std::os::raw::c_long; } extern "C" { pub fn llround(__x: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __llround(__x: f64) -> ::std::os::raw::c_longlong; } extern "C" { pub fn fdim(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __fdim(__x: f64, __y: f64) -> f64; } extern "C" { pub fn fmax(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __fmax(__x: f64, __y: f64) -> f64; } extern "C" { pub fn fmin(__x: f64, __y: f64) -> f64; } extern "C" { pub fn __fmin(__x: f64, __y: f64) -> f64; } extern "C" { pub fn fma(__x: f64, __y: f64, __z: f64) -> f64; } extern "C" { pub fn __fma(__x: f64, __y: f64, __z: f64) -> f64; } extern "C" { pub fn scalb(__x: f64, __n: f64) -> f64; } extern "C" { pub fn __scalb(__x: f64, __n: f64) -> f64; } extern "C" { pub fn __fpclassifyf(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __signbitf(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __isinff(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __finitef(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __isnanf(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __iseqsigf(__x: f32, __y: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __issignalingf(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn acosf(__x: f32) -> f32; } extern "C" { pub fn __acosf(__x: f32) -> f32; } extern "C" { pub fn asinf(__x: f32) -> f32; } extern "C" { pub fn __asinf(__x: f32) -> f32; } extern "C" { pub fn atanf(__x: f32) -> f32; } extern "C" { pub fn __atanf(__x: f32) -> f32; } extern "C" { pub fn atan2f(__y: f32, __x: f32) -> f32; } extern "C" { pub fn __atan2f(__y: f32, __x: f32) -> f32; } extern "C" { pub fn cosf(__x: f32) -> f32; } extern "C" { pub fn __cosf(__x: f32) -> f32; } extern "C" { pub fn sinf(__x: f32) -> f32; } extern "C" { pub fn __sinf(__x: f32) -> f32; } extern "C" { pub fn tanf(__x: f32) -> f32; } extern "C" { pub fn __tanf(__x: f32) -> f32; } extern "C" { pub fn coshf(__x: f32) -> f32; } extern "C" { pub fn __coshf(__x: f32) -> f32; } extern "C" { pub fn sinhf(__x: f32) -> f32; } extern "C" { pub fn __sinhf(__x: f32) -> f32; } extern "C" { pub fn tanhf(__x: f32) -> f32; } extern "C" { pub fn __tanhf(__x: f32) -> f32; } extern "C" { pub fn acoshf(__x: f32) -> f32; } extern "C" { pub fn __acoshf(__x: f32) -> f32; } extern "C" { pub fn asinhf(__x: f32) -> f32; } extern "C" { pub fn __asinhf(__x: f32) -> f32; } extern "C" { pub fn atanhf(__x: f32) -> f32; } extern "C" { pub fn __atanhf(__x: f32) -> f32; } extern "C" { pub fn expf(__x: f32) -> f32; } extern "C" { pub fn __expf(__x: f32) -> f32; } extern "C" { pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn __frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn __ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn logf(__x: f32) -> f32; } extern "C" { pub fn __logf(__x: f32) -> f32; } extern "C" { pub fn log10f(__x: f32) -> f32; } extern "C" { pub fn __log10f(__x: f32) -> f32; } extern "C" { pub fn modff(__x: f32, __iptr: *mut f32) -> f32; } extern "C" { pub fn __modff(__x: f32, __iptr: *mut f32) -> f32; } extern "C" { pub fn expm1f(__x: f32) -> f32; } extern "C" { pub fn __expm1f(__x: f32) -> f32; } extern "C" { pub fn log1pf(__x: f32) -> f32; } extern "C" { pub fn __log1pf(__x: f32) -> f32; } extern "C" { pub fn logbf(__x: f32) -> f32; } extern "C" { pub fn __logbf(__x: f32) -> f32; } extern "C" { pub fn exp2f(__x: f32) -> f32; } extern "C" { pub fn __exp2f(__x: f32) -> f32; } extern "C" { pub fn log2f(__x: f32) -> f32; } extern "C" { pub fn __log2f(__x: f32) -> f32; } extern "C" { pub fn powf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __powf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn sqrtf(__x: f32) -> f32; } extern "C" { pub fn __sqrtf(__x: f32) -> f32; } extern "C" { pub fn hypotf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __hypotf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn cbrtf(__x: f32) -> f32; } extern "C" { pub fn __cbrtf(__x: f32) -> f32; } extern "C" { pub fn ceilf(__x: f32) -> f32; } extern "C" { pub fn __ceilf(__x: f32) -> f32; } extern "C" { pub fn fabsf(__x: f32) -> f32; } extern "C" { pub fn __fabsf(__x: f32) -> f32; } extern "C" { pub fn floorf(__x: f32) -> f32; } extern "C" { pub fn __floorf(__x: f32) -> f32; } extern "C" { pub fn fmodf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __fmodf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn isinff(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn finitef(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn dremf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __dremf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn significandf(__x: f32) -> f32; } extern "C" { pub fn __significandf(__x: f32) -> f32; } extern "C" { pub fn copysignf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __copysignf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn nanf(__tagb: *const ::std::os::raw::c_char) -> f32; } extern "C" { pub fn __nanf(__tagb: *const ::std::os::raw::c_char) -> f32; } extern "C" { pub fn isnanf(__value: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn j0f(arg1: f32) -> f32; } extern "C" { pub fn __j0f(arg1: f32) -> f32; } extern "C" { pub fn j1f(arg1: f32) -> f32; } extern "C" { pub fn __j1f(arg1: f32) -> f32; } extern "C" { pub fn jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; } extern "C" { pub fn __jnf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; } extern "C" { pub fn y0f(arg1: f32) -> f32; } extern "C" { pub fn __y0f(arg1: f32) -> f32; } extern "C" { pub fn y1f(arg1: f32) -> f32; } extern "C" { pub fn __y1f(arg1: f32) -> f32; } extern "C" { pub fn ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; } extern "C" { pub fn __ynf(arg1: ::std::os::raw::c_int, arg2: f32) -> f32; } extern "C" { pub fn erff(arg1: f32) -> f32; } extern "C" { pub fn __erff(arg1: f32) -> f32; } extern "C" { pub fn erfcf(arg1: f32) -> f32; } extern "C" { pub fn __erfcf(arg1: f32) -> f32; } extern "C" { pub fn lgammaf(arg1: f32) -> f32; } extern "C" { pub fn __lgammaf(arg1: f32) -> f32; } extern "C" { pub fn tgammaf(arg1: f32) -> f32; } extern "C" { pub fn __tgammaf(arg1: f32) -> f32; } extern "C" { pub fn gammaf(arg1: f32) -> f32; } extern "C" { pub fn __gammaf(arg1: f32) -> f32; } extern "C" { pub fn lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn __lgammaf_r(arg1: f32, __signgamp: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn rintf(__x: f32) -> f32; } extern "C" { pub fn __rintf(__x: f32) -> f32; } extern "C" { pub fn nextafterf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __nextafterf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn nexttowardf(__x: f32, __y: u128) -> f32; } extern "C" { pub fn __nexttowardf(__x: f32, __y: u128) -> f32; } extern "C" { pub fn remainderf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __remainderf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn __scalbnf(__x: f32, __n: ::std::os::raw::c_int) -> f32; } extern "C" { pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn __ilogbf(__x: f32) -> ::std::os::raw::c_int; } extern "C" { pub fn scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32; } extern "C" { pub fn __scalblnf(__x: f32, __n: ::std::os::raw::c_long) -> f32; } extern "C" { pub fn nearbyintf(__x: f32) -> f32; } extern "C" { pub fn __nearbyintf(__x: f32) -> f32; } extern "C" { pub fn roundf(__x: f32) -> f32; } extern "C" { pub fn __roundf(__x: f32) -> f32; } extern "C" { pub fn truncf(__x: f32) -> f32; } extern "C" { pub fn __truncf(__x: f32) -> f32; } extern "C" { pub fn remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn __remquof(__x: f32, __y: f32, __quo: *mut ::std::os::raw::c_int) -> f32; } extern "C" { pub fn lrintf(__x: f32) -> ::std::os::raw::c_long; } extern "C" { pub fn __lrintf(__x: f32) -> ::std::os::raw::c_long; } extern "C" { pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __llrintf(__x: f32) -> ::std::os::raw::c_longlong; } extern "C" { pub fn lroundf(__x: f32) -> ::std::os::raw::c_long; } extern "C" { pub fn __lroundf(__x: f32) -> ::std::os::raw::c_long; } extern "C" { pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __llroundf(__x: f32) -> ::std::os::raw::c_longlong; } extern "C" { pub fn fdimf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __fdimf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn fmaxf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __fmaxf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn fminf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn __fminf(__x: f32, __y: f32) -> f32; } extern "C" { pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32; } extern "C" { pub fn __fmaf(__x: f32, __y: f32, __z: f32) -> f32; } extern "C" { pub fn scalbf(__x: f32, __n: f32) -> f32; } extern "C" { pub fn __scalbf(__x: f32, __n: f32) -> f32; } extern "C" { pub fn __fpclassifyl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __signbitl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __isinfl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __finitel(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __isnanl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __iseqsigl(__x: u128, __y: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __issignalingl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn acosl(__x: u128) -> u128; } extern "C" { pub fn __acosl(__x: u128) -> u128; } extern "C" { pub fn asinl(__x: u128) -> u128; } extern "C" { pub fn __asinl(__x: u128) -> u128; } extern "C" { pub fn atanl(__x: u128) -> u128; } extern "C" { pub fn __atanl(__x: u128) -> u128; } extern "C" { pub fn atan2l(__y: u128, __x: u128) -> u128; } extern "C" { pub fn __atan2l(__y: u128, __x: u128) -> u128; } extern "C" { pub fn cosl(__x: u128) -> u128; } extern "C" { pub fn __cosl(__x: u128) -> u128; } extern "C" { pub fn sinl(__x: u128) -> u128; } extern "C" { pub fn __sinl(__x: u128) -> u128; } extern "C" { pub fn tanl(__x: u128) -> u128; } extern "C" { pub fn __tanl(__x: u128) -> u128; } extern "C" { pub fn coshl(__x: u128) -> u128; } extern "C" { pub fn __coshl(__x: u128) -> u128; } extern "C" { pub fn sinhl(__x: u128) -> u128; } extern "C" { pub fn __sinhl(__x: u128) -> u128; } extern "C" { pub fn tanhl(__x: u128) -> u128; } extern "C" { pub fn __tanhl(__x: u128) -> u128; } extern "C" { pub fn acoshl(__x: u128) -> u128; } extern "C" { pub fn __acoshl(__x: u128) -> u128; } extern "C" { pub fn asinhl(__x: u128) -> u128; } extern "C" { pub fn __asinhl(__x: u128) -> u128; } extern "C" { pub fn atanhl(__x: u128) -> u128; } extern "C" { pub fn __atanhl(__x: u128) -> u128; } extern "C" { pub fn expl(__x: u128) -> u128; } extern "C" { pub fn __expl(__x: u128) -> u128; } extern "C" { pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128; } extern "C" { pub fn __frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128; } extern "C" { pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128; } extern "C" { pub fn __ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128; } extern "C" { pub fn logl(__x: u128) -> u128; } extern "C" { pub fn __logl(__x: u128) -> u128; } extern "C" { pub fn log10l(__x: u128) -> u128; } extern "C" { pub fn __log10l(__x: u128) -> u128; } extern "C" { pub fn modfl(__x: u128, __iptr: *mut u128) -> u128; } extern "C" { pub fn __modfl(__x: u128, __iptr: *mut u128) -> u128; } extern "C" { pub fn expm1l(__x: u128) -> u128; } extern "C" { pub fn __expm1l(__x: u128) -> u128; } extern "C" { pub fn log1pl(__x: u128) -> u128; } extern "C" { pub fn __log1pl(__x: u128) -> u128; } extern "C" { pub fn logbl(__x: u128) -> u128; } extern "C" { pub fn __logbl(__x: u128) -> u128; } extern "C" { pub fn exp2l(__x: u128) -> u128; } extern "C" { pub fn __exp2l(__x: u128) -> u128; } extern "C" { pub fn log2l(__x: u128) -> u128; } extern "C" { pub fn __log2l(__x: u128) -> u128; } extern "C" { pub fn powl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __powl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn sqrtl(__x: u128) -> u128; } extern "C" { pub fn __sqrtl(__x: u128) -> u128; } extern "C" { pub fn hypotl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __hypotl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn cbrtl(__x: u128) -> u128; } extern "C" { pub fn __cbrtl(__x: u128) -> u128; } extern "C" { pub fn ceill(__x: u128) -> u128; } extern "C" { pub fn __ceill(__x: u128) -> u128; } extern "C" { pub fn fabsl(__x: u128) -> u128; } extern "C" { pub fn __fabsl(__x: u128) -> u128; } extern "C" { pub fn floorl(__x: u128) -> u128; } extern "C" { pub fn __floorl(__x: u128) -> u128; } extern "C" { pub fn fmodl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __fmodl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn isinfl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn finitel(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn dreml(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __dreml(__x: u128, __y: u128) -> u128; } extern "C" { pub fn significandl(__x: u128) -> u128; } extern "C" { pub fn __significandl(__x: u128) -> u128; } extern "C" { pub fn copysignl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __copysignl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn nanl(__tagb: *const ::std::os::raw::c_char) -> u128; } extern "C" { pub fn __nanl(__tagb: *const ::std::os::raw::c_char) -> u128; } extern "C" { pub fn isnanl(__value: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn j0l(arg1: u128) -> u128; } extern "C" { pub fn __j0l(arg1: u128) -> u128; } extern "C" { pub fn j1l(arg1: u128) -> u128; } extern "C" { pub fn __j1l(arg1: u128) -> u128; } extern "C" { pub fn jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; } extern "C" { pub fn __jnl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; } extern "C" { pub fn y0l(arg1: u128) -> u128; } extern "C" { pub fn __y0l(arg1: u128) -> u128; } extern "C" { pub fn y1l(arg1: u128) -> u128; } extern "C" { pub fn __y1l(arg1: u128) -> u128; } extern "C" { pub fn ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; } extern "C" { pub fn __ynl(arg1: ::std::os::raw::c_int, arg2: u128) -> u128; } extern "C" { pub fn erfl(arg1: u128) -> u128; } extern "C" { pub fn __erfl(arg1: u128) -> u128; } extern "C" { pub fn erfcl(arg1: u128) -> u128; } extern "C" { pub fn __erfcl(arg1: u128) -> u128; } extern "C" { pub fn lgammal(arg1: u128) -> u128; } extern "C" { pub fn __lgammal(arg1: u128) -> u128; } extern "C" { pub fn tgammal(arg1: u128) -> u128; } extern "C" { pub fn __tgammal(arg1: u128) -> u128; } extern "C" { pub fn gammal(arg1: u128) -> u128; } extern "C" { pub fn __gammal(arg1: u128) -> u128; } extern "C" { pub fn lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128; } extern "C" { pub fn __lgammal_r(arg1: u128, __signgamp: *mut ::std::os::raw::c_int) -> u128; } extern "C" { pub fn rintl(__x: u128) -> u128; } extern "C" { pub fn __rintl(__x: u128) -> u128; } extern "C" { pub fn nextafterl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __nextafterl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn nexttowardl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __nexttowardl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn remainderl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __remainderl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128; } extern "C" { pub fn __scalbnl(__x: u128, __n: ::std::os::raw::c_int) -> u128; } extern "C" { pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn __ilogbl(__x: u128) -> ::std::os::raw::c_int; } extern "C" { pub fn scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128; } extern "C" { pub fn __scalblnl(__x: u128, __n: ::std::os::raw::c_long) -> u128; } extern "C" { pub fn nearbyintl(__x: u128) -> u128; } extern "C" { pub fn __nearbyintl(__x: u128) -> u128; } extern "C" { pub fn roundl(__x: u128) -> u128; } extern "C" { pub fn __roundl(__x: u128) -> u128; } extern "C" { pub fn truncl(__x: u128) -> u128; } extern "C" { pub fn __truncl(__x: u128) -> u128; } extern "C" { pub fn remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128; } extern "C" { pub fn __remquol(__x: u128, __y: u128, __quo: *mut ::std::os::raw::c_int) -> u128; } extern "C" { pub fn lrintl(__x: u128) -> ::std::os::raw::c_long; } extern "C" { pub fn __lrintl(__x: u128) -> ::std::os::raw::c_long; } extern "C" { pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __llrintl(__x: u128) -> ::std::os::raw::c_longlong; } extern "C" { pub fn lroundl(__x: u128) -> ::std::os::raw::c_long; } extern "C" { pub fn __lroundl(__x: u128) -> ::std::os::raw::c_long; } extern "C" { pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong; } extern "C" { pub fn __llroundl(__x: u128) -> ::std::os::raw::c_longlong; } extern "C" { pub fn fdiml(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __fdiml(__x: u128, __y: u128) -> u128; } extern "C" { pub fn fmaxl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __fmaxl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn fminl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn __fminl(__x: u128, __y: u128) -> u128; } extern "C" { pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128; } extern "C" { pub fn __fmal(__x: u128, __y: u128, __z: u128) -> u128; } extern "C" { pub fn scalbl(__x: u128, __n: u128) -> u128; } extern "C" { pub fn __scalbl(__x: u128, __n: u128) -> u128; } extern "C" { pub static mut signgam: ::std::os::raw::c_int; } //pub const FP_NAN: _bindgen_ty_1 = 0; //pub const FP_INFINITE: _bindgen_ty_1 = 1; //pub const FP_ZERO: _bindgen_ty_1 = 2; //pub const FP_SUBNORMAL: _bindgen_ty_1 = 3; //pub const FP_NORMAL: _bindgen_ty_1 = 4; pub type _bindgen_ty_1 = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSRuntime { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSContext { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSObject { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSClass { _unused: [u8; 0], } pub type JSClassID = u32; pub type JSAtom = u32; pub const JS_TAG_FIRST: _bindgen_ty_2 = -9; pub const JS_TAG_BIG_INT: _bindgen_ty_2 = -9; pub const JS_TAG_SYMBOL: _bindgen_ty_2 = -8; pub const JS_TAG_STRING: _bindgen_ty_2 = -7; pub const JS_TAG_MODULE: _bindgen_ty_2 = -3; pub const JS_TAG_FUNCTION_BYTECODE: _bindgen_ty_2 = -2; pub const JS_TAG_OBJECT: _bindgen_ty_2 = -1; pub const JS_TAG_INT: _bindgen_ty_2 = 0; pub const JS_TAG_BOOL: _bindgen_ty_2 = 1; pub const JS_TAG_NULL: _bindgen_ty_2 = 2; pub const JS_TAG_UNDEFINED: _bindgen_ty_2 = 3; pub const JS_TAG_UNINITIALIZED: _bindgen_ty_2 = 4; pub const JS_TAG_CATCH_OFFSET: _bindgen_ty_2 = 5; pub const JS_TAG_EXCEPTION: _bindgen_ty_2 = 6; pub const JS_TAG_FLOAT64: _bindgen_ty_2 = 7; pub type _bindgen_ty_2 = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSRefCountHeader { pub ref_count: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_JSRefCountHeader() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(JSRefCountHeader)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(JSRefCountHeader)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSRefCountHeader), "::", stringify!(ref_count) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub union JSValueUnion { pub int32: i32, pub float64: f64, pub ptr: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout_JSValueUnion() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(JSValueUnion)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSValueUnion)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).int32) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSValueUnion), "::", stringify!(int32) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).float64) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSValueUnion), "::", stringify!(float64) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSValueUnion), "::", stringify!(ptr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct JSValue { pub u: JSValueUnion, pub tag: i64, } #[test] fn bindgen_test_layout_JSValue() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(JSValue)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSValue)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSValue), "::", stringify!(u) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSValue), "::", stringify!(tag) ) ); } pub type JSCFunction = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue, >; pub type JSCFunctionMagic = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, magic: ::std::os::raw::c_int, ) -> JSValue, >; pub type JSCFunctionData = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, magic: ::std::os::raw::c_int, func_data: *mut JSValue, ) -> JSValue, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSMallocFunctions { pub js_calloc: ::std::option::Option< unsafe extern "C" fn( opaque: *mut ::std::os::raw::c_void, count: usize, size: usize, ) -> *mut ::std::os::raw::c_void, >, pub js_malloc: ::std::option::Option< unsafe extern "C" fn( opaque: *mut ::std::os::raw::c_void, size: usize, ) -> *mut ::std::os::raw::c_void, >, pub js_free: ::std::option::Option< unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void), >, pub js_realloc: ::std::option::Option< unsafe extern "C" fn( opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void, size: usize, ) -> *mut ::std::os::raw::c_void, >, pub js_malloc_usable_size: ::std::option::Option usize>, } #[test] fn bindgen_test_layout_JSMallocFunctions() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(JSMallocFunctions)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSMallocFunctions)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_calloc) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_calloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_malloc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_malloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_free) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_realloc) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_realloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_malloc_usable_size) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_malloc_usable_size) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSGCObjectHeader { _unused: [u8; 0], } extern "C" { pub fn JS_NewRuntime() -> *mut JSRuntime; } extern "C" { pub fn JS_SetRuntimeInfo(rt: *mut JSRuntime, info: *const ::std::os::raw::c_char); } extern "C" { pub fn JS_SetMemoryLimit(rt: *mut JSRuntime, limit: usize); } extern "C" { pub fn JS_SetDumpFlags(rt: *mut JSRuntime, flags: u64); } extern "C" { pub fn JS_GetGCThreshold(rt: *mut JSRuntime) -> usize; } extern "C" { pub fn JS_SetGCThreshold(rt: *mut JSRuntime, gc_threshold: usize); } extern "C" { pub fn JS_SetMaxStackSize(rt: *mut JSRuntime, stack_size: usize); } extern "C" { pub fn JS_UpdateStackTop(rt: *mut JSRuntime); } extern "C" { pub fn JS_NewRuntime2( mf: *const JSMallocFunctions, opaque: *mut ::std::os::raw::c_void, ) -> *mut JSRuntime; } extern "C" { pub fn JS_FreeRuntime(rt: *mut JSRuntime); } extern "C" { pub fn JS_GetRuntimeOpaque(rt: *mut JSRuntime) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn JS_SetRuntimeOpaque(rt: *mut JSRuntime, opaque: *mut ::std::os::raw::c_void); } pub type JS_MarkFunc = ::std::option::Option; extern "C" { pub fn JS_MarkValue(rt: *mut JSRuntime, val: JSValue, mark_func: JS_MarkFunc); } extern "C" { pub fn JS_RunGC(rt: *mut JSRuntime); } extern "C" { pub fn JS_IsLiveObject(rt: *mut JSRuntime, obj: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_NewContext(rt: *mut JSRuntime) -> *mut JSContext; } extern "C" { pub fn JS_FreeContext(s: *mut JSContext); } extern "C" { pub fn JS_DupContext(ctx: *mut JSContext) -> *mut JSContext; } extern "C" { pub fn JS_GetContextOpaque(ctx: *mut JSContext) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn JS_SetContextOpaque(ctx: *mut JSContext, opaque: *mut ::std::os::raw::c_void); } extern "C" { pub fn JS_GetRuntime(ctx: *mut JSContext) -> *mut JSRuntime; } extern "C" { pub fn JS_SetClassProto(ctx: *mut JSContext, class_id: JSClassID, obj: JSValue); } extern "C" { pub fn JS_GetClassProto(ctx: *mut JSContext, class_id: JSClassID) -> JSValue; } extern "C" { pub fn JS_NewContextRaw(rt: *mut JSRuntime) -> *mut JSContext; } extern "C" { pub fn JS_AddIntrinsicBaseObjects(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicDate(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicEval(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicRegExpCompiler(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicRegExp(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicJSON(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicProxy(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicMapSet(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicTypedArrays(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicPromise(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicBigInt(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicWeakRef(ctx: *mut JSContext); } extern "C" { pub fn JS_AddPerformance(ctx: *mut JSContext); } extern "C" { pub fn JS_IsEqual(ctx: *mut JSContext, op1: JSValue, op2: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsStrictEqual( ctx: *mut JSContext, op1: JSValue, op2: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsSameValue(ctx: *mut JSContext, op1: JSValue, op2: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsSameValueZero( ctx: *mut JSContext, op1: JSValue, op2: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn js_string_codePointRange( ctx: *mut JSContext, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue; } extern "C" { pub fn js_calloc_rt( rt: *mut JSRuntime, count: usize, size: usize, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_malloc_rt(rt: *mut JSRuntime, size: usize) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_free_rt(rt: *mut JSRuntime, ptr: *mut ::std::os::raw::c_void); } extern "C" { pub fn js_realloc_rt( rt: *mut JSRuntime, ptr: *mut ::std::os::raw::c_void, size: usize, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_malloc_usable_size_rt( rt: *mut JSRuntime, ptr: *const ::std::os::raw::c_void, ) -> usize; } extern "C" { pub fn js_mallocz_rt(rt: *mut JSRuntime, size: usize) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_calloc(ctx: *mut JSContext, count: usize, size: usize) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_malloc(ctx: *mut JSContext, size: usize) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_free(ctx: *mut JSContext, ptr: *mut ::std::os::raw::c_void); } extern "C" { pub fn js_realloc( ctx: *mut JSContext, ptr: *mut ::std::os::raw::c_void, size: usize, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_malloc_usable_size(ctx: *mut JSContext, ptr: *const ::std::os::raw::c_void) -> usize; } extern "C" { pub fn js_realloc2( ctx: *mut JSContext, ptr: *mut ::std::os::raw::c_void, size: usize, pslack: *mut usize, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_mallocz(ctx: *mut JSContext, size: usize) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn js_strdup( ctx: *mut JSContext, str_: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char; } extern "C" { pub fn js_strndup( ctx: *mut JSContext, s: *const ::std::os::raw::c_char, n: usize, ) -> *mut ::std::os::raw::c_char; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSMemoryUsage { pub malloc_size: i64, pub malloc_limit: i64, pub memory_used_size: i64, pub malloc_count: i64, pub memory_used_count: i64, pub atom_count: i64, pub atom_size: i64, pub str_count: i64, pub str_size: i64, pub obj_count: i64, pub obj_size: i64, pub prop_count: i64, pub prop_size: i64, pub shape_count: i64, pub shape_size: i64, pub js_func_count: i64, pub js_func_size: i64, pub js_func_code_size: i64, pub js_func_pc2line_count: i64, pub js_func_pc2line_size: i64, pub c_func_count: i64, pub array_count: i64, pub fast_array_count: i64, pub fast_array_elements: i64, pub binary_object_count: i64, pub binary_object_size: i64, } #[test] fn bindgen_test_layout_JSMemoryUsage() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 208usize, concat!("Size of: ", stringify!(JSMemoryUsage)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSMemoryUsage)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).malloc_size) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(malloc_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).malloc_limit) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(malloc_limit) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).memory_used_size) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(memory_used_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).malloc_count) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(malloc_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).memory_used_count) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(memory_used_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).atom_count) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(atom_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).atom_size) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(atom_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).str_count) as usize - ptr as usize }, 56usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(str_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).str_size) as usize - ptr as usize }, 64usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(str_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).obj_count) as usize - ptr as usize }, 72usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(obj_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).obj_size) as usize - ptr as usize }, 80usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(obj_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).prop_count) as usize - ptr as usize }, 88usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(prop_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).prop_size) as usize - ptr as usize }, 96usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(prop_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).shape_count) as usize - ptr as usize }, 104usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(shape_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).shape_size) as usize - ptr as usize }, 112usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(shape_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_func_count) as usize - ptr as usize }, 120usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(js_func_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_func_size) as usize - ptr as usize }, 128usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(js_func_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_func_code_size) as usize - ptr as usize }, 136usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(js_func_code_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_func_pc2line_count) as usize - ptr as usize }, 144usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(js_func_pc2line_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_func_pc2line_size) as usize - ptr as usize }, 152usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(js_func_pc2line_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).c_func_count) as usize - ptr as usize }, 160usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(c_func_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).array_count) as usize - ptr as usize }, 168usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(array_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).fast_array_count) as usize - ptr as usize }, 176usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(fast_array_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).fast_array_elements) as usize - ptr as usize }, 184usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(fast_array_elements) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).binary_object_count) as usize - ptr as usize }, 192usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(binary_object_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).binary_object_size) as usize - ptr as usize }, 200usize, concat!( "Offset of field: ", stringify!(JSMemoryUsage), "::", stringify!(binary_object_size) ) ); } extern "C" { pub fn JS_ComputeMemoryUsage(rt: *mut JSRuntime, s: *mut JSMemoryUsage); } extern "C" { pub fn JS_DumpMemoryUsage(fp: *mut FILE, s: *const JSMemoryUsage, rt: *mut JSRuntime); } extern "C" { pub fn JS_NewAtomLen( ctx: *mut JSContext, str_: *const ::std::os::raw::c_char, len: usize, ) -> JSAtom; } extern "C" { pub fn JS_NewAtom(ctx: *mut JSContext, str_: *const ::std::os::raw::c_char) -> JSAtom; } extern "C" { pub fn JS_NewAtomUInt32(ctx: *mut JSContext, n: u32) -> JSAtom; } extern "C" { pub fn JS_DupAtom(ctx: *mut JSContext, v: JSAtom) -> JSAtom; } extern "C" { pub fn JS_FreeAtom(ctx: *mut JSContext, v: JSAtom); } extern "C" { pub fn JS_FreeAtomRT(rt: *mut JSRuntime, v: JSAtom); } extern "C" { pub fn JS_AtomToValue(ctx: *mut JSContext, atom: JSAtom) -> JSValue; } extern "C" { pub fn JS_AtomToString(ctx: *mut JSContext, atom: JSAtom) -> JSValue; } extern "C" { pub fn JS_AtomToCString(ctx: *mut JSContext, atom: JSAtom) -> *const ::std::os::raw::c_char; } extern "C" { pub fn JS_ValueToAtom(ctx: *mut JSContext, val: JSValue) -> JSAtom; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSPropertyEnum { pub is_enumerable: ::std::os::raw::c_int, pub atom: JSAtom, } #[test] fn bindgen_test_layout_JSPropertyEnum() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(JSPropertyEnum)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(JSPropertyEnum)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).is_enumerable) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSPropertyEnum), "::", stringify!(is_enumerable) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).atom) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(JSPropertyEnum), "::", stringify!(atom) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct JSPropertyDescriptor { pub flags: ::std::os::raw::c_int, pub value: JSValue, pub getter: JSValue, pub setter: JSValue, } #[test] fn bindgen_test_layout_JSPropertyDescriptor() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(JSPropertyDescriptor)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSPropertyDescriptor)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSPropertyDescriptor), "::", stringify!(flags) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSPropertyDescriptor), "::", stringify!(value) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getter) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSPropertyDescriptor), "::", stringify!(getter) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).setter) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(JSPropertyDescriptor), "::", stringify!(setter) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSClassExoticMethods { pub get_own_property: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, desc: *mut JSPropertyDescriptor, obj: JSValue, prop: JSAtom, ) -> ::std::os::raw::c_int, >, pub get_own_property_names: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, ptab: *mut *mut JSPropertyEnum, plen: *mut u32, obj: JSValue, ) -> ::std::os::raw::c_int, >, pub delete_property: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, obj: JSValue, prop: JSAtom, ) -> ::std::os::raw::c_int, >, pub define_own_property: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom, val: JSValue, getter: JSValue, setter: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >, pub has_property: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, obj: JSValue, atom: JSAtom, ) -> ::std::os::raw::c_int, >, pub get_property: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, obj: JSValue, atom: JSAtom, receiver: JSValue, ) -> JSValue, >, pub set_property: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, obj: JSValue, atom: JSAtom, value: JSValue, receiver: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int, >, } #[test] fn bindgen_test_layout_JSClassExoticMethods() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(JSClassExoticMethods)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSClassExoticMethods)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).get_own_property) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(get_own_property) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).get_own_property_names) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(get_own_property_names) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).delete_property) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(delete_property) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).define_own_property) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(define_own_property) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).has_property) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(has_property) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).get_property) as usize - ptr as usize }, 40usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(get_property) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).set_property) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(JSClassExoticMethods), "::", stringify!(set_property) ) ); } pub type JSClassFinalizer = ::std::option::Option; pub type JSClassGCMark = ::std::option::Option< unsafe extern "C" fn(rt: *mut JSRuntime, val: JSValue, mark_func: JS_MarkFunc), >; pub type JSClassCall = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, func_obj: JSValue, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, flags: ::std::os::raw::c_int, ) -> JSValue, >; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSClassDef { pub class_name: *const ::std::os::raw::c_char, pub finalizer: JSClassFinalizer, pub gc_mark: JSClassGCMark, pub call: JSClassCall, pub exotic: *mut JSClassExoticMethods, } #[test] fn bindgen_test_layout_JSClassDef() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(JSClassDef)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSClassDef)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).class_name) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSClassDef), "::", stringify!(class_name) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).finalizer) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSClassDef), "::", stringify!(finalizer) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).gc_mark) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSClassDef), "::", stringify!(gc_mark) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).call) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSClassDef), "::", stringify!(call) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).exotic) as usize - ptr as usize }, 32usize, concat!( "Offset of field: ", stringify!(JSClassDef), "::", stringify!(exotic) ) ); } extern "C" { pub fn JS_NewClassID(rt: *mut JSRuntime, pclass_id: *mut JSClassID) -> JSClassID; } extern "C" { pub fn JS_GetClassID(v: JSValue) -> JSClassID; } extern "C" { pub fn JS_NewClass( rt: *mut JSRuntime, class_id: JSClassID, class_def: *const JSClassDef, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsRegisteredClass(rt: *mut JSRuntime, class_id: JSClassID) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_NewNumber(ctx: *mut JSContext, d: f64) -> JSValue; } extern "C" { pub fn JS_NewBigInt64(ctx: *mut JSContext, v: i64) -> JSValue; } extern "C" { pub fn JS_NewBigUint64(ctx: *mut JSContext, v: u64) -> JSValue; } extern "C" { pub fn JS_Throw(ctx: *mut JSContext, obj: JSValue) -> JSValue; } extern "C" { pub fn JS_GetException(ctx: *mut JSContext) -> JSValue; } extern "C" { pub fn JS_HasException(ctx: *mut JSContext) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsError(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ResetUncatchableError(ctx: *mut JSContext); } extern "C" { pub fn JS_NewError(ctx: *mut JSContext) -> JSValue; } extern "C" { pub fn JS_ThrowPlainError( ctx: *mut JSContext, fmt: *const ::std::os::raw::c_char, ... ) -> JSValue; } extern "C" { pub fn JS_ThrowSyntaxError( ctx: *mut JSContext, fmt: *const ::std::os::raw::c_char, ... ) -> JSValue; } extern "C" { pub fn JS_ThrowTypeError( ctx: *mut JSContext, fmt: *const ::std::os::raw::c_char, ... ) -> JSValue; } extern "C" { pub fn JS_ThrowReferenceError( ctx: *mut JSContext, fmt: *const ::std::os::raw::c_char, ... ) -> JSValue; } extern "C" { pub fn JS_ThrowRangeError( ctx: *mut JSContext, fmt: *const ::std::os::raw::c_char, ... ) -> JSValue; } extern "C" { pub fn JS_ThrowInternalError( ctx: *mut JSContext, fmt: *const ::std::os::raw::c_char, ... ) -> JSValue; } extern "C" { pub fn JS_ThrowOutOfMemory(ctx: *mut JSContext) -> JSValue; } extern "C" { pub fn __JS_FreeValue(ctx: *mut JSContext, v: JSValue); } extern "C" { pub fn __JS_FreeValueRT(rt: *mut JSRuntime, v: JSValue); } extern "C" { pub fn JS_ToBool(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToInt32(ctx: *mut JSContext, pres: *mut i32, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToInt64(ctx: *mut JSContext, pres: *mut i64, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToIndex(ctx: *mut JSContext, plen: *mut u64, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToFloat64(ctx: *mut JSContext, pres: *mut f64, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToBigInt64( ctx: *mut JSContext, pres: *mut i64, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToBigUint64( ctx: *mut JSContext, pres: *mut u64, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ToInt64Ext( ctx: *mut JSContext, pres: *mut i64, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_NewStringLen( ctx: *mut JSContext, str1: *const ::std::os::raw::c_char, len1: usize, ) -> JSValue; } extern "C" { pub fn JS_NewAtomString(ctx: *mut JSContext, str_: *const ::std::os::raw::c_char) -> JSValue; } extern "C" { pub fn JS_ToString(ctx: *mut JSContext, val: JSValue) -> JSValue; } extern "C" { pub fn JS_ToPropertyKey(ctx: *mut JSContext, val: JSValue) -> JSValue; } extern "C" { pub fn JS_ToCStringLen2( ctx: *mut JSContext, plen: *mut usize, val1: JSValue, cesu8: ::std::os::raw::c_int, ) -> *const ::std::os::raw::c_char; } extern "C" { pub fn JS_FreeCString(ctx: *mut JSContext, ptr: *const ::std::os::raw::c_char); } extern "C" { pub fn JS_NewObjectProtoClass( ctx: *mut JSContext, proto: JSValue, class_id: JSClassID, ) -> JSValue; } extern "C" { pub fn JS_NewObjectClass(ctx: *mut JSContext, class_id: ::std::os::raw::c_int) -> JSValue; } extern "C" { pub fn JS_NewObjectProto(ctx: *mut JSContext, proto: JSValue) -> JSValue; } extern "C" { pub fn JS_NewObject(ctx: *mut JSContext) -> JSValue; } extern "C" { pub fn JS_IsFunction(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsConstructor(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetConstructorBit( ctx: *mut JSContext, func_obj: JSValue, val: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_NewArray(ctx: *mut JSContext) -> JSValue; } extern "C" { pub fn JS_IsArray(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_NewDate(ctx: *mut JSContext, epoch_ms: f64) -> JSValue; } extern "C" { pub fn JS_GetProperty(ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom) -> JSValue; } extern "C" { pub fn JS_GetPropertyUint32(ctx: *mut JSContext, this_obj: JSValue, idx: u32) -> JSValue; } extern "C" { pub fn JS_GetPropertyInt64(ctx: *mut JSContext, this_obj: JSValue, idx: i64) -> JSValue; } extern "C" { pub fn JS_GetPropertyStr( ctx: *mut JSContext, this_obj: JSValue, prop: *const ::std::os::raw::c_char, ) -> JSValue; } extern "C" { pub fn JS_SetProperty( ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetPropertyUint32( ctx: *mut JSContext, this_obj: JSValue, idx: u32, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetPropertyInt64( ctx: *mut JSContext, this_obj: JSValue, idx: i64, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetPropertyStr( ctx: *mut JSContext, this_obj: JSValue, prop: *const ::std::os::raw::c_char, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_HasProperty( ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsExtensible(ctx: *mut JSContext, obj: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_PreventExtensions(ctx: *mut JSContext, obj: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_DeleteProperty( ctx: *mut JSContext, obj: JSValue, prop: JSAtom, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetPrototype( ctx: *mut JSContext, obj: JSValue, proto_val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_GetPrototype(ctx: *mut JSContext, val: JSValue) -> JSValue; } extern "C" { pub fn JS_GetLength(ctx: *mut JSContext, obj: JSValue, pres: *mut i64) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetLength(ctx: *mut JSContext, obj: JSValue, len: i64) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_GetOwnPropertyNames( ctx: *mut JSContext, ptab: *mut *mut JSPropertyEnum, plen: *mut u32, obj: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_GetOwnProperty( ctx: *mut JSContext, desc: *mut JSPropertyDescriptor, obj: JSValue, prop: JSAtom, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_FreePropertyEnum(ctx: *mut JSContext, tab: *mut JSPropertyEnum, len: u32); } extern "C" { pub fn JS_Call( ctx: *mut JSContext, func_obj: JSValue, this_obj: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue; } extern "C" { pub fn JS_Invoke( ctx: *mut JSContext, this_val: JSValue, atom: JSAtom, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue; } extern "C" { pub fn JS_CallConstructor( ctx: *mut JSContext, func_obj: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue; } extern "C" { pub fn JS_CallConstructor2( ctx: *mut JSContext, func_obj: JSValue, new_target: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue; } extern "C" { pub fn JS_DetectModule( input: *const ::std::os::raw::c_char, input_len: usize, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_Eval( ctx: *mut JSContext, input: *const ::std::os::raw::c_char, input_len: usize, filename: *const ::std::os::raw::c_char, eval_flags: ::std::os::raw::c_int, ) -> JSValue; } extern "C" { pub fn JS_EvalThis( ctx: *mut JSContext, this_obj: JSValue, input: *const ::std::os::raw::c_char, input_len: usize, filename: *const ::std::os::raw::c_char, eval_flags: ::std::os::raw::c_int, ) -> JSValue; } extern "C" { pub fn JS_GetGlobalObject(ctx: *mut JSContext) -> JSValue; } extern "C" { pub fn JS_IsInstanceOf( ctx: *mut JSContext, val: JSValue, obj: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_DefineProperty( ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom, val: JSValue, getter: JSValue, setter: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_DefinePropertyValue( ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom, val: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_DefinePropertyValueUint32( ctx: *mut JSContext, this_obj: JSValue, idx: u32, val: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_DefinePropertyValueStr( ctx: *mut JSContext, this_obj: JSValue, prop: *const ::std::os::raw::c_char, val: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_DefinePropertyGetSet( ctx: *mut JSContext, this_obj: JSValue, prop: JSAtom, getter: JSValue, setter: JSValue, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetOpaque(obj: JSValue, opaque: *mut ::std::os::raw::c_void); } extern "C" { pub fn JS_GetOpaque(obj: JSValue, class_id: JSClassID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn JS_GetOpaque2( ctx: *mut JSContext, obj: JSValue, class_id: JSClassID, ) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn JS_GetAnyOpaque(obj: JSValue, class_id: *mut JSClassID) -> *mut ::std::os::raw::c_void; } extern "C" { pub fn JS_ParseJSON( ctx: *mut JSContext, buf: *const ::std::os::raw::c_char, buf_len: usize, filename: *const ::std::os::raw::c_char, ) -> JSValue; } extern "C" { pub fn JS_JSONStringify( ctx: *mut JSContext, obj: JSValue, replacer: JSValue, space0: JSValue, ) -> JSValue; } pub type JSFreeArrayBufferDataFunc = ::std::option::Option< unsafe extern "C" fn( rt: *mut JSRuntime, opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void, ), >; extern "C" { pub fn JS_NewArrayBuffer( ctx: *mut JSContext, buf: *mut u8, len: usize, free_func: JSFreeArrayBufferDataFunc, opaque: *mut ::std::os::raw::c_void, is_shared: ::std::os::raw::c_int, ) -> JSValue; } extern "C" { pub fn JS_NewArrayBufferCopy(ctx: *mut JSContext, buf: *const u8, len: usize) -> JSValue; } extern "C" { pub fn JS_DetachArrayBuffer(ctx: *mut JSContext, obj: JSValue); } extern "C" { pub fn JS_GetArrayBuffer(ctx: *mut JSContext, psize: *mut usize, obj: JSValue) -> *mut u8; } extern "C" { pub fn JS_IsArrayBuffer(obj: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_GetUint8Array(ctx: *mut JSContext, psize: *mut usize, obj: JSValue) -> *mut u8; } extern "C" { pub fn JS_GetTypedArrayBuffer( ctx: *mut JSContext, obj: JSValue, pbyte_offset: *mut usize, pbyte_length: *mut usize, pbytes_per_element: *mut usize, ) -> JSValue; } extern "C" { pub fn JS_NewUint8Array( ctx: *mut JSContext, buf: *mut u8, len: usize, free_func: JSFreeArrayBufferDataFunc, opaque: *mut ::std::os::raw::c_void, is_shared: ::std::os::raw::c_int, ) -> JSValue; } extern "C" { pub fn JS_IsUint8Array(obj: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_NewUint8ArrayCopy(ctx: *mut JSContext, buf: *const u8, len: usize) -> JSValue; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSSharedArrayBufferFunctions { pub sab_alloc: ::std::option::Option< unsafe extern "C" fn( opaque: *mut ::std::os::raw::c_void, size: usize, ) -> *mut ::std::os::raw::c_void, >, pub sab_free: ::std::option::Option< unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void), >, pub sab_dup: ::std::option::Option< unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void), >, pub sab_opaque: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout_JSSharedArrayBufferFunctions() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(JSSharedArrayBufferFunctions)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSSharedArrayBufferFunctions)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sab_alloc) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSSharedArrayBufferFunctions), "::", stringify!(sab_alloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sab_free) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSSharedArrayBufferFunctions), "::", stringify!(sab_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sab_dup) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSSharedArrayBufferFunctions), "::", stringify!(sab_dup) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).sab_opaque) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSSharedArrayBufferFunctions), "::", stringify!(sab_opaque) ) ); } extern "C" { pub fn JS_SetSharedArrayBufferFunctions( rt: *mut JSRuntime, sf: *const JSSharedArrayBufferFunctions, ); } pub const JSPromiseStateEnum_JS_PROMISE_PENDING: JSPromiseStateEnum = 0; pub const JSPromiseStateEnum_JS_PROMISE_FULFILLED: JSPromiseStateEnum = 1; pub const JSPromiseStateEnum_JS_PROMISE_REJECTED: JSPromiseStateEnum = 2; pub type JSPromiseStateEnum = ::std::os::raw::c_uint; extern "C" { pub fn JS_NewPromiseCapability(ctx: *mut JSContext, resolving_funcs: *mut JSValue) -> JSValue; } extern "C" { pub fn JS_PromiseState(ctx: *mut JSContext, promise: JSValue) -> JSPromiseStateEnum; } extern "C" { pub fn JS_PromiseResult(ctx: *mut JSContext, promise: JSValue) -> JSValue; } extern "C" { pub fn JS_NewSymbol( ctx: *mut JSContext, description: *const ::std::os::raw::c_char, is_global: ::std::os::raw::c_int, ) -> JSValue; } pub type JSHostPromiseRejectionTracker = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, promise: JSValue, reason: JSValue, is_handled: ::std::os::raw::c_int, opaque: *mut ::std::os::raw::c_void, ), >; extern "C" { pub fn JS_SetHostPromiseRejectionTracker( rt: *mut JSRuntime, cb: JSHostPromiseRejectionTracker, opaque: *mut ::std::os::raw::c_void, ); } pub type JSInterruptHandler = ::std::option::Option< unsafe extern "C" fn( rt: *mut JSRuntime, opaque: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >; extern "C" { pub fn JS_SetInterruptHandler( rt: *mut JSRuntime, cb: JSInterruptHandler, opaque: *mut ::std::os::raw::c_void, ); } extern "C" { pub fn JS_SetCanBlock(rt: *mut JSRuntime, can_block: ::std::os::raw::c_int); } extern "C" { pub fn JS_SetIsHTMLDDA(ctx: *mut JSContext, obj: JSValue); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSModuleDef { _unused: [u8; 0], } pub type JSModuleNormalizeFunc = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, module_base_name: *const ::std::os::raw::c_char, module_name: *const ::std::os::raw::c_char, opaque: *mut ::std::os::raw::c_void, ) -> *mut ::std::os::raw::c_char, >; pub type JSModuleLoaderFunc = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, module_name: *const ::std::os::raw::c_char, opaque: *mut ::std::os::raw::c_void, ) -> *mut JSModuleDef, >; extern "C" { pub fn JS_SetModuleLoaderFunc( rt: *mut JSRuntime, module_normalize: JSModuleNormalizeFunc, module_loader: JSModuleLoaderFunc, opaque: *mut ::std::os::raw::c_void, ); } extern "C" { pub fn JS_GetImportMeta(ctx: *mut JSContext, m: *mut JSModuleDef) -> JSValue; } extern "C" { pub fn JS_GetModuleName(ctx: *mut JSContext, m: *mut JSModuleDef) -> JSAtom; } extern "C" { pub fn JS_GetModuleNamespace(ctx: *mut JSContext, m: *mut JSModuleDef) -> JSValue; } pub type JSJobFunc = ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> JSValue, >; extern "C" { pub fn JS_EnqueueJob( ctx: *mut JSContext, job_func: JSJobFunc, argc: ::std::os::raw::c_int, argv: *mut JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_IsJobPending(rt: *mut JSRuntime) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_ExecutePendingJob( rt: *mut JSRuntime, pctx: *mut *mut JSContext, ) -> ::std::os::raw::c_int; } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSSABTab { pub tab: *mut *mut u8, pub len: usize, } #[test] fn bindgen_test_layout_JSSABTab() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(JSSABTab)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSSABTab)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tab) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSSABTab), "::", stringify!(tab) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSSABTab), "::", stringify!(len) ) ); } extern "C" { pub fn JS_WriteObject( ctx: *mut JSContext, psize: *mut usize, obj: JSValue, flags: ::std::os::raw::c_int, ) -> *mut u8; } extern "C" { pub fn JS_WriteObject2( ctx: *mut JSContext, psize: *mut usize, obj: JSValue, flags: ::std::os::raw::c_int, psab_tab: *mut JSSABTab, ) -> *mut u8; } extern "C" { pub fn JS_ReadObject( ctx: *mut JSContext, buf: *const u8, buf_len: usize, flags: ::std::os::raw::c_int, ) -> JSValue; } extern "C" { pub fn JS_ReadObject2( ctx: *mut JSContext, buf: *const u8, buf_len: usize, flags: ::std::os::raw::c_int, psab_tab: *mut JSSABTab, ) -> JSValue; } extern "C" { pub fn JS_EvalFunction(ctx: *mut JSContext, fun_obj: JSValue) -> JSValue; } extern "C" { pub fn JS_ResolveModule(ctx: *mut JSContext, obj: JSValue) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_GetScriptOrModuleName( ctx: *mut JSContext, n_stack_levels: ::std::os::raw::c_int, ) -> JSAtom; } extern "C" { pub fn JS_LoadModule( ctx: *mut JSContext, basename: *const ::std::os::raw::c_char, filename: *const ::std::os::raw::c_char, ) -> JSValue; } pub const JSCFunctionEnum_JS_CFUNC_generic: JSCFunctionEnum = 0; pub const JSCFunctionEnum_JS_CFUNC_generic_magic: JSCFunctionEnum = 1; pub const JSCFunctionEnum_JS_CFUNC_constructor: JSCFunctionEnum = 2; pub const JSCFunctionEnum_JS_CFUNC_constructor_magic: JSCFunctionEnum = 3; pub const JSCFunctionEnum_JS_CFUNC_constructor_or_func: JSCFunctionEnum = 4; pub const JSCFunctionEnum_JS_CFUNC_constructor_or_func_magic: JSCFunctionEnum = 5; pub const JSCFunctionEnum_JS_CFUNC_f_f: JSCFunctionEnum = 6; pub const JSCFunctionEnum_JS_CFUNC_f_f_f: JSCFunctionEnum = 7; pub const JSCFunctionEnum_JS_CFUNC_getter: JSCFunctionEnum = 8; pub const JSCFunctionEnum_JS_CFUNC_setter: JSCFunctionEnum = 9; pub const JSCFunctionEnum_JS_CFUNC_getter_magic: JSCFunctionEnum = 10; pub const JSCFunctionEnum_JS_CFUNC_setter_magic: JSCFunctionEnum = 11; pub const JSCFunctionEnum_JS_CFUNC_iterator_next: JSCFunctionEnum = 12; pub type JSCFunctionEnum = ::std::os::raw::c_uint; #[repr(C)] #[derive(Copy, Clone)] pub union JSCFunctionType { pub generic: JSCFunction, pub generic_magic: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, magic: ::std::os::raw::c_int, ) -> JSValue, >, pub constructor: JSCFunction, pub constructor_magic: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, new_target: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, magic: ::std::os::raw::c_int, ) -> JSValue, >, pub constructor_or_func: JSCFunction, pub f_f: ::std::option::Option f64>, pub f_f_f: ::std::option::Option f64>, pub getter: ::std::option::Option< unsafe extern "C" fn(ctx: *mut JSContext, this_val: JSValue) -> JSValue, >, pub setter: ::std::option::Option< unsafe extern "C" fn(ctx: *mut JSContext, this_val: JSValue, val: JSValue) -> JSValue, >, pub getter_magic: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, magic: ::std::os::raw::c_int, ) -> JSValue, >, pub setter_magic: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, val: JSValue, magic: ::std::os::raw::c_int, ) -> JSValue, >, pub iterator_next: ::std::option::Option< unsafe extern "C" fn( ctx: *mut JSContext, this_val: JSValue, argc: ::std::os::raw::c_int, argv: *mut JSValue, pdone: *mut ::std::os::raw::c_int, magic: ::std::os::raw::c_int, ) -> JSValue, >, } #[test] fn bindgen_test_layout_JSCFunctionType() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(JSCFunctionType)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSCFunctionType)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).generic) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(generic) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).generic_magic) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(generic_magic) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).constructor) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(constructor) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).constructor_magic) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(constructor_magic) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).constructor_or_func) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(constructor_or_func) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).f_f) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(f_f) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).f_f_f) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(f_f_f) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getter) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(getter) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).setter) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(setter) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getter_magic) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(getter_magic) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).setter_magic) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(setter_magic) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).iterator_next) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionType), "::", stringify!(iterator_next) ) ); } extern "C" { pub fn JS_NewCFunction2( ctx: *mut JSContext, func: JSCFunction, name: *const ::std::os::raw::c_char, length: ::std::os::raw::c_int, cproto: JSCFunctionEnum, magic: ::std::os::raw::c_int, ) -> JSValue; } extern "C" { pub fn JS_NewCFunctionData( ctx: *mut JSContext, func: JSCFunctionData, length: ::std::os::raw::c_int, magic: ::std::os::raw::c_int, data_len: ::std::os::raw::c_int, data: *mut JSValue, ) -> JSValue; } extern "C" { pub fn JS_SetConstructor(ctx: *mut JSContext, func_obj: JSValue, proto: JSValue); } #[repr(C)] #[derive(Copy, Clone)] pub struct JSCFunctionListEntry { pub name: *const ::std::os::raw::c_char, pub prop_flags: u8, pub def_type: u8, pub magic: i16, pub u: JSCFunctionListEntry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union JSCFunctionListEntry__bindgen_ty_1 { pub func: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1, pub getset: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2, pub alias: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3, pub prop_list: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4, pub str_: *const ::std::os::raw::c_char, pub i32_: i32, pub i64_: i64, pub f64_: f64, } #[repr(C)] #[derive(Copy, Clone)] pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1 { pub length: u8, pub cproto: u8, pub cfunc: JSCFunctionType, } #[test] fn bindgen_test_layout_JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1), "::", stringify!(length) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).cproto) as usize - ptr as usize }, 1usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cproto) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).cfunc) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1), "::", stringify!(cfunc) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2 { pub get: JSCFunctionType, pub set: JSCFunctionType, } #[test] fn bindgen_test_layout_JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).get) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2), "::", stringify!(get) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2), "::", stringify!(set) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3 { pub name: *const ::std::os::raw::c_char, pub base: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3), "::", stringify!(name) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3), "::", stringify!(base) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4 { pub tab: *const JSCFunctionListEntry, pub len: ::std::os::raw::c_int, } #[test] fn bindgen_test_layout_JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).tab) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4), "::", stringify!(tab) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4), "::", stringify!(len) ) ); } #[test] fn bindgen_test_layout_JSCFunctionListEntry__bindgen_ty_1() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(JSCFunctionListEntry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(JSCFunctionListEntry__bindgen_ty_1) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(func) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).getset) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(getset) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(alias) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).prop_list) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(prop_list) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(str_) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(i32_) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(i64_) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).f64_) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry__bindgen_ty_1), "::", stringify!(f64_) ) ); } #[test] fn bindgen_test_layout_JSCFunctionListEntry() { const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(JSCFunctionListEntry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSCFunctionListEntry)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry), "::", stringify!(name) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).prop_flags) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry), "::", stringify!(prop_flags) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).def_type) as usize - ptr as usize }, 9usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry), "::", stringify!(def_type) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, 10usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry), "::", stringify!(magic) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSCFunctionListEntry), "::", stringify!(u) ) ); } extern "C" { pub fn JS_SetPropertyFunctionList( ctx: *mut JSContext, obj: JSValue, tab: *const JSCFunctionListEntry, len: ::std::os::raw::c_int, ); } pub type JSModuleInitFunc = ::std::option::Option< unsafe extern "C" fn(ctx: *mut JSContext, m: *mut JSModuleDef) -> ::std::os::raw::c_int, >; extern "C" { pub fn JS_NewCModule( ctx: *mut JSContext, name_str: *const ::std::os::raw::c_char, func: JSModuleInitFunc, ) -> *mut JSModuleDef; } extern "C" { pub fn JS_AddModuleExport( ctx: *mut JSContext, m: *mut JSModuleDef, name_str: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_AddModuleExportList( ctx: *mut JSContext, m: *mut JSModuleDef, tab: *const JSCFunctionListEntry, len: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetModuleExport( ctx: *mut JSContext, m: *mut JSModuleDef, export_name: *const ::std::os::raw::c_char, val: JSValue, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_SetModuleExportList( ctx: *mut JSContext, m: *mut JSModuleDef, tab: *const JSCFunctionListEntry, len: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int; } extern "C" { pub fn JS_GetVersion() -> *const ::std::os::raw::c_char; } pub type __builtin_va_list = [__va_list_tag; 1usize]; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __va_list_tag { pub gp_offset: ::std::os::raw::c_uint, pub fp_offset: ::std::os::raw::c_uint, pub overflow_arg_area: *mut ::std::os::raw::c_void, pub reg_save_area: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout___va_list_tag() { const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<__va_list_tag>(), 24usize, concat!("Size of: ", stringify!(__va_list_tag)) ); assert_eq!( ::std::mem::align_of::<__va_list_tag>(), 8usize, concat!("Alignment of ", stringify!(__va_list_tag)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(__va_list_tag), "::", stringify!(gp_offset) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", stringify!(__va_list_tag), "::", stringify!(fp_offset) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(__va_list_tag), "::", stringify!(overflow_arg_area) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(__va_list_tag), "::", stringify!(reg_save_area) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct __locale_data { pub _address: u8, }