/* automatically generated by rust-bindgen 0.63.0 */ 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 = 36; 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 __GNUC_VA_LIST: u32 = 1; 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; 5usize] = b"/tmp\0"; pub const _BITS_STDIO_LIM_H: u32 = 1; pub const L_tmpnam: u32 = 20; pub const TMP_MAX: u32 = 238328; pub const FILENAME_MAX: u32 = 4096; pub const L_ctermid: u32 = 9; pub const FOPEN_MAX: u32 = 16; pub const __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 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_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_STRIP: u32 = 16; pub const JS_EVAL_FLAG_COMPILE_ONLY: u32 = 32; pub const JS_EVAL_FLAG_BACKTRACE_BARRIER: u32 = 64; pub const JS_ATOM_NULL: u32 = 0; pub const JS_CALL_FLAG_CONSTRUCTOR: u32 = 1; 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_PARSE_JSON_EXT: u32 = 1; pub const JS_WRITE_OBJ_BYTECODE: u32 = 1; pub const JS_WRITE_OBJ_BSWAP: u32 = 2; pub const JS_WRITE_OBJ_SAB: u32 = 4; pub const JS_WRITE_OBJ_REFERENCE: u32 = 8; pub const JS_READ_OBJ_BYTECODE: u32 = 1; pub const JS_READ_OBJ_ROM_DATA: u32 = 2; 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 type va_list = __builtin_va_list; 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 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; #[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_1 = -11; pub const JS_TAG_BIG_DECIMAL: _bindgen_ty_1 = -11; pub const JS_TAG_BIG_INT: _bindgen_ty_1 = -10; pub const JS_TAG_BIG_FLOAT: _bindgen_ty_1 = -9; pub const JS_TAG_SYMBOL: _bindgen_ty_1 = -8; pub const JS_TAG_STRING: _bindgen_ty_1 = -7; pub const JS_TAG_MODULE: _bindgen_ty_1 = -3; pub const JS_TAG_FUNCTION_BYTECODE: _bindgen_ty_1 = -2; pub const JS_TAG_OBJECT: _bindgen_ty_1 = -1; pub const JS_TAG_INT: _bindgen_ty_1 = 0; pub const JS_TAG_BOOL: _bindgen_ty_1 = 1; pub const JS_TAG_NULL: _bindgen_ty_1 = 2; pub const JS_TAG_UNDEFINED: _bindgen_ty_1 = 3; pub const JS_TAG_UNINITIALIZED: _bindgen_ty_1 = 4; pub const JS_TAG_CATCH_OFFSET: _bindgen_ty_1 = 5; pub const JS_TAG_EXCEPTION: _bindgen_ty_1 = 6; pub const JS_TAG_FLOAT64: _bindgen_ty_1 = 7; pub type _bindgen_ty_1 = ::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 JSMallocState { pub malloc_count: usize, pub malloc_size: usize, pub malloc_limit: usize, pub opaque: *mut ::std::os::raw::c_void, } #[test] fn bindgen_test_layout_JSMallocState() { 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!(JSMallocState)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(JSMallocState)) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).malloc_count) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSMallocState), "::", stringify!(malloc_count) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).malloc_size) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSMallocState), "::", stringify!(malloc_size) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).malloc_limit) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", stringify!(JSMallocState), "::", stringify!(malloc_limit) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(JSMallocState), "::", stringify!(opaque) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSMallocFunctions { pub js_malloc: ::std::option::Option< unsafe extern "C" fn(s: *mut JSMallocState, size: usize) -> *mut ::std::os::raw::c_void, >, pub js_free: ::std::option::Option< unsafe extern "C" fn(s: *mut JSMallocState, ptr: *mut ::std::os::raw::c_void), >, pub js_realloc: ::std::option::Option< unsafe extern "C" fn( s: *mut JSMallocState, 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::(), 32usize, 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_malloc) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_malloc) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_free) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", stringify!(JSMallocFunctions), "::", stringify!(js_free) ) ); assert_eq!( unsafe { ::std::ptr::addr_of!((*ptr).js_realloc) as usize - ptr as usize }, 16usize, 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 }, 24usize, 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_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_AddIntrinsicStringNormalize(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_AddIntrinsicBigFloat(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicBigDecimal(ctx: *mut JSContext); } extern "C" { pub fn JS_AddIntrinsicOperators(ctx: *mut JSContext); } extern "C" { pub fn JS_EnableBignumExt(ctx: *mut JSContext, enable: ::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_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_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(pclass_id: *mut JSClassID) -> 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_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_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_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_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_NewString(ctx: *mut JSContext, str_: *const ::std::os::raw::c_char) -> 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_GetPropertyInternal( ctx: *mut JSContext, obj: JSValue, prop: JSAtom, receiver: JSValue, throw_ref_error: ::std::os::raw::c_int, ) -> 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_GetPropertyUint32(ctx: *mut JSContext, this_obj: JSValue, idx: u32) -> JSValue; } extern "C" { pub fn JS_SetPropertyInternal( 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_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_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_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_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_ParseJSON2( ctx: *mut JSContext, buf: *const ::std::os::raw::c_char, buf_len: usize, filename: *const ::std::os::raw::c_char, flags: ::std::os::raw::c_int, ) -> 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_GetTypedArrayBuffer( ctx: *mut JSContext, obj: JSValue, pbyte_offset: *mut usize, pbyte_length: *mut usize, pbytes_per_element: *mut 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, ); } extern "C" { pub fn JS_NewPromiseCapability(ctx: *mut JSContext, resolving_funcs: *mut JSValue) -> 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; } 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; } 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 *mut *mut u8, psab_tab_len: *mut usize, ) -> *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_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_RunModule( ctx: *mut JSContext, basename: *const ::std::os::raw::c_char, filename: *const ::std::os::raw::c_char, ) -> *mut JSModuleDef; } 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; } 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) ) ); }