diff --git a/sys/src/bindings/loongarch64-unknown-linux-gnu.rs b/sys/src/bindings/loongarch64-unknown-linux-gnu.rs new file mode 100644 index 00000000..7823a2cf --- /dev/null +++ b/sys/src/bindings/loongarch64-unknown-linux-gnu.rs @@ -0,0 +1,2955 @@ +/* automatically generated by rust-bindgen 0.69.5 */ + +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 type size_t = ::std::os::raw::c_ulong; +#[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_3 = -9; +pub const JS_TAG_BIG_INT: _bindgen_ty_3 = -9; +pub const JS_TAG_SYMBOL: _bindgen_ty_3 = -8; +pub const JS_TAG_STRING: _bindgen_ty_3 = -7; +pub const JS_TAG_MODULE: _bindgen_ty_3 = -3; +pub const JS_TAG_FUNCTION_BYTECODE: _bindgen_ty_3 = -2; +pub const JS_TAG_OBJECT: _bindgen_ty_3 = -1; +pub const JS_TAG_INT: _bindgen_ty_3 = 0; +pub const JS_TAG_BOOL: _bindgen_ty_3 = 1; +pub const JS_TAG_NULL: _bindgen_ty_3 = 2; +pub const JS_TAG_UNDEFINED: _bindgen_ty_3 = 3; +pub const JS_TAG_UNINITIALIZED: _bindgen_ty_3 = 4; +pub const JS_TAG_CATCH_OFFSET: _bindgen_ty_3 = 5; +pub const JS_TAG_EXCEPTION: _bindgen_ty_3 = 6; +pub const JS_TAG_FLOAT64: _bindgen_ty_3 = 7; +pub type _bindgen_ty_3 = ::std::os::raw::c_int; +#[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: size_t, + size: size_t, + ) -> *mut ::std::os::raw::c_void, + >, + pub js_malloc: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + size: size_t, + ) -> *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: size_t, + ) -> *mut ::std::os::raw::c_void, + >, + pub js_malloc_usable_size: + ::std::option::Option size_t>, +} +#[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) + ) + ); +} +pub type JSRuntimeFinalizer = ::std::option::Option< + unsafe extern "C" fn(rt: *mut JSRuntime, arg: *mut ::std::os::raw::c_void), +>; +#[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: size_t); +} +extern "C" { + pub fn JS_SetDumpFlags(rt: *mut JSRuntime, flags: u64); +} +extern "C" { + pub fn JS_GetGCThreshold(rt: *mut JSRuntime) -> size_t; +} +extern "C" { + pub fn JS_SetGCThreshold(rt: *mut JSRuntime, gc_threshold: size_t); +} +extern "C" { + pub fn JS_SetMaxStackSize(rt: *mut JSRuntime, stack_size: size_t); +} +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); +} +extern "C" { + pub fn JS_AddRuntimeFinalizer( + rt: *mut JSRuntime, + finalizer: JSRuntimeFinalizer, + arg: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +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_GetFunctionProto(ctx: *mut JSContext) -> 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: size_t, + size: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_malloc_rt(rt: *mut JSRuntime, size: size_t) -> *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: size_t, + ) -> *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, + ) -> size_t; +} +extern "C" { + pub fn js_mallocz_rt(rt: *mut JSRuntime, size: size_t) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_calloc( + ctx: *mut JSContext, + count: size_t, + size: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_malloc(ctx: *mut JSContext, size: size_t) -> *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: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_malloc_usable_size(ctx: *mut JSContext, ptr: *const ::std::os::raw::c_void) + -> size_t; +} +extern "C" { + pub fn js_realloc2( + ctx: *mut JSContext, + ptr: *mut ::std::os::raw::c_void, + size: size_t, + pslack: *mut size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_mallocz(ctx: *mut JSContext, size: size_t) -> *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: size_t, + ) -> *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_NewAtomLen( + ctx: *mut JSContext, + str_: *const ::std::os::raw::c_char, + len: size_t, + ) -> 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_DupValue(ctx: *mut JSContext, v: JSValue) -> JSValue; +} +extern "C" { + pub fn JS_DupValueRT(rt: *mut JSRuntime, v: JSValue) -> 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: size_t, + ) -> 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 size_t, + 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: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn JS_Eval( + ctx: *mut JSContext, + input: *const ::std::os::raw::c_char, + input_len: size_t, + 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: size_t, + 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) + -> ::std::os::raw::c_int; +} +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: size_t, + 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: size_t, + 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: size_t) -> JSValue; +} +extern "C" { + pub fn JS_DetachArrayBuffer(ctx: *mut JSContext, obj: JSValue); +} +extern "C" { + pub fn JS_GetArrayBuffer(ctx: *mut JSContext, psize: *mut size_t, 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 size_t, obj: JSValue) -> *mut u8; +} +extern "C" { + pub fn JS_GetTypedArrayBuffer( + ctx: *mut JSContext, + obj: JSValue, + pbyte_offset: *mut size_t, + pbyte_length: *mut size_t, + pbytes_per_element: *mut size_t, + ) -> JSValue; +} +extern "C" { + pub fn JS_NewUint8Array( + ctx: *mut JSContext, + buf: *mut u8, + len: size_t, + 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: size_t) -> 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: size_t, + ) -> *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: size_t, +} +#[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 size_t, + obj: JSValue, + flags: ::std::os::raw::c_int, + ) -> *mut u8; +} +extern "C" { + pub fn JS_WriteObject2( + ctx: *mut JSContext, + psize: *mut size_t, + 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: size_t, + flags: ::std::os::raw::c_int, + ) -> JSValue; +} +extern "C" { + pub fn JS_ReadObject2( + ctx: *mut JSContext, + buf: *const u8, + buf_len: size_t, + 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 u64_: u64, + 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).u64_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JSCFunctionListEntry__bindgen_ty_1), + "::", + stringify!(u64_) + ) + ); + 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; +} +extern "C" { + pub fn js_std_cmd(cmd: ::std::os::raw::c_int, ...) -> usize; +} +pub const __JS_ATOM_NULL: _bindgen_ty_4 = 0; +pub const JS_ATOM_null: _bindgen_ty_4 = 1; +pub const JS_ATOM_false: _bindgen_ty_4 = 2; +pub const JS_ATOM_true: _bindgen_ty_4 = 3; +pub const JS_ATOM_if: _bindgen_ty_4 = 4; +pub const JS_ATOM_else: _bindgen_ty_4 = 5; +pub const JS_ATOM_return: _bindgen_ty_4 = 6; +pub const JS_ATOM_var: _bindgen_ty_4 = 7; +pub const JS_ATOM_this: _bindgen_ty_4 = 8; +pub const JS_ATOM_delete: _bindgen_ty_4 = 9; +pub const JS_ATOM_void: _bindgen_ty_4 = 10; +pub const JS_ATOM_typeof: _bindgen_ty_4 = 11; +pub const JS_ATOM_new: _bindgen_ty_4 = 12; +pub const JS_ATOM_in: _bindgen_ty_4 = 13; +pub const JS_ATOM_instanceof: _bindgen_ty_4 = 14; +pub const JS_ATOM_do: _bindgen_ty_4 = 15; +pub const JS_ATOM_while: _bindgen_ty_4 = 16; +pub const JS_ATOM_for: _bindgen_ty_4 = 17; +pub const JS_ATOM_break: _bindgen_ty_4 = 18; +pub const JS_ATOM_continue: _bindgen_ty_4 = 19; +pub const JS_ATOM_switch: _bindgen_ty_4 = 20; +pub const JS_ATOM_case: _bindgen_ty_4 = 21; +pub const JS_ATOM_default: _bindgen_ty_4 = 22; +pub const JS_ATOM_throw: _bindgen_ty_4 = 23; +pub const JS_ATOM_try: _bindgen_ty_4 = 24; +pub const JS_ATOM_catch: _bindgen_ty_4 = 25; +pub const JS_ATOM_finally: _bindgen_ty_4 = 26; +pub const JS_ATOM_function: _bindgen_ty_4 = 27; +pub const JS_ATOM_debugger: _bindgen_ty_4 = 28; +pub const JS_ATOM_with: _bindgen_ty_4 = 29; +pub const JS_ATOM_class: _bindgen_ty_4 = 30; +pub const JS_ATOM_const: _bindgen_ty_4 = 31; +pub const JS_ATOM_enum: _bindgen_ty_4 = 32; +pub const JS_ATOM_export: _bindgen_ty_4 = 33; +pub const JS_ATOM_extends: _bindgen_ty_4 = 34; +pub const JS_ATOM_import: _bindgen_ty_4 = 35; +pub const JS_ATOM_super: _bindgen_ty_4 = 36; +pub const JS_ATOM_implements: _bindgen_ty_4 = 37; +pub const JS_ATOM_interface: _bindgen_ty_4 = 38; +pub const JS_ATOM_let: _bindgen_ty_4 = 39; +pub const JS_ATOM_package: _bindgen_ty_4 = 40; +pub const JS_ATOM_private: _bindgen_ty_4 = 41; +pub const JS_ATOM_protected: _bindgen_ty_4 = 42; +pub const JS_ATOM_public: _bindgen_ty_4 = 43; +pub const JS_ATOM_static: _bindgen_ty_4 = 44; +pub const JS_ATOM_yield: _bindgen_ty_4 = 45; +pub const JS_ATOM_await: _bindgen_ty_4 = 46; +pub const JS_ATOM_empty_string: _bindgen_ty_4 = 47; +pub const JS_ATOM_keys: _bindgen_ty_4 = 48; +pub const JS_ATOM_size: _bindgen_ty_4 = 49; +pub const JS_ATOM_length: _bindgen_ty_4 = 50; +pub const JS_ATOM_message: _bindgen_ty_4 = 51; +pub const JS_ATOM_cause: _bindgen_ty_4 = 52; +pub const JS_ATOM_errors: _bindgen_ty_4 = 53; +pub const JS_ATOM_stack: _bindgen_ty_4 = 54; +pub const JS_ATOM_name: _bindgen_ty_4 = 55; +pub const JS_ATOM_toString: _bindgen_ty_4 = 56; +pub const JS_ATOM_toLocaleString: _bindgen_ty_4 = 57; +pub const JS_ATOM_valueOf: _bindgen_ty_4 = 58; +pub const JS_ATOM_eval: _bindgen_ty_4 = 59; +pub const JS_ATOM_prototype: _bindgen_ty_4 = 60; +pub const JS_ATOM_constructor: _bindgen_ty_4 = 61; +pub const JS_ATOM_configurable: _bindgen_ty_4 = 62; +pub const JS_ATOM_writable: _bindgen_ty_4 = 63; +pub const JS_ATOM_enumerable: _bindgen_ty_4 = 64; +pub const JS_ATOM_value: _bindgen_ty_4 = 65; +pub const JS_ATOM_get: _bindgen_ty_4 = 66; +pub const JS_ATOM_set: _bindgen_ty_4 = 67; +pub const JS_ATOM_of: _bindgen_ty_4 = 68; +pub const JS_ATOM___proto__: _bindgen_ty_4 = 69; +pub const JS_ATOM_undefined: _bindgen_ty_4 = 70; +pub const JS_ATOM_number: _bindgen_ty_4 = 71; +pub const JS_ATOM_boolean: _bindgen_ty_4 = 72; +pub const JS_ATOM_string: _bindgen_ty_4 = 73; +pub const JS_ATOM_object: _bindgen_ty_4 = 74; +pub const JS_ATOM_symbol: _bindgen_ty_4 = 75; +pub const JS_ATOM_integer: _bindgen_ty_4 = 76; +pub const JS_ATOM_unknown: _bindgen_ty_4 = 77; +pub const JS_ATOM_arguments: _bindgen_ty_4 = 78; +pub const JS_ATOM_callee: _bindgen_ty_4 = 79; +pub const JS_ATOM_caller: _bindgen_ty_4 = 80; +pub const JS_ATOM__eval_: _bindgen_ty_4 = 81; +pub const JS_ATOM__ret_: _bindgen_ty_4 = 82; +pub const JS_ATOM__var_: _bindgen_ty_4 = 83; +pub const JS_ATOM__arg_var_: _bindgen_ty_4 = 84; +pub const JS_ATOM__with_: _bindgen_ty_4 = 85; +pub const JS_ATOM_lastIndex: _bindgen_ty_4 = 86; +pub const JS_ATOM_target: _bindgen_ty_4 = 87; +pub const JS_ATOM_index: _bindgen_ty_4 = 88; +pub const JS_ATOM_input: _bindgen_ty_4 = 89; +pub const JS_ATOM_defineProperties: _bindgen_ty_4 = 90; +pub const JS_ATOM_apply: _bindgen_ty_4 = 91; +pub const JS_ATOM_join: _bindgen_ty_4 = 92; +pub const JS_ATOM_concat: _bindgen_ty_4 = 93; +pub const JS_ATOM_split: _bindgen_ty_4 = 94; +pub const JS_ATOM_construct: _bindgen_ty_4 = 95; +pub const JS_ATOM_getPrototypeOf: _bindgen_ty_4 = 96; +pub const JS_ATOM_setPrototypeOf: _bindgen_ty_4 = 97; +pub const JS_ATOM_isExtensible: _bindgen_ty_4 = 98; +pub const JS_ATOM_preventExtensions: _bindgen_ty_4 = 99; +pub const JS_ATOM_has: _bindgen_ty_4 = 100; +pub const JS_ATOM_deleteProperty: _bindgen_ty_4 = 101; +pub const JS_ATOM_defineProperty: _bindgen_ty_4 = 102; +pub const JS_ATOM_getOwnPropertyDescriptor: _bindgen_ty_4 = 103; +pub const JS_ATOM_ownKeys: _bindgen_ty_4 = 104; +pub const JS_ATOM_add: _bindgen_ty_4 = 105; +pub const JS_ATOM_done: _bindgen_ty_4 = 106; +pub const JS_ATOM_next: _bindgen_ty_4 = 107; +pub const JS_ATOM_values: _bindgen_ty_4 = 108; +pub const JS_ATOM_source: _bindgen_ty_4 = 109; +pub const JS_ATOM_flags: _bindgen_ty_4 = 110; +pub const JS_ATOM_global: _bindgen_ty_4 = 111; +pub const JS_ATOM_unicode: _bindgen_ty_4 = 112; +pub const JS_ATOM_raw: _bindgen_ty_4 = 113; +pub const JS_ATOM_new_target: _bindgen_ty_4 = 114; +pub const JS_ATOM_this_active_func: _bindgen_ty_4 = 115; +pub const JS_ATOM_home_object: _bindgen_ty_4 = 116; +pub const JS_ATOM_computed_field: _bindgen_ty_4 = 117; +pub const JS_ATOM_static_computed_field: _bindgen_ty_4 = 118; +pub const JS_ATOM_class_fields_init: _bindgen_ty_4 = 119; +pub const JS_ATOM_brand: _bindgen_ty_4 = 120; +pub const JS_ATOM_hash_constructor: _bindgen_ty_4 = 121; +pub const JS_ATOM_as: _bindgen_ty_4 = 122; +pub const JS_ATOM_from: _bindgen_ty_4 = 123; +pub const JS_ATOM_meta: _bindgen_ty_4 = 124; +pub const JS_ATOM__default_: _bindgen_ty_4 = 125; +pub const JS_ATOM__star_: _bindgen_ty_4 = 126; +pub const JS_ATOM_Module: _bindgen_ty_4 = 127; +pub const JS_ATOM_then: _bindgen_ty_4 = 128; +pub const JS_ATOM_resolve: _bindgen_ty_4 = 129; +pub const JS_ATOM_reject: _bindgen_ty_4 = 130; +pub const JS_ATOM_promise: _bindgen_ty_4 = 131; +pub const JS_ATOM_proxy: _bindgen_ty_4 = 132; +pub const JS_ATOM_revoke: _bindgen_ty_4 = 133; +pub const JS_ATOM_async: _bindgen_ty_4 = 134; +pub const JS_ATOM_exec: _bindgen_ty_4 = 135; +pub const JS_ATOM_groups: _bindgen_ty_4 = 136; +pub const JS_ATOM_indices: _bindgen_ty_4 = 137; +pub const JS_ATOM_status: _bindgen_ty_4 = 138; +pub const JS_ATOM_reason: _bindgen_ty_4 = 139; +pub const JS_ATOM_globalThis: _bindgen_ty_4 = 140; +pub const JS_ATOM_bigint: _bindgen_ty_4 = 141; +pub const JS_ATOM_not_equal: _bindgen_ty_4 = 142; +pub const JS_ATOM_timed_out: _bindgen_ty_4 = 143; +pub const JS_ATOM_ok: _bindgen_ty_4 = 144; +pub const JS_ATOM_toJSON: _bindgen_ty_4 = 145; +pub const JS_ATOM_maxByteLength: _bindgen_ty_4 = 146; +pub const JS_ATOM_Object: _bindgen_ty_4 = 147; +pub const JS_ATOM_Array: _bindgen_ty_4 = 148; +pub const JS_ATOM_Error: _bindgen_ty_4 = 149; +pub const JS_ATOM_Number: _bindgen_ty_4 = 150; +pub const JS_ATOM_String: _bindgen_ty_4 = 151; +pub const JS_ATOM_Boolean: _bindgen_ty_4 = 152; +pub const JS_ATOM_Symbol: _bindgen_ty_4 = 153; +pub const JS_ATOM_Arguments: _bindgen_ty_4 = 154; +pub const JS_ATOM_Math: _bindgen_ty_4 = 155; +pub const JS_ATOM_JSON: _bindgen_ty_4 = 156; +pub const JS_ATOM_Date: _bindgen_ty_4 = 157; +pub const JS_ATOM_Function: _bindgen_ty_4 = 158; +pub const JS_ATOM_GeneratorFunction: _bindgen_ty_4 = 159; +pub const JS_ATOM_ForInIterator: _bindgen_ty_4 = 160; +pub const JS_ATOM_RegExp: _bindgen_ty_4 = 161; +pub const JS_ATOM_ArrayBuffer: _bindgen_ty_4 = 162; +pub const JS_ATOM_SharedArrayBuffer: _bindgen_ty_4 = 163; +pub const JS_ATOM_Uint8ClampedArray: _bindgen_ty_4 = 164; +pub const JS_ATOM_Int8Array: _bindgen_ty_4 = 165; +pub const JS_ATOM_Uint8Array: _bindgen_ty_4 = 166; +pub const JS_ATOM_Int16Array: _bindgen_ty_4 = 167; +pub const JS_ATOM_Uint16Array: _bindgen_ty_4 = 168; +pub const JS_ATOM_Int32Array: _bindgen_ty_4 = 169; +pub const JS_ATOM_Uint32Array: _bindgen_ty_4 = 170; +pub const JS_ATOM_BigInt64Array: _bindgen_ty_4 = 171; +pub const JS_ATOM_BigUint64Array: _bindgen_ty_4 = 172; +pub const JS_ATOM_Float16Array: _bindgen_ty_4 = 173; +pub const JS_ATOM_Float32Array: _bindgen_ty_4 = 174; +pub const JS_ATOM_Float64Array: _bindgen_ty_4 = 175; +pub const JS_ATOM_DataView: _bindgen_ty_4 = 176; +pub const JS_ATOM_BigInt: _bindgen_ty_4 = 177; +pub const JS_ATOM_WeakRef: _bindgen_ty_4 = 178; +pub const JS_ATOM_FinalizationRegistry: _bindgen_ty_4 = 179; +pub const JS_ATOM_Map: _bindgen_ty_4 = 180; +pub const JS_ATOM_Set: _bindgen_ty_4 = 181; +pub const JS_ATOM_WeakMap: _bindgen_ty_4 = 182; +pub const JS_ATOM_WeakSet: _bindgen_ty_4 = 183; +pub const JS_ATOM_Iterator: _bindgen_ty_4 = 184; +pub const JS_ATOM_IteratorHelper: _bindgen_ty_4 = 185; +pub const JS_ATOM_IteratorWrap: _bindgen_ty_4 = 186; +pub const JS_ATOM_Map_Iterator: _bindgen_ty_4 = 187; +pub const JS_ATOM_Set_Iterator: _bindgen_ty_4 = 188; +pub const JS_ATOM_Array_Iterator: _bindgen_ty_4 = 189; +pub const JS_ATOM_String_Iterator: _bindgen_ty_4 = 190; +pub const JS_ATOM_RegExp_String_Iterator: _bindgen_ty_4 = 191; +pub const JS_ATOM_Generator: _bindgen_ty_4 = 192; +pub const JS_ATOM_Proxy: _bindgen_ty_4 = 193; +pub const JS_ATOM_Promise: _bindgen_ty_4 = 194; +pub const JS_ATOM_PromiseResolveFunction: _bindgen_ty_4 = 195; +pub const JS_ATOM_PromiseRejectFunction: _bindgen_ty_4 = 196; +pub const JS_ATOM_AsyncFunction: _bindgen_ty_4 = 197; +pub const JS_ATOM_AsyncFunctionResolve: _bindgen_ty_4 = 198; +pub const JS_ATOM_AsyncFunctionReject: _bindgen_ty_4 = 199; +pub const JS_ATOM_AsyncGeneratorFunction: _bindgen_ty_4 = 200; +pub const JS_ATOM_AsyncGenerator: _bindgen_ty_4 = 201; +pub const JS_ATOM_EvalError: _bindgen_ty_4 = 202; +pub const JS_ATOM_RangeError: _bindgen_ty_4 = 203; +pub const JS_ATOM_ReferenceError: _bindgen_ty_4 = 204; +pub const JS_ATOM_SyntaxError: _bindgen_ty_4 = 205; +pub const JS_ATOM_TypeError: _bindgen_ty_4 = 206; +pub const JS_ATOM_URIError: _bindgen_ty_4 = 207; +pub const JS_ATOM_InternalError: _bindgen_ty_4 = 208; +pub const JS_ATOM_CallSite: _bindgen_ty_4 = 209; +pub const JS_ATOM_Private_brand: _bindgen_ty_4 = 210; +pub const JS_ATOM_Symbol_toPrimitive: _bindgen_ty_4 = 211; +pub const JS_ATOM_Symbol_iterator: _bindgen_ty_4 = 212; +pub const JS_ATOM_Symbol_match: _bindgen_ty_4 = 213; +pub const JS_ATOM_Symbol_matchAll: _bindgen_ty_4 = 214; +pub const JS_ATOM_Symbol_replace: _bindgen_ty_4 = 215; +pub const JS_ATOM_Symbol_search: _bindgen_ty_4 = 216; +pub const JS_ATOM_Symbol_split: _bindgen_ty_4 = 217; +pub const JS_ATOM_Symbol_toStringTag: _bindgen_ty_4 = 218; +pub const JS_ATOM_Symbol_isConcatSpreadable: _bindgen_ty_4 = 219; +pub const JS_ATOM_Symbol_hasInstance: _bindgen_ty_4 = 220; +pub const JS_ATOM_Symbol_species: _bindgen_ty_4 = 221; +pub const JS_ATOM_Symbol_unscopables: _bindgen_ty_4 = 222; +pub const JS_ATOM_Symbol_asyncIterator: _bindgen_ty_4 = 223; +pub const JS_ATOM_END: _bindgen_ty_4 = 224; +pub type _bindgen_ty_4 = ::std::os::raw::c_uint; diff --git a/sys/src/bindings/loongarch64-unknown-linux-musl.rs b/sys/src/bindings/loongarch64-unknown-linux-musl.rs new file mode 100644 index 00000000..7823a2cf --- /dev/null +++ b/sys/src/bindings/loongarch64-unknown-linux-musl.rs @@ -0,0 +1,2955 @@ +/* automatically generated by rust-bindgen 0.69.5 */ + +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 type size_t = ::std::os::raw::c_ulong; +#[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_3 = -9; +pub const JS_TAG_BIG_INT: _bindgen_ty_3 = -9; +pub const JS_TAG_SYMBOL: _bindgen_ty_3 = -8; +pub const JS_TAG_STRING: _bindgen_ty_3 = -7; +pub const JS_TAG_MODULE: _bindgen_ty_3 = -3; +pub const JS_TAG_FUNCTION_BYTECODE: _bindgen_ty_3 = -2; +pub const JS_TAG_OBJECT: _bindgen_ty_3 = -1; +pub const JS_TAG_INT: _bindgen_ty_3 = 0; +pub const JS_TAG_BOOL: _bindgen_ty_3 = 1; +pub const JS_TAG_NULL: _bindgen_ty_3 = 2; +pub const JS_TAG_UNDEFINED: _bindgen_ty_3 = 3; +pub const JS_TAG_UNINITIALIZED: _bindgen_ty_3 = 4; +pub const JS_TAG_CATCH_OFFSET: _bindgen_ty_3 = 5; +pub const JS_TAG_EXCEPTION: _bindgen_ty_3 = 6; +pub const JS_TAG_FLOAT64: _bindgen_ty_3 = 7; +pub type _bindgen_ty_3 = ::std::os::raw::c_int; +#[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: size_t, + size: size_t, + ) -> *mut ::std::os::raw::c_void, + >, + pub js_malloc: ::std::option::Option< + unsafe extern "C" fn( + opaque: *mut ::std::os::raw::c_void, + size: size_t, + ) -> *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: size_t, + ) -> *mut ::std::os::raw::c_void, + >, + pub js_malloc_usable_size: + ::std::option::Option size_t>, +} +#[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) + ) + ); +} +pub type JSRuntimeFinalizer = ::std::option::Option< + unsafe extern "C" fn(rt: *mut JSRuntime, arg: *mut ::std::os::raw::c_void), +>; +#[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: size_t); +} +extern "C" { + pub fn JS_SetDumpFlags(rt: *mut JSRuntime, flags: u64); +} +extern "C" { + pub fn JS_GetGCThreshold(rt: *mut JSRuntime) -> size_t; +} +extern "C" { + pub fn JS_SetGCThreshold(rt: *mut JSRuntime, gc_threshold: size_t); +} +extern "C" { + pub fn JS_SetMaxStackSize(rt: *mut JSRuntime, stack_size: size_t); +} +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); +} +extern "C" { + pub fn JS_AddRuntimeFinalizer( + rt: *mut JSRuntime, + finalizer: JSRuntimeFinalizer, + arg: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +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_GetFunctionProto(ctx: *mut JSContext) -> 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: size_t, + size: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_malloc_rt(rt: *mut JSRuntime, size: size_t) -> *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: size_t, + ) -> *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, + ) -> size_t; +} +extern "C" { + pub fn js_mallocz_rt(rt: *mut JSRuntime, size: size_t) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_calloc( + ctx: *mut JSContext, + count: size_t, + size: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_malloc(ctx: *mut JSContext, size: size_t) -> *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: size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_malloc_usable_size(ctx: *mut JSContext, ptr: *const ::std::os::raw::c_void) + -> size_t; +} +extern "C" { + pub fn js_realloc2( + ctx: *mut JSContext, + ptr: *mut ::std::os::raw::c_void, + size: size_t, + pslack: *mut size_t, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn js_mallocz(ctx: *mut JSContext, size: size_t) -> *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: size_t, + ) -> *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_NewAtomLen( + ctx: *mut JSContext, + str_: *const ::std::os::raw::c_char, + len: size_t, + ) -> 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_DupValue(ctx: *mut JSContext, v: JSValue) -> JSValue; +} +extern "C" { + pub fn JS_DupValueRT(rt: *mut JSRuntime, v: JSValue) -> 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: size_t, + ) -> 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 size_t, + 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: size_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn JS_Eval( + ctx: *mut JSContext, + input: *const ::std::os::raw::c_char, + input_len: size_t, + 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: size_t, + 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) + -> ::std::os::raw::c_int; +} +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: size_t, + 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: size_t, + 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: size_t) -> JSValue; +} +extern "C" { + pub fn JS_DetachArrayBuffer(ctx: *mut JSContext, obj: JSValue); +} +extern "C" { + pub fn JS_GetArrayBuffer(ctx: *mut JSContext, psize: *mut size_t, 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 size_t, obj: JSValue) -> *mut u8; +} +extern "C" { + pub fn JS_GetTypedArrayBuffer( + ctx: *mut JSContext, + obj: JSValue, + pbyte_offset: *mut size_t, + pbyte_length: *mut size_t, + pbytes_per_element: *mut size_t, + ) -> JSValue; +} +extern "C" { + pub fn JS_NewUint8Array( + ctx: *mut JSContext, + buf: *mut u8, + len: size_t, + 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: size_t) -> 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: size_t, + ) -> *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: size_t, +} +#[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 size_t, + obj: JSValue, + flags: ::std::os::raw::c_int, + ) -> *mut u8; +} +extern "C" { + pub fn JS_WriteObject2( + ctx: *mut JSContext, + psize: *mut size_t, + 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: size_t, + flags: ::std::os::raw::c_int, + ) -> JSValue; +} +extern "C" { + pub fn JS_ReadObject2( + ctx: *mut JSContext, + buf: *const u8, + buf_len: size_t, + 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 u64_: u64, + 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).u64_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JSCFunctionListEntry__bindgen_ty_1), + "::", + stringify!(u64_) + ) + ); + 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; +} +extern "C" { + pub fn js_std_cmd(cmd: ::std::os::raw::c_int, ...) -> usize; +} +pub const __JS_ATOM_NULL: _bindgen_ty_4 = 0; +pub const JS_ATOM_null: _bindgen_ty_4 = 1; +pub const JS_ATOM_false: _bindgen_ty_4 = 2; +pub const JS_ATOM_true: _bindgen_ty_4 = 3; +pub const JS_ATOM_if: _bindgen_ty_4 = 4; +pub const JS_ATOM_else: _bindgen_ty_4 = 5; +pub const JS_ATOM_return: _bindgen_ty_4 = 6; +pub const JS_ATOM_var: _bindgen_ty_4 = 7; +pub const JS_ATOM_this: _bindgen_ty_4 = 8; +pub const JS_ATOM_delete: _bindgen_ty_4 = 9; +pub const JS_ATOM_void: _bindgen_ty_4 = 10; +pub const JS_ATOM_typeof: _bindgen_ty_4 = 11; +pub const JS_ATOM_new: _bindgen_ty_4 = 12; +pub const JS_ATOM_in: _bindgen_ty_4 = 13; +pub const JS_ATOM_instanceof: _bindgen_ty_4 = 14; +pub const JS_ATOM_do: _bindgen_ty_4 = 15; +pub const JS_ATOM_while: _bindgen_ty_4 = 16; +pub const JS_ATOM_for: _bindgen_ty_4 = 17; +pub const JS_ATOM_break: _bindgen_ty_4 = 18; +pub const JS_ATOM_continue: _bindgen_ty_4 = 19; +pub const JS_ATOM_switch: _bindgen_ty_4 = 20; +pub const JS_ATOM_case: _bindgen_ty_4 = 21; +pub const JS_ATOM_default: _bindgen_ty_4 = 22; +pub const JS_ATOM_throw: _bindgen_ty_4 = 23; +pub const JS_ATOM_try: _bindgen_ty_4 = 24; +pub const JS_ATOM_catch: _bindgen_ty_4 = 25; +pub const JS_ATOM_finally: _bindgen_ty_4 = 26; +pub const JS_ATOM_function: _bindgen_ty_4 = 27; +pub const JS_ATOM_debugger: _bindgen_ty_4 = 28; +pub const JS_ATOM_with: _bindgen_ty_4 = 29; +pub const JS_ATOM_class: _bindgen_ty_4 = 30; +pub const JS_ATOM_const: _bindgen_ty_4 = 31; +pub const JS_ATOM_enum: _bindgen_ty_4 = 32; +pub const JS_ATOM_export: _bindgen_ty_4 = 33; +pub const JS_ATOM_extends: _bindgen_ty_4 = 34; +pub const JS_ATOM_import: _bindgen_ty_4 = 35; +pub const JS_ATOM_super: _bindgen_ty_4 = 36; +pub const JS_ATOM_implements: _bindgen_ty_4 = 37; +pub const JS_ATOM_interface: _bindgen_ty_4 = 38; +pub const JS_ATOM_let: _bindgen_ty_4 = 39; +pub const JS_ATOM_package: _bindgen_ty_4 = 40; +pub const JS_ATOM_private: _bindgen_ty_4 = 41; +pub const JS_ATOM_protected: _bindgen_ty_4 = 42; +pub const JS_ATOM_public: _bindgen_ty_4 = 43; +pub const JS_ATOM_static: _bindgen_ty_4 = 44; +pub const JS_ATOM_yield: _bindgen_ty_4 = 45; +pub const JS_ATOM_await: _bindgen_ty_4 = 46; +pub const JS_ATOM_empty_string: _bindgen_ty_4 = 47; +pub const JS_ATOM_keys: _bindgen_ty_4 = 48; +pub const JS_ATOM_size: _bindgen_ty_4 = 49; +pub const JS_ATOM_length: _bindgen_ty_4 = 50; +pub const JS_ATOM_message: _bindgen_ty_4 = 51; +pub const JS_ATOM_cause: _bindgen_ty_4 = 52; +pub const JS_ATOM_errors: _bindgen_ty_4 = 53; +pub const JS_ATOM_stack: _bindgen_ty_4 = 54; +pub const JS_ATOM_name: _bindgen_ty_4 = 55; +pub const JS_ATOM_toString: _bindgen_ty_4 = 56; +pub const JS_ATOM_toLocaleString: _bindgen_ty_4 = 57; +pub const JS_ATOM_valueOf: _bindgen_ty_4 = 58; +pub const JS_ATOM_eval: _bindgen_ty_4 = 59; +pub const JS_ATOM_prototype: _bindgen_ty_4 = 60; +pub const JS_ATOM_constructor: _bindgen_ty_4 = 61; +pub const JS_ATOM_configurable: _bindgen_ty_4 = 62; +pub const JS_ATOM_writable: _bindgen_ty_4 = 63; +pub const JS_ATOM_enumerable: _bindgen_ty_4 = 64; +pub const JS_ATOM_value: _bindgen_ty_4 = 65; +pub const JS_ATOM_get: _bindgen_ty_4 = 66; +pub const JS_ATOM_set: _bindgen_ty_4 = 67; +pub const JS_ATOM_of: _bindgen_ty_4 = 68; +pub const JS_ATOM___proto__: _bindgen_ty_4 = 69; +pub const JS_ATOM_undefined: _bindgen_ty_4 = 70; +pub const JS_ATOM_number: _bindgen_ty_4 = 71; +pub const JS_ATOM_boolean: _bindgen_ty_4 = 72; +pub const JS_ATOM_string: _bindgen_ty_4 = 73; +pub const JS_ATOM_object: _bindgen_ty_4 = 74; +pub const JS_ATOM_symbol: _bindgen_ty_4 = 75; +pub const JS_ATOM_integer: _bindgen_ty_4 = 76; +pub const JS_ATOM_unknown: _bindgen_ty_4 = 77; +pub const JS_ATOM_arguments: _bindgen_ty_4 = 78; +pub const JS_ATOM_callee: _bindgen_ty_4 = 79; +pub const JS_ATOM_caller: _bindgen_ty_4 = 80; +pub const JS_ATOM__eval_: _bindgen_ty_4 = 81; +pub const JS_ATOM__ret_: _bindgen_ty_4 = 82; +pub const JS_ATOM__var_: _bindgen_ty_4 = 83; +pub const JS_ATOM__arg_var_: _bindgen_ty_4 = 84; +pub const JS_ATOM__with_: _bindgen_ty_4 = 85; +pub const JS_ATOM_lastIndex: _bindgen_ty_4 = 86; +pub const JS_ATOM_target: _bindgen_ty_4 = 87; +pub const JS_ATOM_index: _bindgen_ty_4 = 88; +pub const JS_ATOM_input: _bindgen_ty_4 = 89; +pub const JS_ATOM_defineProperties: _bindgen_ty_4 = 90; +pub const JS_ATOM_apply: _bindgen_ty_4 = 91; +pub const JS_ATOM_join: _bindgen_ty_4 = 92; +pub const JS_ATOM_concat: _bindgen_ty_4 = 93; +pub const JS_ATOM_split: _bindgen_ty_4 = 94; +pub const JS_ATOM_construct: _bindgen_ty_4 = 95; +pub const JS_ATOM_getPrototypeOf: _bindgen_ty_4 = 96; +pub const JS_ATOM_setPrototypeOf: _bindgen_ty_4 = 97; +pub const JS_ATOM_isExtensible: _bindgen_ty_4 = 98; +pub const JS_ATOM_preventExtensions: _bindgen_ty_4 = 99; +pub const JS_ATOM_has: _bindgen_ty_4 = 100; +pub const JS_ATOM_deleteProperty: _bindgen_ty_4 = 101; +pub const JS_ATOM_defineProperty: _bindgen_ty_4 = 102; +pub const JS_ATOM_getOwnPropertyDescriptor: _bindgen_ty_4 = 103; +pub const JS_ATOM_ownKeys: _bindgen_ty_4 = 104; +pub const JS_ATOM_add: _bindgen_ty_4 = 105; +pub const JS_ATOM_done: _bindgen_ty_4 = 106; +pub const JS_ATOM_next: _bindgen_ty_4 = 107; +pub const JS_ATOM_values: _bindgen_ty_4 = 108; +pub const JS_ATOM_source: _bindgen_ty_4 = 109; +pub const JS_ATOM_flags: _bindgen_ty_4 = 110; +pub const JS_ATOM_global: _bindgen_ty_4 = 111; +pub const JS_ATOM_unicode: _bindgen_ty_4 = 112; +pub const JS_ATOM_raw: _bindgen_ty_4 = 113; +pub const JS_ATOM_new_target: _bindgen_ty_4 = 114; +pub const JS_ATOM_this_active_func: _bindgen_ty_4 = 115; +pub const JS_ATOM_home_object: _bindgen_ty_4 = 116; +pub const JS_ATOM_computed_field: _bindgen_ty_4 = 117; +pub const JS_ATOM_static_computed_field: _bindgen_ty_4 = 118; +pub const JS_ATOM_class_fields_init: _bindgen_ty_4 = 119; +pub const JS_ATOM_brand: _bindgen_ty_4 = 120; +pub const JS_ATOM_hash_constructor: _bindgen_ty_4 = 121; +pub const JS_ATOM_as: _bindgen_ty_4 = 122; +pub const JS_ATOM_from: _bindgen_ty_4 = 123; +pub const JS_ATOM_meta: _bindgen_ty_4 = 124; +pub const JS_ATOM__default_: _bindgen_ty_4 = 125; +pub const JS_ATOM__star_: _bindgen_ty_4 = 126; +pub const JS_ATOM_Module: _bindgen_ty_4 = 127; +pub const JS_ATOM_then: _bindgen_ty_4 = 128; +pub const JS_ATOM_resolve: _bindgen_ty_4 = 129; +pub const JS_ATOM_reject: _bindgen_ty_4 = 130; +pub const JS_ATOM_promise: _bindgen_ty_4 = 131; +pub const JS_ATOM_proxy: _bindgen_ty_4 = 132; +pub const JS_ATOM_revoke: _bindgen_ty_4 = 133; +pub const JS_ATOM_async: _bindgen_ty_4 = 134; +pub const JS_ATOM_exec: _bindgen_ty_4 = 135; +pub const JS_ATOM_groups: _bindgen_ty_4 = 136; +pub const JS_ATOM_indices: _bindgen_ty_4 = 137; +pub const JS_ATOM_status: _bindgen_ty_4 = 138; +pub const JS_ATOM_reason: _bindgen_ty_4 = 139; +pub const JS_ATOM_globalThis: _bindgen_ty_4 = 140; +pub const JS_ATOM_bigint: _bindgen_ty_4 = 141; +pub const JS_ATOM_not_equal: _bindgen_ty_4 = 142; +pub const JS_ATOM_timed_out: _bindgen_ty_4 = 143; +pub const JS_ATOM_ok: _bindgen_ty_4 = 144; +pub const JS_ATOM_toJSON: _bindgen_ty_4 = 145; +pub const JS_ATOM_maxByteLength: _bindgen_ty_4 = 146; +pub const JS_ATOM_Object: _bindgen_ty_4 = 147; +pub const JS_ATOM_Array: _bindgen_ty_4 = 148; +pub const JS_ATOM_Error: _bindgen_ty_4 = 149; +pub const JS_ATOM_Number: _bindgen_ty_4 = 150; +pub const JS_ATOM_String: _bindgen_ty_4 = 151; +pub const JS_ATOM_Boolean: _bindgen_ty_4 = 152; +pub const JS_ATOM_Symbol: _bindgen_ty_4 = 153; +pub const JS_ATOM_Arguments: _bindgen_ty_4 = 154; +pub const JS_ATOM_Math: _bindgen_ty_4 = 155; +pub const JS_ATOM_JSON: _bindgen_ty_4 = 156; +pub const JS_ATOM_Date: _bindgen_ty_4 = 157; +pub const JS_ATOM_Function: _bindgen_ty_4 = 158; +pub const JS_ATOM_GeneratorFunction: _bindgen_ty_4 = 159; +pub const JS_ATOM_ForInIterator: _bindgen_ty_4 = 160; +pub const JS_ATOM_RegExp: _bindgen_ty_4 = 161; +pub const JS_ATOM_ArrayBuffer: _bindgen_ty_4 = 162; +pub const JS_ATOM_SharedArrayBuffer: _bindgen_ty_4 = 163; +pub const JS_ATOM_Uint8ClampedArray: _bindgen_ty_4 = 164; +pub const JS_ATOM_Int8Array: _bindgen_ty_4 = 165; +pub const JS_ATOM_Uint8Array: _bindgen_ty_4 = 166; +pub const JS_ATOM_Int16Array: _bindgen_ty_4 = 167; +pub const JS_ATOM_Uint16Array: _bindgen_ty_4 = 168; +pub const JS_ATOM_Int32Array: _bindgen_ty_4 = 169; +pub const JS_ATOM_Uint32Array: _bindgen_ty_4 = 170; +pub const JS_ATOM_BigInt64Array: _bindgen_ty_4 = 171; +pub const JS_ATOM_BigUint64Array: _bindgen_ty_4 = 172; +pub const JS_ATOM_Float16Array: _bindgen_ty_4 = 173; +pub const JS_ATOM_Float32Array: _bindgen_ty_4 = 174; +pub const JS_ATOM_Float64Array: _bindgen_ty_4 = 175; +pub const JS_ATOM_DataView: _bindgen_ty_4 = 176; +pub const JS_ATOM_BigInt: _bindgen_ty_4 = 177; +pub const JS_ATOM_WeakRef: _bindgen_ty_4 = 178; +pub const JS_ATOM_FinalizationRegistry: _bindgen_ty_4 = 179; +pub const JS_ATOM_Map: _bindgen_ty_4 = 180; +pub const JS_ATOM_Set: _bindgen_ty_4 = 181; +pub const JS_ATOM_WeakMap: _bindgen_ty_4 = 182; +pub const JS_ATOM_WeakSet: _bindgen_ty_4 = 183; +pub const JS_ATOM_Iterator: _bindgen_ty_4 = 184; +pub const JS_ATOM_IteratorHelper: _bindgen_ty_4 = 185; +pub const JS_ATOM_IteratorWrap: _bindgen_ty_4 = 186; +pub const JS_ATOM_Map_Iterator: _bindgen_ty_4 = 187; +pub const JS_ATOM_Set_Iterator: _bindgen_ty_4 = 188; +pub const JS_ATOM_Array_Iterator: _bindgen_ty_4 = 189; +pub const JS_ATOM_String_Iterator: _bindgen_ty_4 = 190; +pub const JS_ATOM_RegExp_String_Iterator: _bindgen_ty_4 = 191; +pub const JS_ATOM_Generator: _bindgen_ty_4 = 192; +pub const JS_ATOM_Proxy: _bindgen_ty_4 = 193; +pub const JS_ATOM_Promise: _bindgen_ty_4 = 194; +pub const JS_ATOM_PromiseResolveFunction: _bindgen_ty_4 = 195; +pub const JS_ATOM_PromiseRejectFunction: _bindgen_ty_4 = 196; +pub const JS_ATOM_AsyncFunction: _bindgen_ty_4 = 197; +pub const JS_ATOM_AsyncFunctionResolve: _bindgen_ty_4 = 198; +pub const JS_ATOM_AsyncFunctionReject: _bindgen_ty_4 = 199; +pub const JS_ATOM_AsyncGeneratorFunction: _bindgen_ty_4 = 200; +pub const JS_ATOM_AsyncGenerator: _bindgen_ty_4 = 201; +pub const JS_ATOM_EvalError: _bindgen_ty_4 = 202; +pub const JS_ATOM_RangeError: _bindgen_ty_4 = 203; +pub const JS_ATOM_ReferenceError: _bindgen_ty_4 = 204; +pub const JS_ATOM_SyntaxError: _bindgen_ty_4 = 205; +pub const JS_ATOM_TypeError: _bindgen_ty_4 = 206; +pub const JS_ATOM_URIError: _bindgen_ty_4 = 207; +pub const JS_ATOM_InternalError: _bindgen_ty_4 = 208; +pub const JS_ATOM_CallSite: _bindgen_ty_4 = 209; +pub const JS_ATOM_Private_brand: _bindgen_ty_4 = 210; +pub const JS_ATOM_Symbol_toPrimitive: _bindgen_ty_4 = 211; +pub const JS_ATOM_Symbol_iterator: _bindgen_ty_4 = 212; +pub const JS_ATOM_Symbol_match: _bindgen_ty_4 = 213; +pub const JS_ATOM_Symbol_matchAll: _bindgen_ty_4 = 214; +pub const JS_ATOM_Symbol_replace: _bindgen_ty_4 = 215; +pub const JS_ATOM_Symbol_search: _bindgen_ty_4 = 216; +pub const JS_ATOM_Symbol_split: _bindgen_ty_4 = 217; +pub const JS_ATOM_Symbol_toStringTag: _bindgen_ty_4 = 218; +pub const JS_ATOM_Symbol_isConcatSpreadable: _bindgen_ty_4 = 219; +pub const JS_ATOM_Symbol_hasInstance: _bindgen_ty_4 = 220; +pub const JS_ATOM_Symbol_species: _bindgen_ty_4 = 221; +pub const JS_ATOM_Symbol_unscopables: _bindgen_ty_4 = 222; +pub const JS_ATOM_Symbol_asyncIterator: _bindgen_ty_4 = 223; +pub const JS_ATOM_END: _bindgen_ty_4 = 224; +pub type _bindgen_ty_4 = ::std::os::raw::c_uint;