lento_libquickjs_sys/embed/
bindings.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3pub const _STDIO_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2X: u32 = 0;
7pub const __USE_ISOC11: u32 = 1;
8pub const __USE_ISOC99: u32 = 1;
9pub const __USE_ISOC95: u32 = 1;
10pub const __USE_POSIX_IMPLICITLY: u32 = 1;
11pub const _POSIX_SOURCE: u32 = 1;
12pub const _POSIX_C_SOURCE: u32 = 200809;
13pub const __USE_POSIX: u32 = 1;
14pub const __USE_POSIX2: u32 = 1;
15pub const __USE_POSIX199309: u32 = 1;
16pub const __USE_POSIX199506: u32 = 1;
17pub const __USE_XOPEN2K: u32 = 1;
18pub const __USE_XOPEN2K8: u32 = 1;
19pub const _ATFILE_SOURCE: u32 = 1;
20pub const __WORDSIZE: u32 = 64;
21pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
22pub const __SYSCALL_WORDSIZE: u32 = 64;
23pub const __TIMESIZE: u32 = 64;
24pub const __USE_MISC: u32 = 1;
25pub const __USE_ATFILE: u32 = 1;
26pub const __USE_FORTIFY_LEVEL: u32 = 0;
27pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
28pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
29pub const _STDC_PREDEF_H: u32 = 1;
30pub const __STDC_IEC_559__: u32 = 1;
31pub const __STDC_IEC_60559_BFP__: u32 = 201404;
32pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
33pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
34pub const __STDC_ISO_10646__: u32 = 201706;
35pub const __GNU_LIBRARY__: u32 = 6;
36pub const __GLIBC__: u32 = 2;
37pub const __GLIBC_MINOR__: u32 = 36;
38pub const _SYS_CDEFS_H: u32 = 1;
39pub const __glibc_c99_flexarr_available: u32 = 1;
40pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
41pub const __HAVE_GENERIC_SELECTION: u32 = 1;
42pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
43pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
44pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
45pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
49pub const __GNUC_VA_LIST: u32 = 1;
50pub const _BITS_TYPES_H: u32 = 1;
51pub const _BITS_TYPESIZES_H: u32 = 1;
52pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
53pub const __INO_T_MATCHES_INO64_T: u32 = 1;
54pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
55pub const __STATFS_MATCHES_STATFS64: u32 = 1;
56pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
57pub const __FD_SETSIZE: u32 = 1024;
58pub const _BITS_TIME64_H: u32 = 1;
59pub const _____fpos_t_defined: u32 = 1;
60pub const ____mbstate_t_defined: u32 = 1;
61pub const _____fpos64_t_defined: u32 = 1;
62pub const ____FILE_defined: u32 = 1;
63pub const __FILE_defined: u32 = 1;
64pub const __struct_FILE_defined: u32 = 1;
65pub const _IO_EOF_SEEN: u32 = 16;
66pub const _IO_ERR_SEEN: u32 = 32;
67pub const _IO_USER_LOCK: u32 = 32768;
68pub const _IOFBF: u32 = 0;
69pub const _IOLBF: u32 = 1;
70pub const _IONBF: u32 = 2;
71pub const BUFSIZ: u32 = 8192;
72pub const EOF: i32 = -1;
73pub const SEEK_SET: u32 = 0;
74pub const SEEK_CUR: u32 = 1;
75pub const SEEK_END: u32 = 2;
76pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
77pub const _BITS_STDIO_LIM_H: u32 = 1;
78pub const L_tmpnam: u32 = 20;
79pub const TMP_MAX: u32 = 238328;
80pub const FILENAME_MAX: u32 = 4096;
81pub const L_ctermid: u32 = 9;
82pub const FOPEN_MAX: u32 = 16;
83pub const __HAVE_FLOAT128: u32 = 0;
84pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
85pub const __HAVE_FLOAT64X: u32 = 1;
86pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
87pub const __HAVE_FLOAT16: u32 = 0;
88pub const __HAVE_FLOAT32: u32 = 1;
89pub const __HAVE_FLOAT64: u32 = 1;
90pub const __HAVE_FLOAT32X: u32 = 1;
91pub const __HAVE_FLOAT128X: u32 = 0;
92pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
93pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
94pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
95pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
96pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
97pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
98pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
99pub const _STDINT_H: u32 = 1;
100pub const _BITS_WCHAR_H: u32 = 1;
101pub const _BITS_STDINT_INTN_H: u32 = 1;
102pub const _BITS_STDINT_UINTN_H: u32 = 1;
103pub const INT8_MIN: i32 = -128;
104pub const INT16_MIN: i32 = -32768;
105pub const INT32_MIN: i32 = -2147483648;
106pub const INT8_MAX: u32 = 127;
107pub const INT16_MAX: u32 = 32767;
108pub const INT32_MAX: u32 = 2147483647;
109pub const UINT8_MAX: u32 = 255;
110pub const UINT16_MAX: u32 = 65535;
111pub const UINT32_MAX: u32 = 4294967295;
112pub const INT_LEAST8_MIN: i32 = -128;
113pub const INT_LEAST16_MIN: i32 = -32768;
114pub const INT_LEAST32_MIN: i32 = -2147483648;
115pub const INT_LEAST8_MAX: u32 = 127;
116pub const INT_LEAST16_MAX: u32 = 32767;
117pub const INT_LEAST32_MAX: u32 = 2147483647;
118pub const UINT_LEAST8_MAX: u32 = 255;
119pub const UINT_LEAST16_MAX: u32 = 65535;
120pub const UINT_LEAST32_MAX: u32 = 4294967295;
121pub const INT_FAST8_MIN: i32 = -128;
122pub const INT_FAST16_MIN: i64 = -9223372036854775808;
123pub const INT_FAST32_MIN: i64 = -9223372036854775808;
124pub const INT_FAST8_MAX: u32 = 127;
125pub const INT_FAST16_MAX: u64 = 9223372036854775807;
126pub const INT_FAST32_MAX: u64 = 9223372036854775807;
127pub const UINT_FAST8_MAX: u32 = 255;
128pub const UINT_FAST16_MAX: i32 = -1;
129pub const UINT_FAST32_MAX: i32 = -1;
130pub const INTPTR_MIN: i64 = -9223372036854775808;
131pub const INTPTR_MAX: u64 = 9223372036854775807;
132pub const UINTPTR_MAX: i32 = -1;
133pub const PTRDIFF_MIN: i64 = -9223372036854775808;
134pub const PTRDIFF_MAX: u64 = 9223372036854775807;
135pub const SIG_ATOMIC_MIN: i32 = -2147483648;
136pub const SIG_ATOMIC_MAX: u32 = 2147483647;
137pub const SIZE_MAX: i32 = -1;
138pub const WINT_MIN: u32 = 0;
139pub const WINT_MAX: u32 = 4294967295;
140pub const JS_PROP_CONFIGURABLE: u32 = 1;
141pub const JS_PROP_WRITABLE: u32 = 2;
142pub const JS_PROP_ENUMERABLE: u32 = 4;
143pub const JS_PROP_C_W_E: u32 = 7;
144pub const JS_PROP_LENGTH: u32 = 8;
145pub const JS_PROP_TMASK: u32 = 48;
146pub const JS_PROP_NORMAL: u32 = 0;
147pub const JS_PROP_GETSET: u32 = 16;
148pub const JS_PROP_VARREF: u32 = 32;
149pub const JS_PROP_AUTOINIT: u32 = 48;
150pub const JS_PROP_HAS_SHIFT: u32 = 8;
151pub const JS_PROP_HAS_CONFIGURABLE: u32 = 256;
152pub const JS_PROP_HAS_WRITABLE: u32 = 512;
153pub const JS_PROP_HAS_ENUMERABLE: u32 = 1024;
154pub const JS_PROP_HAS_GET: u32 = 2048;
155pub const JS_PROP_HAS_SET: u32 = 4096;
156pub const JS_PROP_HAS_VALUE: u32 = 8192;
157pub const JS_PROP_THROW: u32 = 16384;
158pub const JS_PROP_THROW_STRICT: u32 = 32768;
159pub const JS_PROP_NO_ADD: u32 = 65536;
160pub const JS_PROP_NO_EXOTIC: u32 = 131072;
161pub const JS_DEFAULT_STACK_SIZE: u32 = 262144;
162pub const JS_EVAL_TYPE_GLOBAL: u32 = 0;
163pub const JS_EVAL_TYPE_MODULE: u32 = 1;
164pub const JS_EVAL_TYPE_DIRECT: u32 = 2;
165pub const JS_EVAL_TYPE_INDIRECT: u32 = 3;
166pub const JS_EVAL_TYPE_MASK: u32 = 3;
167pub const JS_EVAL_FLAG_STRICT: u32 = 8;
168pub const JS_EVAL_FLAG_STRIP: u32 = 16;
169pub const JS_EVAL_FLAG_COMPILE_ONLY: u32 = 32;
170pub const JS_EVAL_FLAG_BACKTRACE_BARRIER: u32 = 64;
171pub const JS_EVAL_FLAG_ASYNC: u32 = 128;
172pub const JS_ATOM_NULL: u32 = 0;
173pub const JS_CALL_FLAG_CONSTRUCTOR: u32 = 1;
174pub const JS_INVALID_CLASS_ID: u32 = 0;
175pub const JS_GPN_STRING_MASK: u32 = 1;
176pub const JS_GPN_SYMBOL_MASK: u32 = 2;
177pub const JS_GPN_PRIVATE_MASK: u32 = 4;
178pub const JS_GPN_ENUM_ONLY: u32 = 16;
179pub const JS_GPN_SET_ENUM: u32 = 32;
180pub const JS_PARSE_JSON_EXT: u32 = 1;
181pub const JS_WRITE_OBJ_BYTECODE: u32 = 1;
182pub const JS_WRITE_OBJ_BSWAP: u32 = 2;
183pub const JS_WRITE_OBJ_SAB: u32 = 4;
184pub const JS_WRITE_OBJ_REFERENCE: u32 = 8;
185pub const JS_READ_OBJ_BYTECODE: u32 = 1;
186pub const JS_READ_OBJ_ROM_DATA: u32 = 2;
187pub const JS_READ_OBJ_SAB: u32 = 4;
188pub const JS_READ_OBJ_REFERENCE: u32 = 8;
189pub const JS_DEF_CFUNC: u32 = 0;
190pub const JS_DEF_CGETSET: u32 = 1;
191pub const JS_DEF_CGETSET_MAGIC: u32 = 2;
192pub const JS_DEF_PROP_STRING: u32 = 3;
193pub const JS_DEF_PROP_INT32: u32 = 4;
194pub const JS_DEF_PROP_INT64: u32 = 5;
195pub const JS_DEF_PROP_DOUBLE: u32 = 6;
196pub const JS_DEF_PROP_UNDEFINED: u32 = 7;
197pub const JS_DEF_OBJECT: u32 = 8;
198pub const JS_DEF_ALIAS: u32 = 9;
199pub const _STDLIB_H: u32 = 1;
200pub const WNOHANG: u32 = 1;
201pub const WUNTRACED: u32 = 2;
202pub const WSTOPPED: u32 = 2;
203pub const WEXITED: u32 = 4;
204pub const WCONTINUED: u32 = 8;
205pub const WNOWAIT: u32 = 16777216;
206pub const __WNOTHREAD: u32 = 536870912;
207pub const __WALL: u32 = 1073741824;
208pub const __WCLONE: u32 = 2147483648;
209pub const __W_CONTINUED: u32 = 65535;
210pub const __WCOREFLAG: u32 = 128;
211pub const __ldiv_t_defined: u32 = 1;
212pub const __lldiv_t_defined: u32 = 1;
213pub const RAND_MAX: u32 = 2147483647;
214pub const EXIT_FAILURE: u32 = 1;
215pub const EXIT_SUCCESS: u32 = 0;
216pub const _SYS_TYPES_H: u32 = 1;
217pub const __clock_t_defined: u32 = 1;
218pub const __clockid_t_defined: u32 = 1;
219pub const __time_t_defined: u32 = 1;
220pub const __timer_t_defined: u32 = 1;
221pub const __BIT_TYPES_DEFINED__: u32 = 1;
222pub const _ENDIAN_H: u32 = 1;
223pub const _BITS_ENDIAN_H: u32 = 1;
224pub const __LITTLE_ENDIAN: u32 = 1234;
225pub const __BIG_ENDIAN: u32 = 4321;
226pub const __PDP_ENDIAN: u32 = 3412;
227pub const _BITS_ENDIANNESS_H: u32 = 1;
228pub const __BYTE_ORDER: u32 = 1234;
229pub const __FLOAT_WORD_ORDER: u32 = 1234;
230pub const LITTLE_ENDIAN: u32 = 1234;
231pub const BIG_ENDIAN: u32 = 4321;
232pub const PDP_ENDIAN: u32 = 3412;
233pub const BYTE_ORDER: u32 = 1234;
234pub const _BITS_BYTESWAP_H: u32 = 1;
235pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
236pub const _SYS_SELECT_H: u32 = 1;
237pub const __sigset_t_defined: u32 = 1;
238pub const __timeval_defined: u32 = 1;
239pub const _STRUCT_TIMESPEC: u32 = 1;
240pub const FD_SETSIZE: u32 = 1024;
241pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
242pub const _THREAD_SHARED_TYPES_H: u32 = 1;
243pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
244pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
245pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
246pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
247pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
248pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
249pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
250pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
251pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
252pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
253pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
254pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
255pub const __have_pthread_attr_t: u32 = 1;
256pub const _ALLOCA_H: u32 = 1;
257pub type va_list = __builtin_va_list;
258pub type __gnuc_va_list = __builtin_va_list;
259pub type __u_char = ::std::os::raw::c_uchar;
260pub type __u_short = ::std::os::raw::c_ushort;
261pub type __u_int = ::std::os::raw::c_uint;
262pub type __u_long = ::std::os::raw::c_ulong;
263pub type __int8_t = ::std::os::raw::c_schar;
264pub type __uint8_t = ::std::os::raw::c_uchar;
265pub type __int16_t = ::std::os::raw::c_short;
266pub type __uint16_t = ::std::os::raw::c_ushort;
267pub type __int32_t = ::std::os::raw::c_int;
268pub type __uint32_t = ::std::os::raw::c_uint;
269pub type __int64_t = ::std::os::raw::c_long;
270pub type __uint64_t = ::std::os::raw::c_ulong;
271pub type __int_least8_t = __int8_t;
272pub type __uint_least8_t = __uint8_t;
273pub type __int_least16_t = __int16_t;
274pub type __uint_least16_t = __uint16_t;
275pub type __int_least32_t = __int32_t;
276pub type __uint_least32_t = __uint32_t;
277pub type __int_least64_t = __int64_t;
278pub type __uint_least64_t = __uint64_t;
279pub type __quad_t = ::std::os::raw::c_long;
280pub type __u_quad_t = ::std::os::raw::c_ulong;
281pub type __intmax_t = ::std::os::raw::c_long;
282pub type __uintmax_t = ::std::os::raw::c_ulong;
283pub type __dev_t = ::std::os::raw::c_ulong;
284pub type __uid_t = ::std::os::raw::c_uint;
285pub type __gid_t = ::std::os::raw::c_uint;
286pub type __ino_t = ::std::os::raw::c_ulong;
287pub type __ino64_t = ::std::os::raw::c_ulong;
288pub type __mode_t = ::std::os::raw::c_uint;
289pub type __nlink_t = ::std::os::raw::c_ulong;
290pub type __off_t = ::std::os::raw::c_long;
291pub type __off64_t = ::std::os::raw::c_long;
292pub type __pid_t = ::std::os::raw::c_int;
293#[repr(C)]
294#[derive(Debug, Copy, Clone)]
295pub struct __fsid_t {
296    pub __val: [::std::os::raw::c_int; 2usize],
297}
298#[allow(clippy::unnecessary_operation, clippy::identity_op)]
299const _: () = {
300    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
301    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
302    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
303};
304pub type __clock_t = ::std::os::raw::c_long;
305pub type __rlim_t = ::std::os::raw::c_ulong;
306pub type __rlim64_t = ::std::os::raw::c_ulong;
307pub type __id_t = ::std::os::raw::c_uint;
308pub type __time_t = ::std::os::raw::c_long;
309pub type __useconds_t = ::std::os::raw::c_uint;
310pub type __suseconds_t = ::std::os::raw::c_long;
311pub type __suseconds64_t = ::std::os::raw::c_long;
312pub type __daddr_t = ::std::os::raw::c_int;
313pub type __key_t = ::std::os::raw::c_int;
314pub type __clockid_t = ::std::os::raw::c_int;
315pub type __timer_t = *mut ::std::os::raw::c_void;
316pub type __blksize_t = ::std::os::raw::c_long;
317pub type __blkcnt_t = ::std::os::raw::c_long;
318pub type __blkcnt64_t = ::std::os::raw::c_long;
319pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
320pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
321pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
322pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
323pub type __fsword_t = ::std::os::raw::c_long;
324pub type __ssize_t = ::std::os::raw::c_long;
325pub type __syscall_slong_t = ::std::os::raw::c_long;
326pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
327pub type __loff_t = __off64_t;
328pub type __caddr_t = *mut ::std::os::raw::c_char;
329pub type __intptr_t = ::std::os::raw::c_long;
330pub type __socklen_t = ::std::os::raw::c_uint;
331pub type __sig_atomic_t = ::std::os::raw::c_int;
332#[repr(C)]
333#[derive(Copy, Clone)]
334pub struct __mbstate_t {
335    pub __count: ::std::os::raw::c_int,
336    pub __value: __mbstate_t__bindgen_ty_1,
337}
338#[repr(C)]
339#[derive(Copy, Clone)]
340pub union __mbstate_t__bindgen_ty_1 {
341    pub __wch: ::std::os::raw::c_uint,
342    pub __wchb: [::std::os::raw::c_char; 4usize],
343}
344#[allow(clippy::unnecessary_operation, clippy::identity_op)]
345const _: () = {
346    ["Size of __mbstate_t__bindgen_ty_1"]
347        [::std::mem::size_of::<__mbstate_t__bindgen_ty_1>() - 4usize];
348    ["Alignment of __mbstate_t__bindgen_ty_1"]
349        [::std::mem::align_of::<__mbstate_t__bindgen_ty_1>() - 4usize];
350    ["Offset of field: __mbstate_t__bindgen_ty_1::__wch"]
351        [::std::mem::offset_of!(__mbstate_t__bindgen_ty_1, __wch) - 0usize];
352    ["Offset of field: __mbstate_t__bindgen_ty_1::__wchb"]
353        [::std::mem::offset_of!(__mbstate_t__bindgen_ty_1, __wchb) - 0usize];
354};
355#[allow(clippy::unnecessary_operation, clippy::identity_op)]
356const _: () = {
357    ["Size of __mbstate_t"][::std::mem::size_of::<__mbstate_t>() - 8usize];
358    ["Alignment of __mbstate_t"][::std::mem::align_of::<__mbstate_t>() - 4usize];
359    ["Offset of field: __mbstate_t::__count"]
360        [::std::mem::offset_of!(__mbstate_t, __count) - 0usize];
361    ["Offset of field: __mbstate_t::__value"]
362        [::std::mem::offset_of!(__mbstate_t, __value) - 4usize];
363};
364#[repr(C)]
365#[derive(Copy, Clone)]
366pub struct _G_fpos_t {
367    pub __pos: __off_t,
368    pub __state: __mbstate_t,
369}
370#[allow(clippy::unnecessary_operation, clippy::identity_op)]
371const _: () = {
372    ["Size of _G_fpos_t"][::std::mem::size_of::<_G_fpos_t>() - 16usize];
373    ["Alignment of _G_fpos_t"][::std::mem::align_of::<_G_fpos_t>() - 8usize];
374    ["Offset of field: _G_fpos_t::__pos"][::std::mem::offset_of!(_G_fpos_t, __pos) - 0usize];
375    ["Offset of field: _G_fpos_t::__state"][::std::mem::offset_of!(_G_fpos_t, __state) - 8usize];
376};
377pub type __fpos_t = _G_fpos_t;
378#[repr(C)]
379#[derive(Copy, Clone)]
380pub struct _G_fpos64_t {
381    pub __pos: __off64_t,
382    pub __state: __mbstate_t,
383}
384#[allow(clippy::unnecessary_operation, clippy::identity_op)]
385const _: () = {
386    ["Size of _G_fpos64_t"][::std::mem::size_of::<_G_fpos64_t>() - 16usize];
387    ["Alignment of _G_fpos64_t"][::std::mem::align_of::<_G_fpos64_t>() - 8usize];
388    ["Offset of field: _G_fpos64_t::__pos"][::std::mem::offset_of!(_G_fpos64_t, __pos) - 0usize];
389    ["Offset of field: _G_fpos64_t::__state"]
390        [::std::mem::offset_of!(_G_fpos64_t, __state) - 8usize];
391};
392pub type __fpos64_t = _G_fpos64_t;
393pub type __FILE = _IO_FILE;
394pub type FILE = _IO_FILE;
395#[repr(C)]
396#[derive(Debug, Copy, Clone)]
397pub struct _IO_marker {
398    _unused: [u8; 0],
399}
400#[repr(C)]
401#[derive(Debug, Copy, Clone)]
402pub struct _IO_codecvt {
403    _unused: [u8; 0],
404}
405#[repr(C)]
406#[derive(Debug, Copy, Clone)]
407pub struct _IO_wide_data {
408    _unused: [u8; 0],
409}
410pub type _IO_lock_t = ::std::os::raw::c_void;
411#[repr(C)]
412#[derive(Debug, Copy, Clone)]
413pub struct _IO_FILE {
414    pub _flags: ::std::os::raw::c_int,
415    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
416    pub _IO_read_end: *mut ::std::os::raw::c_char,
417    pub _IO_read_base: *mut ::std::os::raw::c_char,
418    pub _IO_write_base: *mut ::std::os::raw::c_char,
419    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
420    pub _IO_write_end: *mut ::std::os::raw::c_char,
421    pub _IO_buf_base: *mut ::std::os::raw::c_char,
422    pub _IO_buf_end: *mut ::std::os::raw::c_char,
423    pub _IO_save_base: *mut ::std::os::raw::c_char,
424    pub _IO_backup_base: *mut ::std::os::raw::c_char,
425    pub _IO_save_end: *mut ::std::os::raw::c_char,
426    pub _markers: *mut _IO_marker,
427    pub _chain: *mut _IO_FILE,
428    pub _fileno: ::std::os::raw::c_int,
429    pub _flags2: ::std::os::raw::c_int,
430    pub _old_offset: __off_t,
431    pub _cur_column: ::std::os::raw::c_ushort,
432    pub _vtable_offset: ::std::os::raw::c_schar,
433    pub _shortbuf: [::std::os::raw::c_char; 1usize],
434    pub _lock: *mut _IO_lock_t,
435    pub _offset: __off64_t,
436    pub _codecvt: *mut _IO_codecvt,
437    pub _wide_data: *mut _IO_wide_data,
438    pub _freeres_list: *mut _IO_FILE,
439    pub _freeres_buf: *mut ::std::os::raw::c_void,
440    pub __pad5: usize,
441    pub _mode: ::std::os::raw::c_int,
442    pub _unused2: [::std::os::raw::c_char; 20usize],
443}
444#[allow(clippy::unnecessary_operation, clippy::identity_op)]
445const _: () = {
446    ["Size of _IO_FILE"][::std::mem::size_of::<_IO_FILE>() - 216usize];
447    ["Alignment of _IO_FILE"][::std::mem::align_of::<_IO_FILE>() - 8usize];
448    ["Offset of field: _IO_FILE::_flags"][::std::mem::offset_of!(_IO_FILE, _flags) - 0usize];
449    ["Offset of field: _IO_FILE::_IO_read_ptr"]
450        [::std::mem::offset_of!(_IO_FILE, _IO_read_ptr) - 8usize];
451    ["Offset of field: _IO_FILE::_IO_read_end"]
452        [::std::mem::offset_of!(_IO_FILE, _IO_read_end) - 16usize];
453    ["Offset of field: _IO_FILE::_IO_read_base"]
454        [::std::mem::offset_of!(_IO_FILE, _IO_read_base) - 24usize];
455    ["Offset of field: _IO_FILE::_IO_write_base"]
456        [::std::mem::offset_of!(_IO_FILE, _IO_write_base) - 32usize];
457    ["Offset of field: _IO_FILE::_IO_write_ptr"]
458        [::std::mem::offset_of!(_IO_FILE, _IO_write_ptr) - 40usize];
459    ["Offset of field: _IO_FILE::_IO_write_end"]
460        [::std::mem::offset_of!(_IO_FILE, _IO_write_end) - 48usize];
461    ["Offset of field: _IO_FILE::_IO_buf_base"]
462        [::std::mem::offset_of!(_IO_FILE, _IO_buf_base) - 56usize];
463    ["Offset of field: _IO_FILE::_IO_buf_end"]
464        [::std::mem::offset_of!(_IO_FILE, _IO_buf_end) - 64usize];
465    ["Offset of field: _IO_FILE::_IO_save_base"]
466        [::std::mem::offset_of!(_IO_FILE, _IO_save_base) - 72usize];
467    ["Offset of field: _IO_FILE::_IO_backup_base"]
468        [::std::mem::offset_of!(_IO_FILE, _IO_backup_base) - 80usize];
469    ["Offset of field: _IO_FILE::_IO_save_end"]
470        [::std::mem::offset_of!(_IO_FILE, _IO_save_end) - 88usize];
471    ["Offset of field: _IO_FILE::_markers"][::std::mem::offset_of!(_IO_FILE, _markers) - 96usize];
472    ["Offset of field: _IO_FILE::_chain"][::std::mem::offset_of!(_IO_FILE, _chain) - 104usize];
473    ["Offset of field: _IO_FILE::_fileno"][::std::mem::offset_of!(_IO_FILE, _fileno) - 112usize];
474    ["Offset of field: _IO_FILE::_flags2"][::std::mem::offset_of!(_IO_FILE, _flags2) - 116usize];
475    ["Offset of field: _IO_FILE::_old_offset"]
476        [::std::mem::offset_of!(_IO_FILE, _old_offset) - 120usize];
477    ["Offset of field: _IO_FILE::_cur_column"]
478        [::std::mem::offset_of!(_IO_FILE, _cur_column) - 128usize];
479    ["Offset of field: _IO_FILE::_vtable_offset"]
480        [::std::mem::offset_of!(_IO_FILE, _vtable_offset) - 130usize];
481    ["Offset of field: _IO_FILE::_shortbuf"]
482        [::std::mem::offset_of!(_IO_FILE, _shortbuf) - 131usize];
483    ["Offset of field: _IO_FILE::_lock"][::std::mem::offset_of!(_IO_FILE, _lock) - 136usize];
484    ["Offset of field: _IO_FILE::_offset"][::std::mem::offset_of!(_IO_FILE, _offset) - 144usize];
485    ["Offset of field: _IO_FILE::_codecvt"][::std::mem::offset_of!(_IO_FILE, _codecvt) - 152usize];
486    ["Offset of field: _IO_FILE::_wide_data"]
487        [::std::mem::offset_of!(_IO_FILE, _wide_data) - 160usize];
488    ["Offset of field: _IO_FILE::_freeres_list"]
489        [::std::mem::offset_of!(_IO_FILE, _freeres_list) - 168usize];
490    ["Offset of field: _IO_FILE::_freeres_buf"]
491        [::std::mem::offset_of!(_IO_FILE, _freeres_buf) - 176usize];
492    ["Offset of field: _IO_FILE::__pad5"][::std::mem::offset_of!(_IO_FILE, __pad5) - 184usize];
493    ["Offset of field: _IO_FILE::_mode"][::std::mem::offset_of!(_IO_FILE, _mode) - 192usize];
494    ["Offset of field: _IO_FILE::_unused2"][::std::mem::offset_of!(_IO_FILE, _unused2) - 196usize];
495};
496pub type off_t = __off_t;
497pub type fpos_t = __fpos_t;
498extern "C" {
499    pub static mut stdin: *mut FILE;
500}
501extern "C" {
502    pub static mut stdout: *mut FILE;
503}
504extern "C" {
505    pub static mut stderr: *mut FILE;
506}
507extern "C" {
508    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
509}
510extern "C" {
511    pub fn rename(
512        __old: *const ::std::os::raw::c_char,
513        __new: *const ::std::os::raw::c_char,
514    ) -> ::std::os::raw::c_int;
515}
516extern "C" {
517    pub fn renameat(
518        __oldfd: ::std::os::raw::c_int,
519        __old: *const ::std::os::raw::c_char,
520        __newfd: ::std::os::raw::c_int,
521        __new: *const ::std::os::raw::c_char,
522    ) -> ::std::os::raw::c_int;
523}
524extern "C" {
525    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
526}
527extern "C" {
528    pub fn tmpfile() -> *mut FILE;
529}
530extern "C" {
531    pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
532}
533extern "C" {
534    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
535}
536extern "C" {
537    pub fn tempnam(
538        __dir: *const ::std::os::raw::c_char,
539        __pfx: *const ::std::os::raw::c_char,
540    ) -> *mut ::std::os::raw::c_char;
541}
542extern "C" {
543    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
544}
545extern "C" {
546    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
547}
548extern "C" {
549    pub fn fopen(
550        __filename: *const ::std::os::raw::c_char,
551        __modes: *const ::std::os::raw::c_char,
552    ) -> *mut FILE;
553}
554extern "C" {
555    pub fn freopen(
556        __filename: *const ::std::os::raw::c_char,
557        __modes: *const ::std::os::raw::c_char,
558        __stream: *mut FILE,
559    ) -> *mut FILE;
560}
561extern "C" {
562    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
563        -> *mut FILE;
564}
565extern "C" {
566    pub fn fmemopen(
567        __s: *mut ::std::os::raw::c_void,
568        __len: usize,
569        __modes: *const ::std::os::raw::c_char,
570    ) -> *mut FILE;
571}
572extern "C" {
573    pub fn open_memstream(
574        __bufloc: *mut *mut ::std::os::raw::c_char,
575        __sizeloc: *mut usize,
576    ) -> *mut FILE;
577}
578extern "C" {
579    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
580}
581extern "C" {
582    pub fn setvbuf(
583        __stream: *mut FILE,
584        __buf: *mut ::std::os::raw::c_char,
585        __modes: ::std::os::raw::c_int,
586        __n: usize,
587    ) -> ::std::os::raw::c_int;
588}
589extern "C" {
590    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
591}
592extern "C" {
593    pub fn setlinebuf(__stream: *mut FILE);
594}
595extern "C" {
596    pub fn fprintf(
597        __stream: *mut FILE,
598        __format: *const ::std::os::raw::c_char,
599        ...
600    ) -> ::std::os::raw::c_int;
601}
602extern "C" {
603    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
604}
605extern "C" {
606    pub fn sprintf(
607        __s: *mut ::std::os::raw::c_char,
608        __format: *const ::std::os::raw::c_char,
609        ...
610    ) -> ::std::os::raw::c_int;
611}
612extern "C" {
613    pub fn vfprintf(
614        __s: *mut FILE,
615        __format: *const ::std::os::raw::c_char,
616        __arg: *mut __va_list_tag,
617    ) -> ::std::os::raw::c_int;
618}
619extern "C" {
620    pub fn vprintf(
621        __format: *const ::std::os::raw::c_char,
622        __arg: *mut __va_list_tag,
623    ) -> ::std::os::raw::c_int;
624}
625extern "C" {
626    pub fn vsprintf(
627        __s: *mut ::std::os::raw::c_char,
628        __format: *const ::std::os::raw::c_char,
629        __arg: *mut __va_list_tag,
630    ) -> ::std::os::raw::c_int;
631}
632extern "C" {
633    pub fn snprintf(
634        __s: *mut ::std::os::raw::c_char,
635        __maxlen: ::std::os::raw::c_ulong,
636        __format: *const ::std::os::raw::c_char,
637        ...
638    ) -> ::std::os::raw::c_int;
639}
640extern "C" {
641    pub fn vsnprintf(
642        __s: *mut ::std::os::raw::c_char,
643        __maxlen: ::std::os::raw::c_ulong,
644        __format: *const ::std::os::raw::c_char,
645        __arg: *mut __va_list_tag,
646    ) -> ::std::os::raw::c_int;
647}
648extern "C" {
649    pub fn vdprintf(
650        __fd: ::std::os::raw::c_int,
651        __fmt: *const ::std::os::raw::c_char,
652        __arg: *mut __va_list_tag,
653    ) -> ::std::os::raw::c_int;
654}
655extern "C" {
656    pub fn dprintf(
657        __fd: ::std::os::raw::c_int,
658        __fmt: *const ::std::os::raw::c_char,
659        ...
660    ) -> ::std::os::raw::c_int;
661}
662extern "C" {
663    pub fn fscanf(
664        __stream: *mut FILE,
665        __format: *const ::std::os::raw::c_char,
666        ...
667    ) -> ::std::os::raw::c_int;
668}
669extern "C" {
670    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
671}
672extern "C" {
673    pub fn sscanf(
674        __s: *const ::std::os::raw::c_char,
675        __format: *const ::std::os::raw::c_char,
676        ...
677    ) -> ::std::os::raw::c_int;
678}
679pub type _Float32 = f32;
680pub type _Float64 = f64;
681pub type _Float32x = f64;
682pub type _Float64x = u128;
683extern "C" {
684    #[link_name = "\u{1}__isoc99_fscanf"]
685    pub fn fscanf1(
686        __stream: *mut FILE,
687        __format: *const ::std::os::raw::c_char,
688        ...
689    ) -> ::std::os::raw::c_int;
690}
691extern "C" {
692    #[link_name = "\u{1}__isoc99_scanf"]
693    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
694}
695extern "C" {
696    #[link_name = "\u{1}__isoc99_sscanf"]
697    pub fn sscanf1(
698        __s: *const ::std::os::raw::c_char,
699        __format: *const ::std::os::raw::c_char,
700        ...
701    ) -> ::std::os::raw::c_int;
702}
703extern "C" {
704    pub fn vfscanf(
705        __s: *mut FILE,
706        __format: *const ::std::os::raw::c_char,
707        __arg: *mut __va_list_tag,
708    ) -> ::std::os::raw::c_int;
709}
710extern "C" {
711    pub fn vscanf(
712        __format: *const ::std::os::raw::c_char,
713        __arg: *mut __va_list_tag,
714    ) -> ::std::os::raw::c_int;
715}
716extern "C" {
717    pub fn vsscanf(
718        __s: *const ::std::os::raw::c_char,
719        __format: *const ::std::os::raw::c_char,
720        __arg: *mut __va_list_tag,
721    ) -> ::std::os::raw::c_int;
722}
723extern "C" {
724    #[link_name = "\u{1}__isoc99_vfscanf"]
725    pub fn vfscanf1(
726        __s: *mut FILE,
727        __format: *const ::std::os::raw::c_char,
728        __arg: *mut __va_list_tag,
729    ) -> ::std::os::raw::c_int;
730}
731extern "C" {
732    #[link_name = "\u{1}__isoc99_vscanf"]
733    pub fn vscanf1(
734        __format: *const ::std::os::raw::c_char,
735        __arg: *mut __va_list_tag,
736    ) -> ::std::os::raw::c_int;
737}
738extern "C" {
739    #[link_name = "\u{1}__isoc99_vsscanf"]
740    pub fn vsscanf1(
741        __s: *const ::std::os::raw::c_char,
742        __format: *const ::std::os::raw::c_char,
743        __arg: *mut __va_list_tag,
744    ) -> ::std::os::raw::c_int;
745}
746extern "C" {
747    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
748}
749extern "C" {
750    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
751}
752extern "C" {
753    pub fn getchar() -> ::std::os::raw::c_int;
754}
755extern "C" {
756    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
757}
758extern "C" {
759    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
760}
761extern "C" {
762    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
763}
764extern "C" {
765    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
766}
767extern "C" {
768    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
769}
770extern "C" {
771    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
772}
773extern "C" {
774    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
775        -> ::std::os::raw::c_int;
776}
777extern "C" {
778    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
779}
780extern "C" {
781    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
782}
783extern "C" {
784    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
785}
786extern "C" {
787    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
788}
789extern "C" {
790    pub fn fgets(
791        __s: *mut ::std::os::raw::c_char,
792        __n: ::std::os::raw::c_int,
793        __stream: *mut FILE,
794    ) -> *mut ::std::os::raw::c_char;
795}
796extern "C" {
797    pub fn __getdelim(
798        __lineptr: *mut *mut ::std::os::raw::c_char,
799        __n: *mut usize,
800        __delimiter: ::std::os::raw::c_int,
801        __stream: *mut FILE,
802    ) -> __ssize_t;
803}
804extern "C" {
805    pub fn getdelim(
806        __lineptr: *mut *mut ::std::os::raw::c_char,
807        __n: *mut usize,
808        __delimiter: ::std::os::raw::c_int,
809        __stream: *mut FILE,
810    ) -> __ssize_t;
811}
812extern "C" {
813    pub fn getline(
814        __lineptr: *mut *mut ::std::os::raw::c_char,
815        __n: *mut usize,
816        __stream: *mut FILE,
817    ) -> __ssize_t;
818}
819extern "C" {
820    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
821}
822extern "C" {
823    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
824}
825extern "C" {
826    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
827}
828extern "C" {
829    pub fn fread(
830        __ptr: *mut ::std::os::raw::c_void,
831        __size: ::std::os::raw::c_ulong,
832        __n: ::std::os::raw::c_ulong,
833        __stream: *mut FILE,
834    ) -> ::std::os::raw::c_ulong;
835}
836extern "C" {
837    pub fn fwrite(
838        __ptr: *const ::std::os::raw::c_void,
839        __size: ::std::os::raw::c_ulong,
840        __n: ::std::os::raw::c_ulong,
841        __s: *mut FILE,
842    ) -> ::std::os::raw::c_ulong;
843}
844extern "C" {
845    pub fn fread_unlocked(
846        __ptr: *mut ::std::os::raw::c_void,
847        __size: usize,
848        __n: usize,
849        __stream: *mut FILE,
850    ) -> usize;
851}
852extern "C" {
853    pub fn fwrite_unlocked(
854        __ptr: *const ::std::os::raw::c_void,
855        __size: usize,
856        __n: usize,
857        __stream: *mut FILE,
858    ) -> usize;
859}
860extern "C" {
861    pub fn fseek(
862        __stream: *mut FILE,
863        __off: ::std::os::raw::c_long,
864        __whence: ::std::os::raw::c_int,
865    ) -> ::std::os::raw::c_int;
866}
867extern "C" {
868    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
869}
870extern "C" {
871    pub fn rewind(__stream: *mut FILE);
872}
873extern "C" {
874    pub fn fseeko(
875        __stream: *mut FILE,
876        __off: __off_t,
877        __whence: ::std::os::raw::c_int,
878    ) -> ::std::os::raw::c_int;
879}
880extern "C" {
881    pub fn ftello(__stream: *mut FILE) -> __off_t;
882}
883extern "C" {
884    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
885}
886extern "C" {
887    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
888}
889extern "C" {
890    pub fn clearerr(__stream: *mut FILE);
891}
892extern "C" {
893    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
894}
895extern "C" {
896    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
897}
898extern "C" {
899    pub fn clearerr_unlocked(__stream: *mut FILE);
900}
901extern "C" {
902    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
903}
904extern "C" {
905    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
906}
907extern "C" {
908    pub fn perror(__s: *const ::std::os::raw::c_char);
909}
910extern "C" {
911    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
912}
913extern "C" {
914    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
915}
916extern "C" {
917    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
918}
919extern "C" {
920    pub fn popen(
921        __command: *const ::std::os::raw::c_char,
922        __modes: *const ::std::os::raw::c_char,
923    ) -> *mut FILE;
924}
925extern "C" {
926    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
927}
928extern "C" {
929    pub fn flockfile(__stream: *mut FILE);
930}
931extern "C" {
932    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
933}
934extern "C" {
935    pub fn funlockfile(__stream: *mut FILE);
936}
937extern "C" {
938    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
939}
940extern "C" {
941    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
942}
943pub type int_least8_t = __int_least8_t;
944pub type int_least16_t = __int_least16_t;
945pub type int_least32_t = __int_least32_t;
946pub type int_least64_t = __int_least64_t;
947pub type uint_least8_t = __uint_least8_t;
948pub type uint_least16_t = __uint_least16_t;
949pub type uint_least32_t = __uint_least32_t;
950pub type uint_least64_t = __uint_least64_t;
951pub type int_fast8_t = ::std::os::raw::c_schar;
952pub type int_fast16_t = ::std::os::raw::c_long;
953pub type int_fast32_t = ::std::os::raw::c_long;
954pub type int_fast64_t = ::std::os::raw::c_long;
955pub type uint_fast8_t = ::std::os::raw::c_uchar;
956pub type uint_fast16_t = ::std::os::raw::c_ulong;
957pub type uint_fast32_t = ::std::os::raw::c_ulong;
958pub type uint_fast64_t = ::std::os::raw::c_ulong;
959pub type intmax_t = __intmax_t;
960pub type uintmax_t = __uintmax_t;
961#[repr(C)]
962#[derive(Debug, Copy, Clone)]
963pub struct JSRuntime {
964    _unused: [u8; 0],
965}
966#[repr(C)]
967#[derive(Debug, Copy, Clone)]
968pub struct JSContext {
969    _unused: [u8; 0],
970}
971#[repr(C)]
972#[derive(Debug, Copy, Clone)]
973pub struct JSObject {
974    _unused: [u8; 0],
975}
976#[repr(C)]
977#[derive(Debug, Copy, Clone)]
978pub struct JSClass {
979    _unused: [u8; 0],
980}
981pub type JSClassID = u32;
982pub type JSAtom = u32;
983pub const JS_TAG_FIRST: _bindgen_ty_1 = -11;
984pub const JS_TAG_BIG_DECIMAL: _bindgen_ty_1 = -11;
985pub const JS_TAG_BIG_INT: _bindgen_ty_1 = -10;
986pub const JS_TAG_BIG_FLOAT: _bindgen_ty_1 = -9;
987pub const JS_TAG_SYMBOL: _bindgen_ty_1 = -8;
988pub const JS_TAG_STRING: _bindgen_ty_1 = -7;
989pub const JS_TAG_MODULE: _bindgen_ty_1 = -3;
990pub const JS_TAG_FUNCTION_BYTECODE: _bindgen_ty_1 = -2;
991pub const JS_TAG_OBJECT: _bindgen_ty_1 = -1;
992pub const JS_TAG_INT: _bindgen_ty_1 = 0;
993pub const JS_TAG_BOOL: _bindgen_ty_1 = 1;
994pub const JS_TAG_NULL: _bindgen_ty_1 = 2;
995pub const JS_TAG_UNDEFINED: _bindgen_ty_1 = 3;
996pub const JS_TAG_UNINITIALIZED: _bindgen_ty_1 = 4;
997pub const JS_TAG_CATCH_OFFSET: _bindgen_ty_1 = 5;
998pub const JS_TAG_EXCEPTION: _bindgen_ty_1 = 6;
999pub const JS_TAG_FLOAT64: _bindgen_ty_1 = 7;
1000pub type _bindgen_ty_1 = ::std::os::raw::c_int;
1001#[repr(C)]
1002#[derive(Debug, Copy, Clone)]
1003pub struct JSRefCountHeader {
1004    pub ref_count: ::std::os::raw::c_int,
1005}
1006#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1007const _: () = {
1008    ["Size of JSRefCountHeader"][::std::mem::size_of::<JSRefCountHeader>() - 4usize];
1009    ["Alignment of JSRefCountHeader"][::std::mem::align_of::<JSRefCountHeader>() - 4usize];
1010    ["Offset of field: JSRefCountHeader::ref_count"]
1011        [::std::mem::offset_of!(JSRefCountHeader, ref_count) - 0usize];
1012};
1013#[repr(C)]
1014#[derive(Copy, Clone)]
1015pub union JSValueUnion {
1016    pub int32: i32,
1017    pub float64: f64,
1018    pub ptr: *mut ::std::os::raw::c_void,
1019}
1020#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1021const _: () = {
1022    ["Size of JSValueUnion"][::std::mem::size_of::<JSValueUnion>() - 8usize];
1023    ["Alignment of JSValueUnion"][::std::mem::align_of::<JSValueUnion>() - 8usize];
1024    ["Offset of field: JSValueUnion::int32"][::std::mem::offset_of!(JSValueUnion, int32) - 0usize];
1025    ["Offset of field: JSValueUnion::float64"]
1026        [::std::mem::offset_of!(JSValueUnion, float64) - 0usize];
1027    ["Offset of field: JSValueUnion::ptr"][::std::mem::offset_of!(JSValueUnion, ptr) - 0usize];
1028};
1029#[repr(C)]
1030#[derive(Copy, Clone)]
1031pub struct JSValue {
1032    pub u: JSValueUnion,
1033    pub tag: i64,
1034}
1035#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1036const _: () = {
1037    ["Size of JSValue"][::std::mem::size_of::<JSValue>() - 16usize];
1038    ["Alignment of JSValue"][::std::mem::align_of::<JSValue>() - 8usize];
1039    ["Offset of field: JSValue::u"][::std::mem::offset_of!(JSValue, u) - 0usize];
1040    ["Offset of field: JSValue::tag"][::std::mem::offset_of!(JSValue, tag) - 8usize];
1041};
1042pub type JSCFunction = ::std::option::Option<
1043    unsafe extern "C" fn(
1044        ctx: *mut JSContext,
1045        this_val: JSValue,
1046        argc: ::std::os::raw::c_int,
1047        argv: *mut JSValue,
1048    ) -> JSValue,
1049>;
1050pub type JSCFunctionMagic = ::std::option::Option<
1051    unsafe extern "C" fn(
1052        ctx: *mut JSContext,
1053        this_val: JSValue,
1054        argc: ::std::os::raw::c_int,
1055        argv: *mut JSValue,
1056        magic: ::std::os::raw::c_int,
1057    ) -> JSValue,
1058>;
1059pub type JSCFunctionData = ::std::option::Option<
1060    unsafe extern "C" fn(
1061        ctx: *mut JSContext,
1062        this_val: JSValue,
1063        argc: ::std::os::raw::c_int,
1064        argv: *mut JSValue,
1065        magic: ::std::os::raw::c_int,
1066        func_data: *mut JSValue,
1067    ) -> JSValue,
1068>;
1069#[repr(C)]
1070#[derive(Debug, Copy, Clone)]
1071pub struct JSMallocState {
1072    pub malloc_count: usize,
1073    pub malloc_size: usize,
1074    pub malloc_limit: usize,
1075    pub opaque: *mut ::std::os::raw::c_void,
1076}
1077#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1078const _: () = {
1079    ["Size of JSMallocState"][::std::mem::size_of::<JSMallocState>() - 32usize];
1080    ["Alignment of JSMallocState"][::std::mem::align_of::<JSMallocState>() - 8usize];
1081    ["Offset of field: JSMallocState::malloc_count"]
1082        [::std::mem::offset_of!(JSMallocState, malloc_count) - 0usize];
1083    ["Offset of field: JSMallocState::malloc_size"]
1084        [::std::mem::offset_of!(JSMallocState, malloc_size) - 8usize];
1085    ["Offset of field: JSMallocState::malloc_limit"]
1086        [::std::mem::offset_of!(JSMallocState, malloc_limit) - 16usize];
1087    ["Offset of field: JSMallocState::opaque"]
1088        [::std::mem::offset_of!(JSMallocState, opaque) - 24usize];
1089};
1090#[repr(C)]
1091#[derive(Debug, Copy, Clone)]
1092pub struct JSMallocFunctions {
1093    pub js_malloc: ::std::option::Option<
1094        unsafe extern "C" fn(s: *mut JSMallocState, size: usize) -> *mut ::std::os::raw::c_void,
1095    >,
1096    pub js_free: ::std::option::Option<
1097        unsafe extern "C" fn(s: *mut JSMallocState, ptr: *mut ::std::os::raw::c_void),
1098    >,
1099    pub js_realloc: ::std::option::Option<
1100        unsafe extern "C" fn(
1101            s: *mut JSMallocState,
1102            ptr: *mut ::std::os::raw::c_void,
1103            size: usize,
1104        ) -> *mut ::std::os::raw::c_void,
1105    >,
1106    pub js_malloc_usable_size:
1107        ::std::option::Option<unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> usize>,
1108}
1109#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1110const _: () = {
1111    ["Size of JSMallocFunctions"][::std::mem::size_of::<JSMallocFunctions>() - 32usize];
1112    ["Alignment of JSMallocFunctions"][::std::mem::align_of::<JSMallocFunctions>() - 8usize];
1113    ["Offset of field: JSMallocFunctions::js_malloc"]
1114        [::std::mem::offset_of!(JSMallocFunctions, js_malloc) - 0usize];
1115    ["Offset of field: JSMallocFunctions::js_free"]
1116        [::std::mem::offset_of!(JSMallocFunctions, js_free) - 8usize];
1117    ["Offset of field: JSMallocFunctions::js_realloc"]
1118        [::std::mem::offset_of!(JSMallocFunctions, js_realloc) - 16usize];
1119    ["Offset of field: JSMallocFunctions::js_malloc_usable_size"]
1120        [::std::mem::offset_of!(JSMallocFunctions, js_malloc_usable_size) - 24usize];
1121};
1122#[repr(C)]
1123#[derive(Debug, Copy, Clone)]
1124pub struct JSGCObjectHeader {
1125    _unused: [u8; 0],
1126}
1127extern "C" {
1128    pub fn JS_NewRuntime() -> *mut JSRuntime;
1129}
1130extern "C" {
1131    pub fn JS_SetRuntimeInfo(rt: *mut JSRuntime, info: *const ::std::os::raw::c_char);
1132}
1133extern "C" {
1134    pub fn JS_SetMemoryLimit(rt: *mut JSRuntime, limit: usize);
1135}
1136extern "C" {
1137    pub fn JS_SetGCThreshold(rt: *mut JSRuntime, gc_threshold: usize);
1138}
1139extern "C" {
1140    pub fn JS_SetMaxStackSize(rt: *mut JSRuntime, stack_size: usize);
1141}
1142extern "C" {
1143    pub fn JS_UpdateStackTop(rt: *mut JSRuntime);
1144}
1145extern "C" {
1146    pub fn JS_NewRuntime2(
1147        mf: *const JSMallocFunctions,
1148        opaque: *mut ::std::os::raw::c_void,
1149    ) -> *mut JSRuntime;
1150}
1151extern "C" {
1152    pub fn JS_FreeRuntime(rt: *mut JSRuntime);
1153}
1154extern "C" {
1155    pub fn JS_GetRuntimeOpaque(rt: *mut JSRuntime) -> *mut ::std::os::raw::c_void;
1156}
1157extern "C" {
1158    pub fn JS_SetRuntimeOpaque(rt: *mut JSRuntime, opaque: *mut ::std::os::raw::c_void);
1159}
1160pub type JS_MarkFunc =
1161    ::std::option::Option<unsafe extern "C" fn(rt: *mut JSRuntime, gp: *mut JSGCObjectHeader)>;
1162extern "C" {
1163    pub fn JS_MarkValue(rt: *mut JSRuntime, val: JSValue, mark_func: JS_MarkFunc);
1164}
1165extern "C" {
1166    pub fn JS_RunGC(rt: *mut JSRuntime);
1167}
1168extern "C" {
1169    pub fn JS_IsLiveObject(rt: *mut JSRuntime, obj: JSValue) -> ::std::os::raw::c_int;
1170}
1171extern "C" {
1172    pub fn JS_NewContext(rt: *mut JSRuntime) -> *mut JSContext;
1173}
1174extern "C" {
1175    pub fn JS_FreeContext(s: *mut JSContext);
1176}
1177extern "C" {
1178    pub fn JS_DupContext(ctx: *mut JSContext) -> *mut JSContext;
1179}
1180extern "C" {
1181    pub fn JS_GetContextOpaque(ctx: *mut JSContext) -> *mut ::std::os::raw::c_void;
1182}
1183extern "C" {
1184    pub fn JS_SetContextOpaque(ctx: *mut JSContext, opaque: *mut ::std::os::raw::c_void);
1185}
1186extern "C" {
1187    pub fn JS_GetRuntime(ctx: *mut JSContext) -> *mut JSRuntime;
1188}
1189extern "C" {
1190    pub fn JS_SetClassProto(ctx: *mut JSContext, class_id: JSClassID, obj: JSValue);
1191}
1192extern "C" {
1193    pub fn JS_GetClassProto(ctx: *mut JSContext, class_id: JSClassID) -> JSValue;
1194}
1195extern "C" {
1196    pub fn JS_NewContextRaw(rt: *mut JSRuntime) -> *mut JSContext;
1197}
1198extern "C" {
1199    pub fn JS_AddIntrinsicBaseObjects(ctx: *mut JSContext);
1200}
1201extern "C" {
1202    pub fn JS_AddIntrinsicDate(ctx: *mut JSContext);
1203}
1204extern "C" {
1205    pub fn JS_AddIntrinsicEval(ctx: *mut JSContext);
1206}
1207extern "C" {
1208    pub fn JS_AddIntrinsicStringNormalize(ctx: *mut JSContext);
1209}
1210extern "C" {
1211    pub fn JS_AddIntrinsicRegExpCompiler(ctx: *mut JSContext);
1212}
1213extern "C" {
1214    pub fn JS_AddIntrinsicRegExp(ctx: *mut JSContext);
1215}
1216extern "C" {
1217    pub fn JS_AddIntrinsicJSON(ctx: *mut JSContext);
1218}
1219extern "C" {
1220    pub fn JS_AddIntrinsicProxy(ctx: *mut JSContext);
1221}
1222extern "C" {
1223    pub fn JS_AddIntrinsicMapSet(ctx: *mut JSContext);
1224}
1225extern "C" {
1226    pub fn JS_AddIntrinsicTypedArrays(ctx: *mut JSContext);
1227}
1228extern "C" {
1229    pub fn JS_AddIntrinsicPromise(ctx: *mut JSContext);
1230}
1231extern "C" {
1232    pub fn JS_AddIntrinsicBigInt(ctx: *mut JSContext);
1233}
1234extern "C" {
1235    pub fn JS_AddIntrinsicBigFloat(ctx: *mut JSContext);
1236}
1237extern "C" {
1238    pub fn JS_AddIntrinsicBigDecimal(ctx: *mut JSContext);
1239}
1240extern "C" {
1241    pub fn JS_AddIntrinsicOperators(ctx: *mut JSContext);
1242}
1243extern "C" {
1244    pub fn JS_EnableBignumExt(ctx: *mut JSContext, enable: ::std::os::raw::c_int);
1245}
1246extern "C" {
1247    pub fn js_string_codePointRange(
1248        ctx: *mut JSContext,
1249        this_val: JSValue,
1250        argc: ::std::os::raw::c_int,
1251        argv: *mut JSValue,
1252    ) -> JSValue;
1253}
1254extern "C" {
1255    pub fn js_malloc_rt(rt: *mut JSRuntime, size: usize) -> *mut ::std::os::raw::c_void;
1256}
1257extern "C" {
1258    pub fn js_free_rt(rt: *mut JSRuntime, ptr: *mut ::std::os::raw::c_void);
1259}
1260extern "C" {
1261    pub fn js_realloc_rt(
1262        rt: *mut JSRuntime,
1263        ptr: *mut ::std::os::raw::c_void,
1264        size: usize,
1265    ) -> *mut ::std::os::raw::c_void;
1266}
1267extern "C" {
1268    pub fn js_malloc_usable_size_rt(
1269        rt: *mut JSRuntime,
1270        ptr: *const ::std::os::raw::c_void,
1271    ) -> usize;
1272}
1273extern "C" {
1274    pub fn js_mallocz_rt(rt: *mut JSRuntime, size: usize) -> *mut ::std::os::raw::c_void;
1275}
1276extern "C" {
1277    pub fn js_malloc(ctx: *mut JSContext, size: usize) -> *mut ::std::os::raw::c_void;
1278}
1279extern "C" {
1280    pub fn js_free(ctx: *mut JSContext, ptr: *mut ::std::os::raw::c_void);
1281}
1282extern "C" {
1283    pub fn js_realloc(
1284        ctx: *mut JSContext,
1285        ptr: *mut ::std::os::raw::c_void,
1286        size: usize,
1287    ) -> *mut ::std::os::raw::c_void;
1288}
1289extern "C" {
1290    pub fn js_malloc_usable_size(ctx: *mut JSContext, ptr: *const ::std::os::raw::c_void) -> usize;
1291}
1292extern "C" {
1293    pub fn js_realloc2(
1294        ctx: *mut JSContext,
1295        ptr: *mut ::std::os::raw::c_void,
1296        size: usize,
1297        pslack: *mut usize,
1298    ) -> *mut ::std::os::raw::c_void;
1299}
1300extern "C" {
1301    pub fn js_mallocz(ctx: *mut JSContext, size: usize) -> *mut ::std::os::raw::c_void;
1302}
1303extern "C" {
1304    pub fn js_strdup(
1305        ctx: *mut JSContext,
1306        str_: *const ::std::os::raw::c_char,
1307    ) -> *mut ::std::os::raw::c_char;
1308}
1309extern "C" {
1310    pub fn js_strndup(
1311        ctx: *mut JSContext,
1312        s: *const ::std::os::raw::c_char,
1313        n: usize,
1314    ) -> *mut ::std::os::raw::c_char;
1315}
1316#[repr(C)]
1317#[derive(Debug, Copy, Clone)]
1318pub struct JSMemoryUsage {
1319    pub malloc_size: i64,
1320    pub malloc_limit: i64,
1321    pub memory_used_size: i64,
1322    pub malloc_count: i64,
1323    pub memory_used_count: i64,
1324    pub atom_count: i64,
1325    pub atom_size: i64,
1326    pub str_count: i64,
1327    pub str_size: i64,
1328    pub obj_count: i64,
1329    pub obj_size: i64,
1330    pub prop_count: i64,
1331    pub prop_size: i64,
1332    pub shape_count: i64,
1333    pub shape_size: i64,
1334    pub js_func_count: i64,
1335    pub js_func_size: i64,
1336    pub js_func_code_size: i64,
1337    pub js_func_pc2line_count: i64,
1338    pub js_func_pc2line_size: i64,
1339    pub c_func_count: i64,
1340    pub array_count: i64,
1341    pub fast_array_count: i64,
1342    pub fast_array_elements: i64,
1343    pub binary_object_count: i64,
1344    pub binary_object_size: i64,
1345}
1346#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1347const _: () = {
1348    ["Size of JSMemoryUsage"][::std::mem::size_of::<JSMemoryUsage>() - 208usize];
1349    ["Alignment of JSMemoryUsage"][::std::mem::align_of::<JSMemoryUsage>() - 8usize];
1350    ["Offset of field: JSMemoryUsage::malloc_size"]
1351        [::std::mem::offset_of!(JSMemoryUsage, malloc_size) - 0usize];
1352    ["Offset of field: JSMemoryUsage::malloc_limit"]
1353        [::std::mem::offset_of!(JSMemoryUsage, malloc_limit) - 8usize];
1354    ["Offset of field: JSMemoryUsage::memory_used_size"]
1355        [::std::mem::offset_of!(JSMemoryUsage, memory_used_size) - 16usize];
1356    ["Offset of field: JSMemoryUsage::malloc_count"]
1357        [::std::mem::offset_of!(JSMemoryUsage, malloc_count) - 24usize];
1358    ["Offset of field: JSMemoryUsage::memory_used_count"]
1359        [::std::mem::offset_of!(JSMemoryUsage, memory_used_count) - 32usize];
1360    ["Offset of field: JSMemoryUsage::atom_count"]
1361        [::std::mem::offset_of!(JSMemoryUsage, atom_count) - 40usize];
1362    ["Offset of field: JSMemoryUsage::atom_size"]
1363        [::std::mem::offset_of!(JSMemoryUsage, atom_size) - 48usize];
1364    ["Offset of field: JSMemoryUsage::str_count"]
1365        [::std::mem::offset_of!(JSMemoryUsage, str_count) - 56usize];
1366    ["Offset of field: JSMemoryUsage::str_size"]
1367        [::std::mem::offset_of!(JSMemoryUsage, str_size) - 64usize];
1368    ["Offset of field: JSMemoryUsage::obj_count"]
1369        [::std::mem::offset_of!(JSMemoryUsage, obj_count) - 72usize];
1370    ["Offset of field: JSMemoryUsage::obj_size"]
1371        [::std::mem::offset_of!(JSMemoryUsage, obj_size) - 80usize];
1372    ["Offset of field: JSMemoryUsage::prop_count"]
1373        [::std::mem::offset_of!(JSMemoryUsage, prop_count) - 88usize];
1374    ["Offset of field: JSMemoryUsage::prop_size"]
1375        [::std::mem::offset_of!(JSMemoryUsage, prop_size) - 96usize];
1376    ["Offset of field: JSMemoryUsage::shape_count"]
1377        [::std::mem::offset_of!(JSMemoryUsage, shape_count) - 104usize];
1378    ["Offset of field: JSMemoryUsage::shape_size"]
1379        [::std::mem::offset_of!(JSMemoryUsage, shape_size) - 112usize];
1380    ["Offset of field: JSMemoryUsage::js_func_count"]
1381        [::std::mem::offset_of!(JSMemoryUsage, js_func_count) - 120usize];
1382    ["Offset of field: JSMemoryUsage::js_func_size"]
1383        [::std::mem::offset_of!(JSMemoryUsage, js_func_size) - 128usize];
1384    ["Offset of field: JSMemoryUsage::js_func_code_size"]
1385        [::std::mem::offset_of!(JSMemoryUsage, js_func_code_size) - 136usize];
1386    ["Offset of field: JSMemoryUsage::js_func_pc2line_count"]
1387        [::std::mem::offset_of!(JSMemoryUsage, js_func_pc2line_count) - 144usize];
1388    ["Offset of field: JSMemoryUsage::js_func_pc2line_size"]
1389        [::std::mem::offset_of!(JSMemoryUsage, js_func_pc2line_size) - 152usize];
1390    ["Offset of field: JSMemoryUsage::c_func_count"]
1391        [::std::mem::offset_of!(JSMemoryUsage, c_func_count) - 160usize];
1392    ["Offset of field: JSMemoryUsage::array_count"]
1393        [::std::mem::offset_of!(JSMemoryUsage, array_count) - 168usize];
1394    ["Offset of field: JSMemoryUsage::fast_array_count"]
1395        [::std::mem::offset_of!(JSMemoryUsage, fast_array_count) - 176usize];
1396    ["Offset of field: JSMemoryUsage::fast_array_elements"]
1397        [::std::mem::offset_of!(JSMemoryUsage, fast_array_elements) - 184usize];
1398    ["Offset of field: JSMemoryUsage::binary_object_count"]
1399        [::std::mem::offset_of!(JSMemoryUsage, binary_object_count) - 192usize];
1400    ["Offset of field: JSMemoryUsage::binary_object_size"]
1401        [::std::mem::offset_of!(JSMemoryUsage, binary_object_size) - 200usize];
1402};
1403extern "C" {
1404    pub fn JS_ComputeMemoryUsage(rt: *mut JSRuntime, s: *mut JSMemoryUsage);
1405}
1406extern "C" {
1407    pub fn JS_DumpMemoryUsage(fp: *mut FILE, s: *const JSMemoryUsage, rt: *mut JSRuntime);
1408}
1409extern "C" {
1410    pub fn JS_NewAtomLen(
1411        ctx: *mut JSContext,
1412        str_: *const ::std::os::raw::c_char,
1413        len: usize,
1414    ) -> JSAtom;
1415}
1416extern "C" {
1417    pub fn JS_NewAtom(ctx: *mut JSContext, str_: *const ::std::os::raw::c_char) -> JSAtom;
1418}
1419extern "C" {
1420    pub fn JS_NewAtomUInt32(ctx: *mut JSContext, n: u32) -> JSAtom;
1421}
1422extern "C" {
1423    pub fn JS_DupAtom(ctx: *mut JSContext, v: JSAtom) -> JSAtom;
1424}
1425extern "C" {
1426    pub fn JS_FreeAtom(ctx: *mut JSContext, v: JSAtom);
1427}
1428extern "C" {
1429    pub fn JS_FreeAtomRT(rt: *mut JSRuntime, v: JSAtom);
1430}
1431extern "C" {
1432    pub fn JS_AtomToValue(ctx: *mut JSContext, atom: JSAtom) -> JSValue;
1433}
1434extern "C" {
1435    pub fn JS_AtomToString(ctx: *mut JSContext, atom: JSAtom) -> JSValue;
1436}
1437extern "C" {
1438    pub fn JS_AtomToCString(ctx: *mut JSContext, atom: JSAtom) -> *const ::std::os::raw::c_char;
1439}
1440extern "C" {
1441    pub fn JS_ValueToAtom(ctx: *mut JSContext, val: JSValue) -> JSAtom;
1442}
1443#[repr(C)]
1444#[derive(Debug, Copy, Clone)]
1445pub struct JSPropertyEnum {
1446    pub is_enumerable: ::std::os::raw::c_int,
1447    pub atom: JSAtom,
1448}
1449#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1450const _: () = {
1451    ["Size of JSPropertyEnum"][::std::mem::size_of::<JSPropertyEnum>() - 8usize];
1452    ["Alignment of JSPropertyEnum"][::std::mem::align_of::<JSPropertyEnum>() - 4usize];
1453    ["Offset of field: JSPropertyEnum::is_enumerable"]
1454        [::std::mem::offset_of!(JSPropertyEnum, is_enumerable) - 0usize];
1455    ["Offset of field: JSPropertyEnum::atom"]
1456        [::std::mem::offset_of!(JSPropertyEnum, atom) - 4usize];
1457};
1458#[repr(C)]
1459#[derive(Copy, Clone)]
1460pub struct JSPropertyDescriptor {
1461    pub flags: ::std::os::raw::c_int,
1462    pub value: JSValue,
1463    pub getter: JSValue,
1464    pub setter: JSValue,
1465}
1466#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1467const _: () = {
1468    ["Size of JSPropertyDescriptor"][::std::mem::size_of::<JSPropertyDescriptor>() - 56usize];
1469    ["Alignment of JSPropertyDescriptor"][::std::mem::align_of::<JSPropertyDescriptor>() - 8usize];
1470    ["Offset of field: JSPropertyDescriptor::flags"]
1471        [::std::mem::offset_of!(JSPropertyDescriptor, flags) - 0usize];
1472    ["Offset of field: JSPropertyDescriptor::value"]
1473        [::std::mem::offset_of!(JSPropertyDescriptor, value) - 8usize];
1474    ["Offset of field: JSPropertyDescriptor::getter"]
1475        [::std::mem::offset_of!(JSPropertyDescriptor, getter) - 24usize];
1476    ["Offset of field: JSPropertyDescriptor::setter"]
1477        [::std::mem::offset_of!(JSPropertyDescriptor, setter) - 40usize];
1478};
1479#[repr(C)]
1480#[derive(Debug, Copy, Clone)]
1481pub struct JSClassExoticMethods {
1482    pub get_own_property: ::std::option::Option<
1483        unsafe extern "C" fn(
1484            ctx: *mut JSContext,
1485            desc: *mut JSPropertyDescriptor,
1486            obj: JSValue,
1487            prop: JSAtom,
1488        ) -> ::std::os::raw::c_int,
1489    >,
1490    pub get_own_property_names: ::std::option::Option<
1491        unsafe extern "C" fn(
1492            ctx: *mut JSContext,
1493            ptab: *mut *mut JSPropertyEnum,
1494            plen: *mut u32,
1495            obj: JSValue,
1496        ) -> ::std::os::raw::c_int,
1497    >,
1498    pub delete_property: ::std::option::Option<
1499        unsafe extern "C" fn(
1500            ctx: *mut JSContext,
1501            obj: JSValue,
1502            prop: JSAtom,
1503        ) -> ::std::os::raw::c_int,
1504    >,
1505    pub define_own_property: ::std::option::Option<
1506        unsafe extern "C" fn(
1507            ctx: *mut JSContext,
1508            this_obj: JSValue,
1509            prop: JSAtom,
1510            val: JSValue,
1511            getter: JSValue,
1512            setter: JSValue,
1513            flags: ::std::os::raw::c_int,
1514        ) -> ::std::os::raw::c_int,
1515    >,
1516    pub has_property: ::std::option::Option<
1517        unsafe extern "C" fn(
1518            ctx: *mut JSContext,
1519            obj: JSValue,
1520            atom: JSAtom,
1521        ) -> ::std::os::raw::c_int,
1522    >,
1523    pub get_property: ::std::option::Option<
1524        unsafe extern "C" fn(
1525            ctx: *mut JSContext,
1526            obj: JSValue,
1527            atom: JSAtom,
1528            receiver: JSValue,
1529        ) -> JSValue,
1530    >,
1531    pub set_property: ::std::option::Option<
1532        unsafe extern "C" fn(
1533            ctx: *mut JSContext,
1534            obj: JSValue,
1535            atom: JSAtom,
1536            value: JSValue,
1537            receiver: JSValue,
1538            flags: ::std::os::raw::c_int,
1539        ) -> ::std::os::raw::c_int,
1540    >,
1541}
1542#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1543const _: () = {
1544    ["Size of JSClassExoticMethods"][::std::mem::size_of::<JSClassExoticMethods>() - 56usize];
1545    ["Alignment of JSClassExoticMethods"][::std::mem::align_of::<JSClassExoticMethods>() - 8usize];
1546    ["Offset of field: JSClassExoticMethods::get_own_property"]
1547        [::std::mem::offset_of!(JSClassExoticMethods, get_own_property) - 0usize];
1548    ["Offset of field: JSClassExoticMethods::get_own_property_names"]
1549        [::std::mem::offset_of!(JSClassExoticMethods, get_own_property_names) - 8usize];
1550    ["Offset of field: JSClassExoticMethods::delete_property"]
1551        [::std::mem::offset_of!(JSClassExoticMethods, delete_property) - 16usize];
1552    ["Offset of field: JSClassExoticMethods::define_own_property"]
1553        [::std::mem::offset_of!(JSClassExoticMethods, define_own_property) - 24usize];
1554    ["Offset of field: JSClassExoticMethods::has_property"]
1555        [::std::mem::offset_of!(JSClassExoticMethods, has_property) - 32usize];
1556    ["Offset of field: JSClassExoticMethods::get_property"]
1557        [::std::mem::offset_of!(JSClassExoticMethods, get_property) - 40usize];
1558    ["Offset of field: JSClassExoticMethods::set_property"]
1559        [::std::mem::offset_of!(JSClassExoticMethods, set_property) - 48usize];
1560};
1561pub type JSClassFinalizer =
1562    ::std::option::Option<unsafe extern "C" fn(rt: *mut JSRuntime, val: JSValue)>;
1563pub type JSClassGCMark = ::std::option::Option<
1564    unsafe extern "C" fn(rt: *mut JSRuntime, val: JSValue, mark_func: JS_MarkFunc),
1565>;
1566pub type JSClassCall = ::std::option::Option<
1567    unsafe extern "C" fn(
1568        ctx: *mut JSContext,
1569        func_obj: JSValue,
1570        this_val: JSValue,
1571        argc: ::std::os::raw::c_int,
1572        argv: *mut JSValue,
1573        flags: ::std::os::raw::c_int,
1574    ) -> JSValue,
1575>;
1576#[repr(C)]
1577#[derive(Debug, Copy, Clone)]
1578pub struct JSClassDef {
1579    pub class_name: *const ::std::os::raw::c_char,
1580    pub finalizer: JSClassFinalizer,
1581    pub gc_mark: JSClassGCMark,
1582    pub call: JSClassCall,
1583    pub exotic: *mut JSClassExoticMethods,
1584}
1585#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1586const _: () = {
1587    ["Size of JSClassDef"][::std::mem::size_of::<JSClassDef>() - 40usize];
1588    ["Alignment of JSClassDef"][::std::mem::align_of::<JSClassDef>() - 8usize];
1589    ["Offset of field: JSClassDef::class_name"]
1590        [::std::mem::offset_of!(JSClassDef, class_name) - 0usize];
1591    ["Offset of field: JSClassDef::finalizer"]
1592        [::std::mem::offset_of!(JSClassDef, finalizer) - 8usize];
1593    ["Offset of field: JSClassDef::gc_mark"][::std::mem::offset_of!(JSClassDef, gc_mark) - 16usize];
1594    ["Offset of field: JSClassDef::call"][::std::mem::offset_of!(JSClassDef, call) - 24usize];
1595    ["Offset of field: JSClassDef::exotic"][::std::mem::offset_of!(JSClassDef, exotic) - 32usize];
1596};
1597extern "C" {
1598    pub fn JS_NewClassID(pclass_id: *mut JSClassID) -> JSClassID;
1599}
1600extern "C" {
1601    pub fn JS_GetClassID(v: JSValue) -> JSClassID;
1602}
1603extern "C" {
1604    pub fn JS_NewClass(
1605        rt: *mut JSRuntime,
1606        class_id: JSClassID,
1607        class_def: *const JSClassDef,
1608    ) -> ::std::os::raw::c_int;
1609}
1610extern "C" {
1611    pub fn JS_IsRegisteredClass(rt: *mut JSRuntime, class_id: JSClassID) -> ::std::os::raw::c_int;
1612}
1613extern "C" {
1614    pub fn JS_NewBigInt64(ctx: *mut JSContext, v: i64) -> JSValue;
1615}
1616extern "C" {
1617    pub fn JS_NewBigUint64(ctx: *mut JSContext, v: u64) -> JSValue;
1618}
1619extern "C" {
1620    pub fn JS_Throw(ctx: *mut JSContext, obj: JSValue) -> JSValue;
1621}
1622extern "C" {
1623    pub fn JS_GetException(ctx: *mut JSContext) -> JSValue;
1624}
1625extern "C" {
1626    pub fn JS_IsError(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int;
1627}
1628extern "C" {
1629    pub fn JS_ResetUncatchableError(ctx: *mut JSContext);
1630}
1631extern "C" {
1632    pub fn JS_NewError(ctx: *mut JSContext) -> JSValue;
1633}
1634extern "C" {
1635    pub fn JS_ThrowSyntaxError(
1636        ctx: *mut JSContext,
1637        fmt: *const ::std::os::raw::c_char,
1638        ...
1639    ) -> JSValue;
1640}
1641extern "C" {
1642    pub fn JS_ThrowTypeError(
1643        ctx: *mut JSContext,
1644        fmt: *const ::std::os::raw::c_char,
1645        ...
1646    ) -> JSValue;
1647}
1648extern "C" {
1649    pub fn JS_ThrowReferenceError(
1650        ctx: *mut JSContext,
1651        fmt: *const ::std::os::raw::c_char,
1652        ...
1653    ) -> JSValue;
1654}
1655extern "C" {
1656    pub fn JS_ThrowRangeError(
1657        ctx: *mut JSContext,
1658        fmt: *const ::std::os::raw::c_char,
1659        ...
1660    ) -> JSValue;
1661}
1662extern "C" {
1663    pub fn JS_ThrowInternalError(
1664        ctx: *mut JSContext,
1665        fmt: *const ::std::os::raw::c_char,
1666        ...
1667    ) -> JSValue;
1668}
1669extern "C" {
1670    pub fn JS_ThrowOutOfMemory(ctx: *mut JSContext) -> JSValue;
1671}
1672extern "C" {
1673    pub fn __JS_FreeValue(ctx: *mut JSContext, v: JSValue);
1674}
1675extern "C" {
1676    pub fn __JS_FreeValueRT(rt: *mut JSRuntime, v: JSValue);
1677}
1678extern "C" {
1679    pub fn JS_ToBool(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int;
1680}
1681extern "C" {
1682    pub fn JS_ToInt32(ctx: *mut JSContext, pres: *mut i32, val: JSValue) -> ::std::os::raw::c_int;
1683}
1684extern "C" {
1685    pub fn JS_ToInt64(ctx: *mut JSContext, pres: *mut i64, val: JSValue) -> ::std::os::raw::c_int;
1686}
1687extern "C" {
1688    pub fn JS_ToIndex(ctx: *mut JSContext, plen: *mut u64, val: JSValue) -> ::std::os::raw::c_int;
1689}
1690extern "C" {
1691    pub fn JS_ToFloat64(ctx: *mut JSContext, pres: *mut f64, val: JSValue)
1692        -> ::std::os::raw::c_int;
1693}
1694extern "C" {
1695    pub fn JS_ToBigInt64(
1696        ctx: *mut JSContext,
1697        pres: *mut i64,
1698        val: JSValue,
1699    ) -> ::std::os::raw::c_int;
1700}
1701extern "C" {
1702    pub fn JS_ToInt64Ext(
1703        ctx: *mut JSContext,
1704        pres: *mut i64,
1705        val: JSValue,
1706    ) -> ::std::os::raw::c_int;
1707}
1708extern "C" {
1709    pub fn JS_NewStringLen(
1710        ctx: *mut JSContext,
1711        str1: *const ::std::os::raw::c_char,
1712        len1: usize,
1713    ) -> JSValue;
1714}
1715extern "C" {
1716    pub fn JS_NewString(ctx: *mut JSContext, str_: *const ::std::os::raw::c_char) -> JSValue;
1717}
1718extern "C" {
1719    pub fn JS_NewAtomString(ctx: *mut JSContext, str_: *const ::std::os::raw::c_char) -> JSValue;
1720}
1721extern "C" {
1722    pub fn JS_ToString(ctx: *mut JSContext, val: JSValue) -> JSValue;
1723}
1724extern "C" {
1725    pub fn JS_ToPropertyKey(ctx: *mut JSContext, val: JSValue) -> JSValue;
1726}
1727extern "C" {
1728    pub fn JS_ToCStringLen2(
1729        ctx: *mut JSContext,
1730        plen: *mut usize,
1731        val1: JSValue,
1732        cesu8: ::std::os::raw::c_int,
1733    ) -> *const ::std::os::raw::c_char;
1734}
1735extern "C" {
1736    pub fn JS_FreeCString(ctx: *mut JSContext, ptr: *const ::std::os::raw::c_char);
1737}
1738extern "C" {
1739    pub fn JS_NewObjectProtoClass(
1740        ctx: *mut JSContext,
1741        proto: JSValue,
1742        class_id: JSClassID,
1743    ) -> JSValue;
1744}
1745extern "C" {
1746    pub fn JS_NewObjectClass(ctx: *mut JSContext, class_id: ::std::os::raw::c_int) -> JSValue;
1747}
1748extern "C" {
1749    pub fn JS_NewObjectProto(ctx: *mut JSContext, proto: JSValue) -> JSValue;
1750}
1751extern "C" {
1752    pub fn JS_NewObject(ctx: *mut JSContext) -> JSValue;
1753}
1754extern "C" {
1755    pub fn JS_IsFunction(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int;
1756}
1757extern "C" {
1758    pub fn JS_IsConstructor(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int;
1759}
1760extern "C" {
1761    pub fn JS_SetConstructorBit(
1762        ctx: *mut JSContext,
1763        func_obj: JSValue,
1764        val: ::std::os::raw::c_int,
1765    ) -> ::std::os::raw::c_int;
1766}
1767extern "C" {
1768    pub fn JS_NewArray(ctx: *mut JSContext) -> JSValue;
1769}
1770extern "C" {
1771    pub fn JS_IsArray(ctx: *mut JSContext, val: JSValue) -> ::std::os::raw::c_int;
1772}
1773extern "C" {
1774    pub fn JS_NewDate(ctx: *mut JSContext, epoch_ms: f64) -> JSValue;
1775}
1776extern "C" {
1777    pub fn JS_GetPropertyInternal(
1778        ctx: *mut JSContext,
1779        obj: JSValue,
1780        prop: JSAtom,
1781        receiver: JSValue,
1782        throw_ref_error: ::std::os::raw::c_int,
1783    ) -> JSValue;
1784}
1785extern "C" {
1786    pub fn JS_GetPropertyStr(
1787        ctx: *mut JSContext,
1788        this_obj: JSValue,
1789        prop: *const ::std::os::raw::c_char,
1790    ) -> JSValue;
1791}
1792extern "C" {
1793    pub fn JS_GetPropertyUint32(ctx: *mut JSContext, this_obj: JSValue, idx: u32) -> JSValue;
1794}
1795extern "C" {
1796    pub fn JS_SetPropertyInternal(
1797        ctx: *mut JSContext,
1798        obj: JSValue,
1799        prop: JSAtom,
1800        val: JSValue,
1801        this_obj: JSValue,
1802        flags: ::std::os::raw::c_int,
1803    ) -> ::std::os::raw::c_int;
1804}
1805extern "C" {
1806    pub fn JS_SetPropertyUint32(
1807        ctx: *mut JSContext,
1808        this_obj: JSValue,
1809        idx: u32,
1810        val: JSValue,
1811    ) -> ::std::os::raw::c_int;
1812}
1813extern "C" {
1814    pub fn JS_SetPropertyInt64(
1815        ctx: *mut JSContext,
1816        this_obj: JSValue,
1817        idx: i64,
1818        val: JSValue,
1819    ) -> ::std::os::raw::c_int;
1820}
1821extern "C" {
1822    pub fn JS_SetPropertyStr(
1823        ctx: *mut JSContext,
1824        this_obj: JSValue,
1825        prop: *const ::std::os::raw::c_char,
1826        val: JSValue,
1827    ) -> ::std::os::raw::c_int;
1828}
1829extern "C" {
1830    pub fn JS_HasProperty(
1831        ctx: *mut JSContext,
1832        this_obj: JSValue,
1833        prop: JSAtom,
1834    ) -> ::std::os::raw::c_int;
1835}
1836extern "C" {
1837    pub fn JS_IsExtensible(ctx: *mut JSContext, obj: JSValue) -> ::std::os::raw::c_int;
1838}
1839extern "C" {
1840    pub fn JS_PreventExtensions(ctx: *mut JSContext, obj: JSValue) -> ::std::os::raw::c_int;
1841}
1842extern "C" {
1843    pub fn JS_DeleteProperty(
1844        ctx: *mut JSContext,
1845        obj: JSValue,
1846        prop: JSAtom,
1847        flags: ::std::os::raw::c_int,
1848    ) -> ::std::os::raw::c_int;
1849}
1850extern "C" {
1851    pub fn JS_SetPrototype(
1852        ctx: *mut JSContext,
1853        obj: JSValue,
1854        proto_val: JSValue,
1855    ) -> ::std::os::raw::c_int;
1856}
1857extern "C" {
1858    pub fn JS_GetPrototype(ctx: *mut JSContext, val: JSValue) -> JSValue;
1859}
1860extern "C" {
1861    pub fn JS_GetOwnPropertyNames(
1862        ctx: *mut JSContext,
1863        ptab: *mut *mut JSPropertyEnum,
1864        plen: *mut u32,
1865        obj: JSValue,
1866        flags: ::std::os::raw::c_int,
1867    ) -> ::std::os::raw::c_int;
1868}
1869extern "C" {
1870    pub fn JS_GetOwnProperty(
1871        ctx: *mut JSContext,
1872        desc: *mut JSPropertyDescriptor,
1873        obj: JSValue,
1874        prop: JSAtom,
1875    ) -> ::std::os::raw::c_int;
1876}
1877extern "C" {
1878    pub fn JS_Call(
1879        ctx: *mut JSContext,
1880        func_obj: JSValue,
1881        this_obj: JSValue,
1882        argc: ::std::os::raw::c_int,
1883        argv: *mut JSValue,
1884    ) -> JSValue;
1885}
1886extern "C" {
1887    pub fn JS_Invoke(
1888        ctx: *mut JSContext,
1889        this_val: JSValue,
1890        atom: JSAtom,
1891        argc: ::std::os::raw::c_int,
1892        argv: *mut JSValue,
1893    ) -> JSValue;
1894}
1895extern "C" {
1896    pub fn JS_CallConstructor(
1897        ctx: *mut JSContext,
1898        func_obj: JSValue,
1899        argc: ::std::os::raw::c_int,
1900        argv: *mut JSValue,
1901    ) -> JSValue;
1902}
1903extern "C" {
1904    pub fn JS_CallConstructor2(
1905        ctx: *mut JSContext,
1906        func_obj: JSValue,
1907        new_target: JSValue,
1908        argc: ::std::os::raw::c_int,
1909        argv: *mut JSValue,
1910    ) -> JSValue;
1911}
1912extern "C" {
1913    pub fn JS_DetectModule(
1914        input: *const ::std::os::raw::c_char,
1915        input_len: usize,
1916    ) -> ::std::os::raw::c_int;
1917}
1918extern "C" {
1919    pub fn JS_Eval(
1920        ctx: *mut JSContext,
1921        input: *const ::std::os::raw::c_char,
1922        input_len: usize,
1923        filename: *const ::std::os::raw::c_char,
1924        eval_flags: ::std::os::raw::c_int,
1925    ) -> JSValue;
1926}
1927extern "C" {
1928    pub fn JS_EvalThis(
1929        ctx: *mut JSContext,
1930        this_obj: JSValue,
1931        input: *const ::std::os::raw::c_char,
1932        input_len: usize,
1933        filename: *const ::std::os::raw::c_char,
1934        eval_flags: ::std::os::raw::c_int,
1935    ) -> JSValue;
1936}
1937extern "C" {
1938    pub fn JS_GetGlobalObject(ctx: *mut JSContext) -> JSValue;
1939}
1940extern "C" {
1941    pub fn JS_IsInstanceOf(
1942        ctx: *mut JSContext,
1943        val: JSValue,
1944        obj: JSValue,
1945    ) -> ::std::os::raw::c_int;
1946}
1947extern "C" {
1948    pub fn JS_DefineProperty(
1949        ctx: *mut JSContext,
1950        this_obj: JSValue,
1951        prop: JSAtom,
1952        val: JSValue,
1953        getter: JSValue,
1954        setter: JSValue,
1955        flags: ::std::os::raw::c_int,
1956    ) -> ::std::os::raw::c_int;
1957}
1958extern "C" {
1959    pub fn JS_DefinePropertyValue(
1960        ctx: *mut JSContext,
1961        this_obj: JSValue,
1962        prop: JSAtom,
1963        val: JSValue,
1964        flags: ::std::os::raw::c_int,
1965    ) -> ::std::os::raw::c_int;
1966}
1967extern "C" {
1968    pub fn JS_DefinePropertyValueUint32(
1969        ctx: *mut JSContext,
1970        this_obj: JSValue,
1971        idx: u32,
1972        val: JSValue,
1973        flags: ::std::os::raw::c_int,
1974    ) -> ::std::os::raw::c_int;
1975}
1976extern "C" {
1977    pub fn JS_DefinePropertyValueStr(
1978        ctx: *mut JSContext,
1979        this_obj: JSValue,
1980        prop: *const ::std::os::raw::c_char,
1981        val: JSValue,
1982        flags: ::std::os::raw::c_int,
1983    ) -> ::std::os::raw::c_int;
1984}
1985extern "C" {
1986    pub fn JS_DefinePropertyGetSet(
1987        ctx: *mut JSContext,
1988        this_obj: JSValue,
1989        prop: JSAtom,
1990        getter: JSValue,
1991        setter: JSValue,
1992        flags: ::std::os::raw::c_int,
1993    ) -> ::std::os::raw::c_int;
1994}
1995extern "C" {
1996    pub fn JS_SetOpaque(obj: JSValue, opaque: *mut ::std::os::raw::c_void);
1997}
1998extern "C" {
1999    pub fn JS_GetOpaque(obj: JSValue, class_id: JSClassID) -> *mut ::std::os::raw::c_void;
2000}
2001extern "C" {
2002    pub fn JS_GetOpaque2(
2003        ctx: *mut JSContext,
2004        obj: JSValue,
2005        class_id: JSClassID,
2006    ) -> *mut ::std::os::raw::c_void;
2007}
2008extern "C" {
2009    pub fn JS_ParseJSON(
2010        ctx: *mut JSContext,
2011        buf: *const ::std::os::raw::c_char,
2012        buf_len: usize,
2013        filename: *const ::std::os::raw::c_char,
2014    ) -> JSValue;
2015}
2016extern "C" {
2017    pub fn JS_ParseJSON2(
2018        ctx: *mut JSContext,
2019        buf: *const ::std::os::raw::c_char,
2020        buf_len: usize,
2021        filename: *const ::std::os::raw::c_char,
2022        flags: ::std::os::raw::c_int,
2023    ) -> JSValue;
2024}
2025extern "C" {
2026    pub fn JS_JSONStringify(
2027        ctx: *mut JSContext,
2028        obj: JSValue,
2029        replacer: JSValue,
2030        space0: JSValue,
2031    ) -> JSValue;
2032}
2033pub type JSFreeArrayBufferDataFunc = ::std::option::Option<
2034    unsafe extern "C" fn(
2035        rt: *mut JSRuntime,
2036        opaque: *mut ::std::os::raw::c_void,
2037        ptr: *mut ::std::os::raw::c_void,
2038    ),
2039>;
2040extern "C" {
2041    pub fn JS_NewArrayBuffer(
2042        ctx: *mut JSContext,
2043        buf: *mut u8,
2044        len: usize,
2045        free_func: JSFreeArrayBufferDataFunc,
2046        opaque: *mut ::std::os::raw::c_void,
2047        is_shared: ::std::os::raw::c_int,
2048    ) -> JSValue;
2049}
2050extern "C" {
2051    pub fn JS_NewArrayBufferCopy(ctx: *mut JSContext, buf: *const u8, len: usize) -> JSValue;
2052}
2053extern "C" {
2054    pub fn JS_DetachArrayBuffer(ctx: *mut JSContext, obj: JSValue);
2055}
2056extern "C" {
2057    pub fn JS_GetArrayBuffer(ctx: *mut JSContext, psize: *mut usize, obj: JSValue) -> *mut u8;
2058}
2059extern "C" {
2060    pub fn JS_GetTypedArrayBuffer(
2061        ctx: *mut JSContext,
2062        obj: JSValue,
2063        pbyte_offset: *mut usize,
2064        pbyte_length: *mut usize,
2065        pbytes_per_element: *mut usize,
2066    ) -> JSValue;
2067}
2068#[repr(C)]
2069#[derive(Debug, Copy, Clone)]
2070pub struct JSSharedArrayBufferFunctions {
2071    pub sab_alloc: ::std::option::Option<
2072        unsafe extern "C" fn(
2073            opaque: *mut ::std::os::raw::c_void,
2074            size: usize,
2075        ) -> *mut ::std::os::raw::c_void,
2076    >,
2077    pub sab_free: ::std::option::Option<
2078        unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void),
2079    >,
2080    pub sab_dup: ::std::option::Option<
2081        unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void),
2082    >,
2083    pub sab_opaque: *mut ::std::os::raw::c_void,
2084}
2085#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2086const _: () = {
2087    ["Size of JSSharedArrayBufferFunctions"]
2088        [::std::mem::size_of::<JSSharedArrayBufferFunctions>() - 32usize];
2089    ["Alignment of JSSharedArrayBufferFunctions"]
2090        [::std::mem::align_of::<JSSharedArrayBufferFunctions>() - 8usize];
2091    ["Offset of field: JSSharedArrayBufferFunctions::sab_alloc"]
2092        [::std::mem::offset_of!(JSSharedArrayBufferFunctions, sab_alloc) - 0usize];
2093    ["Offset of field: JSSharedArrayBufferFunctions::sab_free"]
2094        [::std::mem::offset_of!(JSSharedArrayBufferFunctions, sab_free) - 8usize];
2095    ["Offset of field: JSSharedArrayBufferFunctions::sab_dup"]
2096        [::std::mem::offset_of!(JSSharedArrayBufferFunctions, sab_dup) - 16usize];
2097    ["Offset of field: JSSharedArrayBufferFunctions::sab_opaque"]
2098        [::std::mem::offset_of!(JSSharedArrayBufferFunctions, sab_opaque) - 24usize];
2099};
2100extern "C" {
2101    pub fn JS_SetSharedArrayBufferFunctions(
2102        rt: *mut JSRuntime,
2103        sf: *const JSSharedArrayBufferFunctions,
2104    );
2105}
2106pub const JSPromiseStateEnum_JS_PROMISE_PENDING: JSPromiseStateEnum = 0;
2107pub const JSPromiseStateEnum_JS_PROMISE_FULFILLED: JSPromiseStateEnum = 1;
2108pub const JSPromiseStateEnum_JS_PROMISE_REJECTED: JSPromiseStateEnum = 2;
2109pub type JSPromiseStateEnum = ::std::os::raw::c_uint;
2110extern "C" {
2111    pub fn JS_NewPromiseCapability(ctx: *mut JSContext, resolving_funcs: *mut JSValue) -> JSValue;
2112}
2113extern "C" {
2114    pub fn JS_PromiseState(ctx: *mut JSContext, promise: JSValue) -> JSPromiseStateEnum;
2115}
2116extern "C" {
2117    pub fn JS_PromiseResult(ctx: *mut JSContext, promise: JSValue) -> JSValue;
2118}
2119pub type JSHostPromiseRejectionTracker = ::std::option::Option<
2120    unsafe extern "C" fn(
2121        ctx: *mut JSContext,
2122        promise: JSValue,
2123        reason: JSValue,
2124        is_handled: ::std::os::raw::c_int,
2125        opaque: *mut ::std::os::raw::c_void,
2126    ),
2127>;
2128extern "C" {
2129    pub fn JS_SetHostPromiseRejectionTracker(
2130        rt: *mut JSRuntime,
2131        cb: JSHostPromiseRejectionTracker,
2132        opaque: *mut ::std::os::raw::c_void,
2133    );
2134}
2135pub type JSInterruptHandler = ::std::option::Option<
2136    unsafe extern "C" fn(
2137        rt: *mut JSRuntime,
2138        opaque: *mut ::std::os::raw::c_void,
2139    ) -> ::std::os::raw::c_int,
2140>;
2141extern "C" {
2142    pub fn JS_SetInterruptHandler(
2143        rt: *mut JSRuntime,
2144        cb: JSInterruptHandler,
2145        opaque: *mut ::std::os::raw::c_void,
2146    );
2147}
2148extern "C" {
2149    pub fn JS_SetCanBlock(rt: *mut JSRuntime, can_block: ::std::os::raw::c_int);
2150}
2151extern "C" {
2152    pub fn JS_SetIsHTMLDDA(ctx: *mut JSContext, obj: JSValue);
2153}
2154#[repr(C)]
2155#[derive(Debug, Copy, Clone)]
2156pub struct JSModuleDef {
2157    _unused: [u8; 0],
2158}
2159pub type JSModuleNormalizeFunc = ::std::option::Option<
2160    unsafe extern "C" fn(
2161        ctx: *mut JSContext,
2162        module_base_name: *const ::std::os::raw::c_char,
2163        module_name: *const ::std::os::raw::c_char,
2164        opaque: *mut ::std::os::raw::c_void,
2165    ) -> *mut ::std::os::raw::c_char,
2166>;
2167pub type JSModuleLoaderFunc = ::std::option::Option<
2168    unsafe extern "C" fn(
2169        ctx: *mut JSContext,
2170        module_name: *const ::std::os::raw::c_char,
2171        opaque: *mut ::std::os::raw::c_void,
2172    ) -> *mut JSModuleDef,
2173>;
2174extern "C" {
2175    pub fn JS_SetModuleLoaderFunc(
2176        rt: *mut JSRuntime,
2177        module_normalize: JSModuleNormalizeFunc,
2178        module_loader: JSModuleLoaderFunc,
2179        opaque: *mut ::std::os::raw::c_void,
2180    );
2181}
2182extern "C" {
2183    pub fn JS_GetImportMeta(ctx: *mut JSContext, m: *mut JSModuleDef) -> JSValue;
2184}
2185extern "C" {
2186    pub fn JS_GetModuleName(ctx: *mut JSContext, m: *mut JSModuleDef) -> JSAtom;
2187}
2188extern "C" {
2189    pub fn JS_GetModuleNamespace(ctx: *mut JSContext, m: *mut JSModuleDef) -> JSValue;
2190}
2191pub type JSJobFunc = ::std::option::Option<
2192    unsafe extern "C" fn(
2193        ctx: *mut JSContext,
2194        argc: ::std::os::raw::c_int,
2195        argv: *mut JSValue,
2196    ) -> JSValue,
2197>;
2198extern "C" {
2199    pub fn JS_EnqueueJob(
2200        ctx: *mut JSContext,
2201        job_func: JSJobFunc,
2202        argc: ::std::os::raw::c_int,
2203        argv: *mut JSValue,
2204    ) -> ::std::os::raw::c_int;
2205}
2206extern "C" {
2207    pub fn JS_IsJobPending(rt: *mut JSRuntime) -> ::std::os::raw::c_int;
2208}
2209extern "C" {
2210    pub fn JS_ExecutePendingJob(
2211        rt: *mut JSRuntime,
2212        pctx: *mut *mut JSContext,
2213    ) -> ::std::os::raw::c_int;
2214}
2215extern "C" {
2216    pub fn JS_WriteObject(
2217        ctx: *mut JSContext,
2218        psize: *mut usize,
2219        obj: JSValue,
2220        flags: ::std::os::raw::c_int,
2221    ) -> *mut u8;
2222}
2223extern "C" {
2224    pub fn JS_WriteObject2(
2225        ctx: *mut JSContext,
2226        psize: *mut usize,
2227        obj: JSValue,
2228        flags: ::std::os::raw::c_int,
2229        psab_tab: *mut *mut *mut u8,
2230        psab_tab_len: *mut usize,
2231    ) -> *mut u8;
2232}
2233extern "C" {
2234    pub fn JS_ReadObject(
2235        ctx: *mut JSContext,
2236        buf: *const u8,
2237        buf_len: usize,
2238        flags: ::std::os::raw::c_int,
2239    ) -> JSValue;
2240}
2241extern "C" {
2242    pub fn JS_EvalFunction(ctx: *mut JSContext, fun_obj: JSValue) -> JSValue;
2243}
2244extern "C" {
2245    pub fn JS_ResolveModule(ctx: *mut JSContext, obj: JSValue) -> ::std::os::raw::c_int;
2246}
2247extern "C" {
2248    pub fn JS_GetScriptOrModuleName(
2249        ctx: *mut JSContext,
2250        n_stack_levels: ::std::os::raw::c_int,
2251    ) -> JSAtom;
2252}
2253extern "C" {
2254    pub fn JS_LoadModule(
2255        ctx: *mut JSContext,
2256        basename: *const ::std::os::raw::c_char,
2257        filename: *const ::std::os::raw::c_char,
2258    ) -> JSValue;
2259}
2260pub const JSCFunctionEnum_JS_CFUNC_generic: JSCFunctionEnum = 0;
2261pub const JSCFunctionEnum_JS_CFUNC_generic_magic: JSCFunctionEnum = 1;
2262pub const JSCFunctionEnum_JS_CFUNC_constructor: JSCFunctionEnum = 2;
2263pub const JSCFunctionEnum_JS_CFUNC_constructor_magic: JSCFunctionEnum = 3;
2264pub const JSCFunctionEnum_JS_CFUNC_constructor_or_func: JSCFunctionEnum = 4;
2265pub const JSCFunctionEnum_JS_CFUNC_constructor_or_func_magic: JSCFunctionEnum = 5;
2266pub const JSCFunctionEnum_JS_CFUNC_f_f: JSCFunctionEnum = 6;
2267pub const JSCFunctionEnum_JS_CFUNC_f_f_f: JSCFunctionEnum = 7;
2268pub const JSCFunctionEnum_JS_CFUNC_getter: JSCFunctionEnum = 8;
2269pub const JSCFunctionEnum_JS_CFUNC_setter: JSCFunctionEnum = 9;
2270pub const JSCFunctionEnum_JS_CFUNC_getter_magic: JSCFunctionEnum = 10;
2271pub const JSCFunctionEnum_JS_CFUNC_setter_magic: JSCFunctionEnum = 11;
2272pub const JSCFunctionEnum_JS_CFUNC_iterator_next: JSCFunctionEnum = 12;
2273pub type JSCFunctionEnum = ::std::os::raw::c_uint;
2274#[repr(C)]
2275#[derive(Copy, Clone)]
2276pub union JSCFunctionType {
2277    pub generic: JSCFunction,
2278    pub generic_magic: ::std::option::Option<
2279        unsafe extern "C" fn(
2280            ctx: *mut JSContext,
2281            this_val: JSValue,
2282            argc: ::std::os::raw::c_int,
2283            argv: *mut JSValue,
2284            magic: ::std::os::raw::c_int,
2285        ) -> JSValue,
2286    >,
2287    pub constructor: JSCFunction,
2288    pub constructor_magic: ::std::option::Option<
2289        unsafe extern "C" fn(
2290            ctx: *mut JSContext,
2291            new_target: JSValue,
2292            argc: ::std::os::raw::c_int,
2293            argv: *mut JSValue,
2294            magic: ::std::os::raw::c_int,
2295        ) -> JSValue,
2296    >,
2297    pub constructor_or_func: JSCFunction,
2298    pub f_f: ::std::option::Option<unsafe extern "C" fn(arg1: f64) -> f64>,
2299    pub f_f_f: ::std::option::Option<unsafe extern "C" fn(arg1: f64, arg2: f64) -> f64>,
2300    pub getter: ::std::option::Option<
2301        unsafe extern "C" fn(ctx: *mut JSContext, this_val: JSValue) -> JSValue,
2302    >,
2303    pub setter: ::std::option::Option<
2304        unsafe extern "C" fn(ctx: *mut JSContext, this_val: JSValue, val: JSValue) -> JSValue,
2305    >,
2306    pub getter_magic: ::std::option::Option<
2307        unsafe extern "C" fn(
2308            ctx: *mut JSContext,
2309            this_val: JSValue,
2310            magic: ::std::os::raw::c_int,
2311        ) -> JSValue,
2312    >,
2313    pub setter_magic: ::std::option::Option<
2314        unsafe extern "C" fn(
2315            ctx: *mut JSContext,
2316            this_val: JSValue,
2317            val: JSValue,
2318            magic: ::std::os::raw::c_int,
2319        ) -> JSValue,
2320    >,
2321    pub iterator_next: ::std::option::Option<
2322        unsafe extern "C" fn(
2323            ctx: *mut JSContext,
2324            this_val: JSValue,
2325            argc: ::std::os::raw::c_int,
2326            argv: *mut JSValue,
2327            pdone: *mut ::std::os::raw::c_int,
2328            magic: ::std::os::raw::c_int,
2329        ) -> JSValue,
2330    >,
2331}
2332#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2333const _: () = {
2334    ["Size of JSCFunctionType"][::std::mem::size_of::<JSCFunctionType>() - 8usize];
2335    ["Alignment of JSCFunctionType"][::std::mem::align_of::<JSCFunctionType>() - 8usize];
2336    ["Offset of field: JSCFunctionType::generic"]
2337        [::std::mem::offset_of!(JSCFunctionType, generic) - 0usize];
2338    ["Offset of field: JSCFunctionType::generic_magic"]
2339        [::std::mem::offset_of!(JSCFunctionType, generic_magic) - 0usize];
2340    ["Offset of field: JSCFunctionType::constructor"]
2341        [::std::mem::offset_of!(JSCFunctionType, constructor) - 0usize];
2342    ["Offset of field: JSCFunctionType::constructor_magic"]
2343        [::std::mem::offset_of!(JSCFunctionType, constructor_magic) - 0usize];
2344    ["Offset of field: JSCFunctionType::constructor_or_func"]
2345        [::std::mem::offset_of!(JSCFunctionType, constructor_or_func) - 0usize];
2346    ["Offset of field: JSCFunctionType::f_f"]
2347        [::std::mem::offset_of!(JSCFunctionType, f_f) - 0usize];
2348    ["Offset of field: JSCFunctionType::f_f_f"]
2349        [::std::mem::offset_of!(JSCFunctionType, f_f_f) - 0usize];
2350    ["Offset of field: JSCFunctionType::getter"]
2351        [::std::mem::offset_of!(JSCFunctionType, getter) - 0usize];
2352    ["Offset of field: JSCFunctionType::setter"]
2353        [::std::mem::offset_of!(JSCFunctionType, setter) - 0usize];
2354    ["Offset of field: JSCFunctionType::getter_magic"]
2355        [::std::mem::offset_of!(JSCFunctionType, getter_magic) - 0usize];
2356    ["Offset of field: JSCFunctionType::setter_magic"]
2357        [::std::mem::offset_of!(JSCFunctionType, setter_magic) - 0usize];
2358    ["Offset of field: JSCFunctionType::iterator_next"]
2359        [::std::mem::offset_of!(JSCFunctionType, iterator_next) - 0usize];
2360};
2361extern "C" {
2362    pub fn JS_NewCFunction2(
2363        ctx: *mut JSContext,
2364        func: JSCFunction,
2365        name: *const ::std::os::raw::c_char,
2366        length: ::std::os::raw::c_int,
2367        cproto: JSCFunctionEnum,
2368        magic: ::std::os::raw::c_int,
2369    ) -> JSValue;
2370}
2371extern "C" {
2372    pub fn JS_NewCFunctionData(
2373        ctx: *mut JSContext,
2374        func: JSCFunctionData,
2375        length: ::std::os::raw::c_int,
2376        magic: ::std::os::raw::c_int,
2377        data_len: ::std::os::raw::c_int,
2378        data: *mut JSValue,
2379    ) -> JSValue;
2380}
2381extern "C" {
2382    pub fn JS_SetConstructor(ctx: *mut JSContext, func_obj: JSValue, proto: JSValue);
2383}
2384#[repr(C)]
2385#[derive(Copy, Clone)]
2386pub struct JSCFunctionListEntry {
2387    pub name: *const ::std::os::raw::c_char,
2388    pub prop_flags: u8,
2389    pub def_type: u8,
2390    pub magic: i16,
2391    pub u: JSCFunctionListEntry__bindgen_ty_1,
2392}
2393#[repr(C)]
2394#[derive(Copy, Clone)]
2395pub union JSCFunctionListEntry__bindgen_ty_1 {
2396    pub func: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1,
2397    pub getset: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2,
2398    pub alias: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3,
2399    pub prop_list: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4,
2400    pub str_: *const ::std::os::raw::c_char,
2401    pub i32_: i32,
2402    pub i64_: i64,
2403    pub f64_: f64,
2404}
2405#[repr(C)]
2406#[derive(Copy, Clone)]
2407pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1 {
2408    pub length: u8,
2409    pub cproto: u8,
2410    pub cfunc: JSCFunctionType,
2411}
2412#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2413const _: () = {
2414    ["Size of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1"]
2415        [::std::mem::size_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1>() - 16usize];
2416    ["Alignment of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1"]
2417        [::std::mem::align_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1>() - 8usize];
2418    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1::length"]
2419        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1, length) - 0usize];
2420    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1::cproto"]
2421        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1, cproto) - 1usize];
2422    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1::cfunc"]
2423        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_1, cfunc) - 8usize];
2424};
2425#[repr(C)]
2426#[derive(Copy, Clone)]
2427pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2 {
2428    pub get: JSCFunctionType,
2429    pub set: JSCFunctionType,
2430}
2431#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2432const _: () = {
2433    ["Size of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2"]
2434        [::std::mem::size_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2>() - 16usize];
2435    ["Alignment of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2"]
2436        [::std::mem::align_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2>() - 8usize];
2437    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2::get"]
2438        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2, get) - 0usize];
2439    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2::set"]
2440        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_2, set) - 8usize];
2441};
2442#[repr(C)]
2443#[derive(Debug, Copy, Clone)]
2444pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3 {
2445    pub name: *const ::std::os::raw::c_char,
2446    pub base: ::std::os::raw::c_int,
2447}
2448#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2449const _: () = {
2450    ["Size of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3"]
2451        [::std::mem::size_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3>() - 16usize];
2452    ["Alignment of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3"]
2453        [::std::mem::align_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3>() - 8usize];
2454    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3::name"]
2455        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3, name) - 0usize];
2456    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3::base"]
2457        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_3, base) - 8usize];
2458};
2459#[repr(C)]
2460#[derive(Debug, Copy, Clone)]
2461pub struct JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4 {
2462    pub tab: *const JSCFunctionListEntry,
2463    pub len: ::std::os::raw::c_int,
2464}
2465#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2466const _: () = {
2467    ["Size of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4"]
2468        [::std::mem::size_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4>() - 16usize];
2469    ["Alignment of JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4"]
2470        [::std::mem::align_of::<JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4>() - 8usize];
2471    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4::tab"]
2472        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4, tab) - 0usize];
2473    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4::len"]
2474        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1__bindgen_ty_4, len) - 8usize];
2475};
2476#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2477const _: () = {
2478    ["Size of JSCFunctionListEntry__bindgen_ty_1"]
2479        [::std::mem::size_of::<JSCFunctionListEntry__bindgen_ty_1>() - 16usize];
2480    ["Alignment of JSCFunctionListEntry__bindgen_ty_1"]
2481        [::std::mem::align_of::<JSCFunctionListEntry__bindgen_ty_1>() - 8usize];
2482    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::func"]
2483        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, func) - 0usize];
2484    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::getset"]
2485        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, getset) - 0usize];
2486    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::alias"]
2487        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, alias) - 0usize];
2488    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::prop_list"]
2489        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, prop_list) - 0usize];
2490    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::str_"]
2491        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, str_) - 0usize];
2492    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::i32_"]
2493        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, i32_) - 0usize];
2494    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::i64_"]
2495        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, i64_) - 0usize];
2496    ["Offset of field: JSCFunctionListEntry__bindgen_ty_1::f64_"]
2497        [::std::mem::offset_of!(JSCFunctionListEntry__bindgen_ty_1, f64_) - 0usize];
2498};
2499#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2500const _: () = {
2501    ["Size of JSCFunctionListEntry"][::std::mem::size_of::<JSCFunctionListEntry>() - 32usize];
2502    ["Alignment of JSCFunctionListEntry"][::std::mem::align_of::<JSCFunctionListEntry>() - 8usize];
2503    ["Offset of field: JSCFunctionListEntry::name"]
2504        [::std::mem::offset_of!(JSCFunctionListEntry, name) - 0usize];
2505    ["Offset of field: JSCFunctionListEntry::prop_flags"]
2506        [::std::mem::offset_of!(JSCFunctionListEntry, prop_flags) - 8usize];
2507    ["Offset of field: JSCFunctionListEntry::def_type"]
2508        [::std::mem::offset_of!(JSCFunctionListEntry, def_type) - 9usize];
2509    ["Offset of field: JSCFunctionListEntry::magic"]
2510        [::std::mem::offset_of!(JSCFunctionListEntry, magic) - 10usize];
2511    ["Offset of field: JSCFunctionListEntry::u"]
2512        [::std::mem::offset_of!(JSCFunctionListEntry, u) - 16usize];
2513};
2514extern "C" {
2515    pub fn JS_SetPropertyFunctionList(
2516        ctx: *mut JSContext,
2517        obj: JSValue,
2518        tab: *const JSCFunctionListEntry,
2519        len: ::std::os::raw::c_int,
2520    );
2521}
2522pub type JSModuleInitFunc = ::std::option::Option<
2523    unsafe extern "C" fn(ctx: *mut JSContext, m: *mut JSModuleDef) -> ::std::os::raw::c_int,
2524>;
2525extern "C" {
2526    pub fn JS_NewCModule(
2527        ctx: *mut JSContext,
2528        name_str: *const ::std::os::raw::c_char,
2529        func: JSModuleInitFunc,
2530    ) -> *mut JSModuleDef;
2531}
2532extern "C" {
2533    pub fn JS_AddModuleExport(
2534        ctx: *mut JSContext,
2535        m: *mut JSModuleDef,
2536        name_str: *const ::std::os::raw::c_char,
2537    ) -> ::std::os::raw::c_int;
2538}
2539extern "C" {
2540    pub fn JS_AddModuleExportList(
2541        ctx: *mut JSContext,
2542        m: *mut JSModuleDef,
2543        tab: *const JSCFunctionListEntry,
2544        len: ::std::os::raw::c_int,
2545    ) -> ::std::os::raw::c_int;
2546}
2547extern "C" {
2548    pub fn JS_SetModuleExport(
2549        ctx: *mut JSContext,
2550        m: *mut JSModuleDef,
2551        export_name: *const ::std::os::raw::c_char,
2552        val: JSValue,
2553    ) -> ::std::os::raw::c_int;
2554}
2555extern "C" {
2556    pub fn JS_SetModuleExportList(
2557        ctx: *mut JSContext,
2558        m: *mut JSModuleDef,
2559        tab: *const JSCFunctionListEntry,
2560        len: ::std::os::raw::c_int,
2561    ) -> ::std::os::raw::c_int;
2562}
2563pub type wchar_t = ::std::os::raw::c_int;
2564#[repr(C)]
2565#[derive(Debug, Copy, Clone)]
2566pub struct div_t {
2567    pub quot: ::std::os::raw::c_int,
2568    pub rem: ::std::os::raw::c_int,
2569}
2570#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2571const _: () = {
2572    ["Size of div_t"][::std::mem::size_of::<div_t>() - 8usize];
2573    ["Alignment of div_t"][::std::mem::align_of::<div_t>() - 4usize];
2574    ["Offset of field: div_t::quot"][::std::mem::offset_of!(div_t, quot) - 0usize];
2575    ["Offset of field: div_t::rem"][::std::mem::offset_of!(div_t, rem) - 4usize];
2576};
2577#[repr(C)]
2578#[derive(Debug, Copy, Clone)]
2579pub struct ldiv_t {
2580    pub quot: ::std::os::raw::c_long,
2581    pub rem: ::std::os::raw::c_long,
2582}
2583#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2584const _: () = {
2585    ["Size of ldiv_t"][::std::mem::size_of::<ldiv_t>() - 16usize];
2586    ["Alignment of ldiv_t"][::std::mem::align_of::<ldiv_t>() - 8usize];
2587    ["Offset of field: ldiv_t::quot"][::std::mem::offset_of!(ldiv_t, quot) - 0usize];
2588    ["Offset of field: ldiv_t::rem"][::std::mem::offset_of!(ldiv_t, rem) - 8usize];
2589};
2590#[repr(C)]
2591#[derive(Debug, Copy, Clone)]
2592pub struct lldiv_t {
2593    pub quot: ::std::os::raw::c_longlong,
2594    pub rem: ::std::os::raw::c_longlong,
2595}
2596#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2597const _: () = {
2598    ["Size of lldiv_t"][::std::mem::size_of::<lldiv_t>() - 16usize];
2599    ["Alignment of lldiv_t"][::std::mem::align_of::<lldiv_t>() - 8usize];
2600    ["Offset of field: lldiv_t::quot"][::std::mem::offset_of!(lldiv_t, quot) - 0usize];
2601    ["Offset of field: lldiv_t::rem"][::std::mem::offset_of!(lldiv_t, rem) - 8usize];
2602};
2603extern "C" {
2604    pub fn __ctype_get_mb_cur_max() -> usize;
2605}
2606extern "C" {
2607    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
2608}
2609extern "C" {
2610    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2611}
2612extern "C" {
2613    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
2614}
2615extern "C" {
2616    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
2617}
2618extern "C" {
2619    pub fn strtod(
2620        __nptr: *const ::std::os::raw::c_char,
2621        __endptr: *mut *mut ::std::os::raw::c_char,
2622    ) -> f64;
2623}
2624extern "C" {
2625    pub fn strtof(
2626        __nptr: *const ::std::os::raw::c_char,
2627        __endptr: *mut *mut ::std::os::raw::c_char,
2628    ) -> f32;
2629}
2630extern "C" {
2631    pub fn strtold(
2632        __nptr: *const ::std::os::raw::c_char,
2633        __endptr: *mut *mut ::std::os::raw::c_char,
2634    ) -> u128;
2635}
2636extern "C" {
2637    pub fn strtol(
2638        __nptr: *const ::std::os::raw::c_char,
2639        __endptr: *mut *mut ::std::os::raw::c_char,
2640        __base: ::std::os::raw::c_int,
2641    ) -> ::std::os::raw::c_long;
2642}
2643extern "C" {
2644    pub fn strtoul(
2645        __nptr: *const ::std::os::raw::c_char,
2646        __endptr: *mut *mut ::std::os::raw::c_char,
2647        __base: ::std::os::raw::c_int,
2648    ) -> ::std::os::raw::c_ulong;
2649}
2650extern "C" {
2651    pub fn strtoq(
2652        __nptr: *const ::std::os::raw::c_char,
2653        __endptr: *mut *mut ::std::os::raw::c_char,
2654        __base: ::std::os::raw::c_int,
2655    ) -> ::std::os::raw::c_longlong;
2656}
2657extern "C" {
2658    pub fn strtouq(
2659        __nptr: *const ::std::os::raw::c_char,
2660        __endptr: *mut *mut ::std::os::raw::c_char,
2661        __base: ::std::os::raw::c_int,
2662    ) -> ::std::os::raw::c_ulonglong;
2663}
2664extern "C" {
2665    pub fn strtoll(
2666        __nptr: *const ::std::os::raw::c_char,
2667        __endptr: *mut *mut ::std::os::raw::c_char,
2668        __base: ::std::os::raw::c_int,
2669    ) -> ::std::os::raw::c_longlong;
2670}
2671extern "C" {
2672    pub fn strtoull(
2673        __nptr: *const ::std::os::raw::c_char,
2674        __endptr: *mut *mut ::std::os::raw::c_char,
2675        __base: ::std::os::raw::c_int,
2676    ) -> ::std::os::raw::c_ulonglong;
2677}
2678extern "C" {
2679    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
2680}
2681extern "C" {
2682    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
2683}
2684pub type u_char = __u_char;
2685pub type u_short = __u_short;
2686pub type u_int = __u_int;
2687pub type u_long = __u_long;
2688pub type quad_t = __quad_t;
2689pub type u_quad_t = __u_quad_t;
2690pub type fsid_t = __fsid_t;
2691pub type loff_t = __loff_t;
2692pub type ino_t = __ino_t;
2693pub type dev_t = __dev_t;
2694pub type gid_t = __gid_t;
2695pub type mode_t = __mode_t;
2696pub type nlink_t = __nlink_t;
2697pub type uid_t = __uid_t;
2698pub type pid_t = __pid_t;
2699pub type id_t = __id_t;
2700pub type daddr_t = __daddr_t;
2701pub type caddr_t = __caddr_t;
2702pub type key_t = __key_t;
2703pub type clock_t = __clock_t;
2704pub type clockid_t = __clockid_t;
2705pub type time_t = __time_t;
2706pub type timer_t = __timer_t;
2707pub type ulong = ::std::os::raw::c_ulong;
2708pub type ushort = ::std::os::raw::c_ushort;
2709pub type uint = ::std::os::raw::c_uint;
2710pub type u_int8_t = __uint8_t;
2711pub type u_int16_t = __uint16_t;
2712pub type u_int32_t = __uint32_t;
2713pub type u_int64_t = __uint64_t;
2714pub type register_t = ::std::os::raw::c_long;
2715#[repr(C)]
2716#[derive(Debug, Copy, Clone)]
2717pub struct __sigset_t {
2718    pub __val: [::std::os::raw::c_ulong; 16usize],
2719}
2720#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2721const _: () = {
2722    ["Size of __sigset_t"][::std::mem::size_of::<__sigset_t>() - 128usize];
2723    ["Alignment of __sigset_t"][::std::mem::align_of::<__sigset_t>() - 8usize];
2724    ["Offset of field: __sigset_t::__val"][::std::mem::offset_of!(__sigset_t, __val) - 0usize];
2725};
2726pub type sigset_t = __sigset_t;
2727#[repr(C)]
2728#[derive(Debug, Copy, Clone)]
2729pub struct timeval {
2730    pub tv_sec: __time_t,
2731    pub tv_usec: __suseconds_t,
2732}
2733#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2734const _: () = {
2735    ["Size of timeval"][::std::mem::size_of::<timeval>() - 16usize];
2736    ["Alignment of timeval"][::std::mem::align_of::<timeval>() - 8usize];
2737    ["Offset of field: timeval::tv_sec"][::std::mem::offset_of!(timeval, tv_sec) - 0usize];
2738    ["Offset of field: timeval::tv_usec"][::std::mem::offset_of!(timeval, tv_usec) - 8usize];
2739};
2740#[repr(C)]
2741#[derive(Debug, Copy, Clone)]
2742pub struct timespec {
2743    pub tv_sec: __time_t,
2744    pub tv_nsec: __syscall_slong_t,
2745}
2746#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2747const _: () = {
2748    ["Size of timespec"][::std::mem::size_of::<timespec>() - 16usize];
2749    ["Alignment of timespec"][::std::mem::align_of::<timespec>() - 8usize];
2750    ["Offset of field: timespec::tv_sec"][::std::mem::offset_of!(timespec, tv_sec) - 0usize];
2751    ["Offset of field: timespec::tv_nsec"][::std::mem::offset_of!(timespec, tv_nsec) - 8usize];
2752};
2753pub type suseconds_t = __suseconds_t;
2754pub type __fd_mask = ::std::os::raw::c_long;
2755#[repr(C)]
2756#[derive(Debug, Copy, Clone)]
2757pub struct fd_set {
2758    pub __fds_bits: [__fd_mask; 16usize],
2759}
2760#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2761const _: () = {
2762    ["Size of fd_set"][::std::mem::size_of::<fd_set>() - 128usize];
2763    ["Alignment of fd_set"][::std::mem::align_of::<fd_set>() - 8usize];
2764    ["Offset of field: fd_set::__fds_bits"][::std::mem::offset_of!(fd_set, __fds_bits) - 0usize];
2765};
2766pub type fd_mask = __fd_mask;
2767extern "C" {
2768    pub fn select(
2769        __nfds: ::std::os::raw::c_int,
2770        __readfds: *mut fd_set,
2771        __writefds: *mut fd_set,
2772        __exceptfds: *mut fd_set,
2773        __timeout: *mut timeval,
2774    ) -> ::std::os::raw::c_int;
2775}
2776extern "C" {
2777    pub fn pselect(
2778        __nfds: ::std::os::raw::c_int,
2779        __readfds: *mut fd_set,
2780        __writefds: *mut fd_set,
2781        __exceptfds: *mut fd_set,
2782        __timeout: *const timespec,
2783        __sigmask: *const __sigset_t,
2784    ) -> ::std::os::raw::c_int;
2785}
2786pub type blksize_t = __blksize_t;
2787pub type blkcnt_t = __blkcnt_t;
2788pub type fsblkcnt_t = __fsblkcnt_t;
2789pub type fsfilcnt_t = __fsfilcnt_t;
2790#[repr(C)]
2791#[derive(Copy, Clone)]
2792pub union __atomic_wide_counter {
2793    pub __value64: ::std::os::raw::c_ulonglong,
2794    pub __value32: __atomic_wide_counter__bindgen_ty_1,
2795}
2796#[repr(C)]
2797#[derive(Debug, Copy, Clone)]
2798pub struct __atomic_wide_counter__bindgen_ty_1 {
2799    pub __low: ::std::os::raw::c_uint,
2800    pub __high: ::std::os::raw::c_uint,
2801}
2802#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2803const _: () = {
2804    ["Size of __atomic_wide_counter__bindgen_ty_1"]
2805        [::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>() - 8usize];
2806    ["Alignment of __atomic_wide_counter__bindgen_ty_1"]
2807        [::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>() - 4usize];
2808    ["Offset of field: __atomic_wide_counter__bindgen_ty_1::__low"]
2809        [::std::mem::offset_of!(__atomic_wide_counter__bindgen_ty_1, __low) - 0usize];
2810    ["Offset of field: __atomic_wide_counter__bindgen_ty_1::__high"]
2811        [::std::mem::offset_of!(__atomic_wide_counter__bindgen_ty_1, __high) - 4usize];
2812};
2813#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2814const _: () = {
2815    ["Size of __atomic_wide_counter"][::std::mem::size_of::<__atomic_wide_counter>() - 8usize];
2816    ["Alignment of __atomic_wide_counter"]
2817        [::std::mem::align_of::<__atomic_wide_counter>() - 8usize];
2818    ["Offset of field: __atomic_wide_counter::__value64"]
2819        [::std::mem::offset_of!(__atomic_wide_counter, __value64) - 0usize];
2820    ["Offset of field: __atomic_wide_counter::__value32"]
2821        [::std::mem::offset_of!(__atomic_wide_counter, __value32) - 0usize];
2822};
2823#[repr(C)]
2824#[derive(Debug, Copy, Clone)]
2825pub struct __pthread_internal_list {
2826    pub __prev: *mut __pthread_internal_list,
2827    pub __next: *mut __pthread_internal_list,
2828}
2829#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2830const _: () = {
2831    ["Size of __pthread_internal_list"][::std::mem::size_of::<__pthread_internal_list>() - 16usize];
2832    ["Alignment of __pthread_internal_list"]
2833        [::std::mem::align_of::<__pthread_internal_list>() - 8usize];
2834    ["Offset of field: __pthread_internal_list::__prev"]
2835        [::std::mem::offset_of!(__pthread_internal_list, __prev) - 0usize];
2836    ["Offset of field: __pthread_internal_list::__next"]
2837        [::std::mem::offset_of!(__pthread_internal_list, __next) - 8usize];
2838};
2839pub type __pthread_list_t = __pthread_internal_list;
2840#[repr(C)]
2841#[derive(Debug, Copy, Clone)]
2842pub struct __pthread_internal_slist {
2843    pub __next: *mut __pthread_internal_slist,
2844}
2845#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2846const _: () = {
2847    ["Size of __pthread_internal_slist"]
2848        [::std::mem::size_of::<__pthread_internal_slist>() - 8usize];
2849    ["Alignment of __pthread_internal_slist"]
2850        [::std::mem::align_of::<__pthread_internal_slist>() - 8usize];
2851    ["Offset of field: __pthread_internal_slist::__next"]
2852        [::std::mem::offset_of!(__pthread_internal_slist, __next) - 0usize];
2853};
2854pub type __pthread_slist_t = __pthread_internal_slist;
2855#[repr(C)]
2856#[derive(Debug, Copy, Clone)]
2857pub struct __pthread_mutex_s {
2858    pub __lock: ::std::os::raw::c_int,
2859    pub __count: ::std::os::raw::c_uint,
2860    pub __owner: ::std::os::raw::c_int,
2861    pub __nusers: ::std::os::raw::c_uint,
2862    pub __kind: ::std::os::raw::c_int,
2863    pub __spins: ::std::os::raw::c_short,
2864    pub __elision: ::std::os::raw::c_short,
2865    pub __list: __pthread_list_t,
2866}
2867#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2868const _: () = {
2869    ["Size of __pthread_mutex_s"][::std::mem::size_of::<__pthread_mutex_s>() - 40usize];
2870    ["Alignment of __pthread_mutex_s"][::std::mem::align_of::<__pthread_mutex_s>() - 8usize];
2871    ["Offset of field: __pthread_mutex_s::__lock"]
2872        [::std::mem::offset_of!(__pthread_mutex_s, __lock) - 0usize];
2873    ["Offset of field: __pthread_mutex_s::__count"]
2874        [::std::mem::offset_of!(__pthread_mutex_s, __count) - 4usize];
2875    ["Offset of field: __pthread_mutex_s::__owner"]
2876        [::std::mem::offset_of!(__pthread_mutex_s, __owner) - 8usize];
2877    ["Offset of field: __pthread_mutex_s::__nusers"]
2878        [::std::mem::offset_of!(__pthread_mutex_s, __nusers) - 12usize];
2879    ["Offset of field: __pthread_mutex_s::__kind"]
2880        [::std::mem::offset_of!(__pthread_mutex_s, __kind) - 16usize];
2881    ["Offset of field: __pthread_mutex_s::__spins"]
2882        [::std::mem::offset_of!(__pthread_mutex_s, __spins) - 20usize];
2883    ["Offset of field: __pthread_mutex_s::__elision"]
2884        [::std::mem::offset_of!(__pthread_mutex_s, __elision) - 22usize];
2885    ["Offset of field: __pthread_mutex_s::__list"]
2886        [::std::mem::offset_of!(__pthread_mutex_s, __list) - 24usize];
2887};
2888#[repr(C)]
2889#[derive(Debug, Copy, Clone)]
2890pub struct __pthread_rwlock_arch_t {
2891    pub __readers: ::std::os::raw::c_uint,
2892    pub __writers: ::std::os::raw::c_uint,
2893    pub __wrphase_futex: ::std::os::raw::c_uint,
2894    pub __writers_futex: ::std::os::raw::c_uint,
2895    pub __pad3: ::std::os::raw::c_uint,
2896    pub __pad4: ::std::os::raw::c_uint,
2897    pub __cur_writer: ::std::os::raw::c_int,
2898    pub __shared: ::std::os::raw::c_int,
2899    pub __rwelision: ::std::os::raw::c_schar,
2900    pub __pad1: [::std::os::raw::c_uchar; 7usize],
2901    pub __pad2: ::std::os::raw::c_ulong,
2902    pub __flags: ::std::os::raw::c_uint,
2903}
2904#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2905const _: () = {
2906    ["Size of __pthread_rwlock_arch_t"][::std::mem::size_of::<__pthread_rwlock_arch_t>() - 56usize];
2907    ["Alignment of __pthread_rwlock_arch_t"]
2908        [::std::mem::align_of::<__pthread_rwlock_arch_t>() - 8usize];
2909    ["Offset of field: __pthread_rwlock_arch_t::__readers"]
2910        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __readers) - 0usize];
2911    ["Offset of field: __pthread_rwlock_arch_t::__writers"]
2912        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __writers) - 4usize];
2913    ["Offset of field: __pthread_rwlock_arch_t::__wrphase_futex"]
2914        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __wrphase_futex) - 8usize];
2915    ["Offset of field: __pthread_rwlock_arch_t::__writers_futex"]
2916        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __writers_futex) - 12usize];
2917    ["Offset of field: __pthread_rwlock_arch_t::__pad3"]
2918        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad3) - 16usize];
2919    ["Offset of field: __pthread_rwlock_arch_t::__pad4"]
2920        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad4) - 20usize];
2921    ["Offset of field: __pthread_rwlock_arch_t::__cur_writer"]
2922        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __cur_writer) - 24usize];
2923    ["Offset of field: __pthread_rwlock_arch_t::__shared"]
2924        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __shared) - 28usize];
2925    ["Offset of field: __pthread_rwlock_arch_t::__rwelision"]
2926        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __rwelision) - 32usize];
2927    ["Offset of field: __pthread_rwlock_arch_t::__pad1"]
2928        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad1) - 33usize];
2929    ["Offset of field: __pthread_rwlock_arch_t::__pad2"]
2930        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad2) - 40usize];
2931    ["Offset of field: __pthread_rwlock_arch_t::__flags"]
2932        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __flags) - 48usize];
2933};
2934#[repr(C)]
2935#[derive(Copy, Clone)]
2936pub struct __pthread_cond_s {
2937    pub __wseq: __atomic_wide_counter,
2938    pub __g1_start: __atomic_wide_counter,
2939    pub __g_refs: [::std::os::raw::c_uint; 2usize],
2940    pub __g_size: [::std::os::raw::c_uint; 2usize],
2941    pub __g1_orig_size: ::std::os::raw::c_uint,
2942    pub __wrefs: ::std::os::raw::c_uint,
2943    pub __g_signals: [::std::os::raw::c_uint; 2usize],
2944}
2945#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2946const _: () = {
2947    ["Size of __pthread_cond_s"][::std::mem::size_of::<__pthread_cond_s>() - 48usize];
2948    ["Alignment of __pthread_cond_s"][::std::mem::align_of::<__pthread_cond_s>() - 8usize];
2949    ["Offset of field: __pthread_cond_s::__wseq"]
2950        [::std::mem::offset_of!(__pthread_cond_s, __wseq) - 0usize];
2951    ["Offset of field: __pthread_cond_s::__g1_start"]
2952        [::std::mem::offset_of!(__pthread_cond_s, __g1_start) - 8usize];
2953    ["Offset of field: __pthread_cond_s::__g_refs"]
2954        [::std::mem::offset_of!(__pthread_cond_s, __g_refs) - 16usize];
2955    ["Offset of field: __pthread_cond_s::__g_size"]
2956        [::std::mem::offset_of!(__pthread_cond_s, __g_size) - 24usize];
2957    ["Offset of field: __pthread_cond_s::__g1_orig_size"]
2958        [::std::mem::offset_of!(__pthread_cond_s, __g1_orig_size) - 32usize];
2959    ["Offset of field: __pthread_cond_s::__wrefs"]
2960        [::std::mem::offset_of!(__pthread_cond_s, __wrefs) - 36usize];
2961    ["Offset of field: __pthread_cond_s::__g_signals"]
2962        [::std::mem::offset_of!(__pthread_cond_s, __g_signals) - 40usize];
2963};
2964pub type __tss_t = ::std::os::raw::c_uint;
2965pub type __thrd_t = ::std::os::raw::c_ulong;
2966#[repr(C)]
2967#[derive(Debug, Copy, Clone)]
2968pub struct __once_flag {
2969    pub __data: ::std::os::raw::c_int,
2970}
2971#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2972const _: () = {
2973    ["Size of __once_flag"][::std::mem::size_of::<__once_flag>() - 4usize];
2974    ["Alignment of __once_flag"][::std::mem::align_of::<__once_flag>() - 4usize];
2975    ["Offset of field: __once_flag::__data"][::std::mem::offset_of!(__once_flag, __data) - 0usize];
2976};
2977pub type pthread_t = ::std::os::raw::c_ulong;
2978#[repr(C)]
2979#[derive(Copy, Clone)]
2980pub union pthread_mutexattr_t {
2981    pub __size: [::std::os::raw::c_char; 4usize],
2982    pub __align: ::std::os::raw::c_int,
2983}
2984#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2985const _: () = {
2986    ["Size of pthread_mutexattr_t"][::std::mem::size_of::<pthread_mutexattr_t>() - 4usize];
2987    ["Alignment of pthread_mutexattr_t"][::std::mem::align_of::<pthread_mutexattr_t>() - 4usize];
2988    ["Offset of field: pthread_mutexattr_t::__size"]
2989        [::std::mem::offset_of!(pthread_mutexattr_t, __size) - 0usize];
2990    ["Offset of field: pthread_mutexattr_t::__align"]
2991        [::std::mem::offset_of!(pthread_mutexattr_t, __align) - 0usize];
2992};
2993#[repr(C)]
2994#[derive(Copy, Clone)]
2995pub union pthread_condattr_t {
2996    pub __size: [::std::os::raw::c_char; 4usize],
2997    pub __align: ::std::os::raw::c_int,
2998}
2999#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3000const _: () = {
3001    ["Size of pthread_condattr_t"][::std::mem::size_of::<pthread_condattr_t>() - 4usize];
3002    ["Alignment of pthread_condattr_t"][::std::mem::align_of::<pthread_condattr_t>() - 4usize];
3003    ["Offset of field: pthread_condattr_t::__size"]
3004        [::std::mem::offset_of!(pthread_condattr_t, __size) - 0usize];
3005    ["Offset of field: pthread_condattr_t::__align"]
3006        [::std::mem::offset_of!(pthread_condattr_t, __align) - 0usize];
3007};
3008pub type pthread_key_t = ::std::os::raw::c_uint;
3009pub type pthread_once_t = ::std::os::raw::c_int;
3010#[repr(C)]
3011#[derive(Copy, Clone)]
3012pub union pthread_attr_t {
3013    pub __size: [::std::os::raw::c_char; 56usize],
3014    pub __align: ::std::os::raw::c_long,
3015}
3016#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3017const _: () = {
3018    ["Size of pthread_attr_t"][::std::mem::size_of::<pthread_attr_t>() - 56usize];
3019    ["Alignment of pthread_attr_t"][::std::mem::align_of::<pthread_attr_t>() - 8usize];
3020    ["Offset of field: pthread_attr_t::__size"]
3021        [::std::mem::offset_of!(pthread_attr_t, __size) - 0usize];
3022    ["Offset of field: pthread_attr_t::__align"]
3023        [::std::mem::offset_of!(pthread_attr_t, __align) - 0usize];
3024};
3025#[repr(C)]
3026#[derive(Copy, Clone)]
3027pub union pthread_mutex_t {
3028    pub __data: __pthread_mutex_s,
3029    pub __size: [::std::os::raw::c_char; 40usize],
3030    pub __align: ::std::os::raw::c_long,
3031}
3032#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3033const _: () = {
3034    ["Size of pthread_mutex_t"][::std::mem::size_of::<pthread_mutex_t>() - 40usize];
3035    ["Alignment of pthread_mutex_t"][::std::mem::align_of::<pthread_mutex_t>() - 8usize];
3036    ["Offset of field: pthread_mutex_t::__data"]
3037        [::std::mem::offset_of!(pthread_mutex_t, __data) - 0usize];
3038    ["Offset of field: pthread_mutex_t::__size"]
3039        [::std::mem::offset_of!(pthread_mutex_t, __size) - 0usize];
3040    ["Offset of field: pthread_mutex_t::__align"]
3041        [::std::mem::offset_of!(pthread_mutex_t, __align) - 0usize];
3042};
3043#[repr(C)]
3044#[derive(Copy, Clone)]
3045pub union pthread_cond_t {
3046    pub __data: __pthread_cond_s,
3047    pub __size: [::std::os::raw::c_char; 48usize],
3048    pub __align: ::std::os::raw::c_longlong,
3049}
3050#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3051const _: () = {
3052    ["Size of pthread_cond_t"][::std::mem::size_of::<pthread_cond_t>() - 48usize];
3053    ["Alignment of pthread_cond_t"][::std::mem::align_of::<pthread_cond_t>() - 8usize];
3054    ["Offset of field: pthread_cond_t::__data"]
3055        [::std::mem::offset_of!(pthread_cond_t, __data) - 0usize];
3056    ["Offset of field: pthread_cond_t::__size"]
3057        [::std::mem::offset_of!(pthread_cond_t, __size) - 0usize];
3058    ["Offset of field: pthread_cond_t::__align"]
3059        [::std::mem::offset_of!(pthread_cond_t, __align) - 0usize];
3060};
3061#[repr(C)]
3062#[derive(Copy, Clone)]
3063pub union pthread_rwlock_t {
3064    pub __data: __pthread_rwlock_arch_t,
3065    pub __size: [::std::os::raw::c_char; 56usize],
3066    pub __align: ::std::os::raw::c_long,
3067}
3068#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3069const _: () = {
3070    ["Size of pthread_rwlock_t"][::std::mem::size_of::<pthread_rwlock_t>() - 56usize];
3071    ["Alignment of pthread_rwlock_t"][::std::mem::align_of::<pthread_rwlock_t>() - 8usize];
3072    ["Offset of field: pthread_rwlock_t::__data"]
3073        [::std::mem::offset_of!(pthread_rwlock_t, __data) - 0usize];
3074    ["Offset of field: pthread_rwlock_t::__size"]
3075        [::std::mem::offset_of!(pthread_rwlock_t, __size) - 0usize];
3076    ["Offset of field: pthread_rwlock_t::__align"]
3077        [::std::mem::offset_of!(pthread_rwlock_t, __align) - 0usize];
3078};
3079#[repr(C)]
3080#[derive(Copy, Clone)]
3081pub union pthread_rwlockattr_t {
3082    pub __size: [::std::os::raw::c_char; 8usize],
3083    pub __align: ::std::os::raw::c_long,
3084}
3085#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3086const _: () = {
3087    ["Size of pthread_rwlockattr_t"][::std::mem::size_of::<pthread_rwlockattr_t>() - 8usize];
3088    ["Alignment of pthread_rwlockattr_t"][::std::mem::align_of::<pthread_rwlockattr_t>() - 8usize];
3089    ["Offset of field: pthread_rwlockattr_t::__size"]
3090        [::std::mem::offset_of!(pthread_rwlockattr_t, __size) - 0usize];
3091    ["Offset of field: pthread_rwlockattr_t::__align"]
3092        [::std::mem::offset_of!(pthread_rwlockattr_t, __align) - 0usize];
3093};
3094pub type pthread_spinlock_t = ::std::os::raw::c_int;
3095#[repr(C)]
3096#[derive(Copy, Clone)]
3097pub union pthread_barrier_t {
3098    pub __size: [::std::os::raw::c_char; 32usize],
3099    pub __align: ::std::os::raw::c_long,
3100}
3101#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3102const _: () = {
3103    ["Size of pthread_barrier_t"][::std::mem::size_of::<pthread_barrier_t>() - 32usize];
3104    ["Alignment of pthread_barrier_t"][::std::mem::align_of::<pthread_barrier_t>() - 8usize];
3105    ["Offset of field: pthread_barrier_t::__size"]
3106        [::std::mem::offset_of!(pthread_barrier_t, __size) - 0usize];
3107    ["Offset of field: pthread_barrier_t::__align"]
3108        [::std::mem::offset_of!(pthread_barrier_t, __align) - 0usize];
3109};
3110#[repr(C)]
3111#[derive(Copy, Clone)]
3112pub union pthread_barrierattr_t {
3113    pub __size: [::std::os::raw::c_char; 4usize],
3114    pub __align: ::std::os::raw::c_int,
3115}
3116#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3117const _: () = {
3118    ["Size of pthread_barrierattr_t"][::std::mem::size_of::<pthread_barrierattr_t>() - 4usize];
3119    ["Alignment of pthread_barrierattr_t"]
3120        [::std::mem::align_of::<pthread_barrierattr_t>() - 4usize];
3121    ["Offset of field: pthread_barrierattr_t::__size"]
3122        [::std::mem::offset_of!(pthread_barrierattr_t, __size) - 0usize];
3123    ["Offset of field: pthread_barrierattr_t::__align"]
3124        [::std::mem::offset_of!(pthread_barrierattr_t, __align) - 0usize];
3125};
3126extern "C" {
3127    pub fn random() -> ::std::os::raw::c_long;
3128}
3129extern "C" {
3130    pub fn srandom(__seed: ::std::os::raw::c_uint);
3131}
3132extern "C" {
3133    pub fn initstate(
3134        __seed: ::std::os::raw::c_uint,
3135        __statebuf: *mut ::std::os::raw::c_char,
3136        __statelen: usize,
3137    ) -> *mut ::std::os::raw::c_char;
3138}
3139extern "C" {
3140    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3141}
3142#[repr(C)]
3143#[derive(Debug, Copy, Clone)]
3144pub struct random_data {
3145    pub fptr: *mut i32,
3146    pub rptr: *mut i32,
3147    pub state: *mut i32,
3148    pub rand_type: ::std::os::raw::c_int,
3149    pub rand_deg: ::std::os::raw::c_int,
3150    pub rand_sep: ::std::os::raw::c_int,
3151    pub end_ptr: *mut i32,
3152}
3153#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3154const _: () = {
3155    ["Size of random_data"][::std::mem::size_of::<random_data>() - 48usize];
3156    ["Alignment of random_data"][::std::mem::align_of::<random_data>() - 8usize];
3157    ["Offset of field: random_data::fptr"][::std::mem::offset_of!(random_data, fptr) - 0usize];
3158    ["Offset of field: random_data::rptr"][::std::mem::offset_of!(random_data, rptr) - 8usize];
3159    ["Offset of field: random_data::state"][::std::mem::offset_of!(random_data, state) - 16usize];
3160    ["Offset of field: random_data::rand_type"]
3161        [::std::mem::offset_of!(random_data, rand_type) - 24usize];
3162    ["Offset of field: random_data::rand_deg"]
3163        [::std::mem::offset_of!(random_data, rand_deg) - 28usize];
3164    ["Offset of field: random_data::rand_sep"]
3165        [::std::mem::offset_of!(random_data, rand_sep) - 32usize];
3166    ["Offset of field: random_data::end_ptr"]
3167        [::std::mem::offset_of!(random_data, end_ptr) - 40usize];
3168};
3169extern "C" {
3170    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
3171}
3172extern "C" {
3173    pub fn srandom_r(
3174        __seed: ::std::os::raw::c_uint,
3175        __buf: *mut random_data,
3176    ) -> ::std::os::raw::c_int;
3177}
3178extern "C" {
3179    pub fn initstate_r(
3180        __seed: ::std::os::raw::c_uint,
3181        __statebuf: *mut ::std::os::raw::c_char,
3182        __statelen: usize,
3183        __buf: *mut random_data,
3184    ) -> ::std::os::raw::c_int;
3185}
3186extern "C" {
3187    pub fn setstate_r(
3188        __statebuf: *mut ::std::os::raw::c_char,
3189        __buf: *mut random_data,
3190    ) -> ::std::os::raw::c_int;
3191}
3192extern "C" {
3193    pub fn rand() -> ::std::os::raw::c_int;
3194}
3195extern "C" {
3196    pub fn srand(__seed: ::std::os::raw::c_uint);
3197}
3198extern "C" {
3199    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3200}
3201extern "C" {
3202    pub fn drand48() -> f64;
3203}
3204extern "C" {
3205    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
3206}
3207extern "C" {
3208    pub fn lrand48() -> ::std::os::raw::c_long;
3209}
3210extern "C" {
3211    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3212}
3213extern "C" {
3214    pub fn mrand48() -> ::std::os::raw::c_long;
3215}
3216extern "C" {
3217    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3218}
3219extern "C" {
3220    pub fn srand48(__seedval: ::std::os::raw::c_long);
3221}
3222extern "C" {
3223    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3224}
3225extern "C" {
3226    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
3227}
3228#[repr(C)]
3229#[derive(Debug, Copy, Clone)]
3230pub struct drand48_data {
3231    pub __x: [::std::os::raw::c_ushort; 3usize],
3232    pub __old_x: [::std::os::raw::c_ushort; 3usize],
3233    pub __c: ::std::os::raw::c_ushort,
3234    pub __init: ::std::os::raw::c_ushort,
3235    pub __a: ::std::os::raw::c_ulonglong,
3236}
3237#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3238const _: () = {
3239    ["Size of drand48_data"][::std::mem::size_of::<drand48_data>() - 24usize];
3240    ["Alignment of drand48_data"][::std::mem::align_of::<drand48_data>() - 8usize];
3241    ["Offset of field: drand48_data::__x"][::std::mem::offset_of!(drand48_data, __x) - 0usize];
3242    ["Offset of field: drand48_data::__old_x"]
3243        [::std::mem::offset_of!(drand48_data, __old_x) - 6usize];
3244    ["Offset of field: drand48_data::__c"][::std::mem::offset_of!(drand48_data, __c) - 12usize];
3245    ["Offset of field: drand48_data::__init"]
3246        [::std::mem::offset_of!(drand48_data, __init) - 14usize];
3247    ["Offset of field: drand48_data::__a"][::std::mem::offset_of!(drand48_data, __a) - 16usize];
3248};
3249extern "C" {
3250    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
3251}
3252extern "C" {
3253    pub fn erand48_r(
3254        __xsubi: *mut ::std::os::raw::c_ushort,
3255        __buffer: *mut drand48_data,
3256        __result: *mut f64,
3257    ) -> ::std::os::raw::c_int;
3258}
3259extern "C" {
3260    pub fn lrand48_r(
3261        __buffer: *mut drand48_data,
3262        __result: *mut ::std::os::raw::c_long,
3263    ) -> ::std::os::raw::c_int;
3264}
3265extern "C" {
3266    pub fn nrand48_r(
3267        __xsubi: *mut ::std::os::raw::c_ushort,
3268        __buffer: *mut drand48_data,
3269        __result: *mut ::std::os::raw::c_long,
3270    ) -> ::std::os::raw::c_int;
3271}
3272extern "C" {
3273    pub fn mrand48_r(
3274        __buffer: *mut drand48_data,
3275        __result: *mut ::std::os::raw::c_long,
3276    ) -> ::std::os::raw::c_int;
3277}
3278extern "C" {
3279    pub fn jrand48_r(
3280        __xsubi: *mut ::std::os::raw::c_ushort,
3281        __buffer: *mut drand48_data,
3282        __result: *mut ::std::os::raw::c_long,
3283    ) -> ::std::os::raw::c_int;
3284}
3285extern "C" {
3286    pub fn srand48_r(
3287        __seedval: ::std::os::raw::c_long,
3288        __buffer: *mut drand48_data,
3289    ) -> ::std::os::raw::c_int;
3290}
3291extern "C" {
3292    pub fn seed48_r(
3293        __seed16v: *mut ::std::os::raw::c_ushort,
3294        __buffer: *mut drand48_data,
3295    ) -> ::std::os::raw::c_int;
3296}
3297extern "C" {
3298    pub fn lcong48_r(
3299        __param: *mut ::std::os::raw::c_ushort,
3300        __buffer: *mut drand48_data,
3301    ) -> ::std::os::raw::c_int;
3302}
3303extern "C" {
3304    pub fn arc4random() -> __uint32_t;
3305}
3306extern "C" {
3307    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __size: usize);
3308}
3309extern "C" {
3310    pub fn arc4random_uniform(__upper_bound: __uint32_t) -> __uint32_t;
3311}
3312extern "C" {
3313    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3314}
3315extern "C" {
3316    pub fn calloc(
3317        __nmemb: ::std::os::raw::c_ulong,
3318        __size: ::std::os::raw::c_ulong,
3319    ) -> *mut ::std::os::raw::c_void;
3320}
3321extern "C" {
3322    pub fn realloc(
3323        __ptr: *mut ::std::os::raw::c_void,
3324        __size: ::std::os::raw::c_ulong,
3325    ) -> *mut ::std::os::raw::c_void;
3326}
3327extern "C" {
3328    pub fn free(__ptr: *mut ::std::os::raw::c_void);
3329}
3330extern "C" {
3331    pub fn reallocarray(
3332        __ptr: *mut ::std::os::raw::c_void,
3333        __nmemb: usize,
3334        __size: usize,
3335    ) -> *mut ::std::os::raw::c_void;
3336}
3337extern "C" {
3338    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3339}
3340extern "C" {
3341    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3342}
3343extern "C" {
3344    pub fn posix_memalign(
3345        __memptr: *mut *mut ::std::os::raw::c_void,
3346        __alignment: usize,
3347        __size: usize,
3348    ) -> ::std::os::raw::c_int;
3349}
3350extern "C" {
3351    pub fn aligned_alloc(
3352        __alignment: ::std::os::raw::c_ulong,
3353        __size: ::std::os::raw::c_ulong,
3354    ) -> *mut ::std::os::raw::c_void;
3355}
3356extern "C" {
3357    pub fn abort() -> !;
3358}
3359extern "C" {
3360    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3361}
3362extern "C" {
3363    pub fn at_quick_exit(
3364        __func: ::std::option::Option<unsafe extern "C" fn()>,
3365    ) -> ::std::os::raw::c_int;
3366}
3367extern "C" {
3368    pub fn on_exit(
3369        __func: ::std::option::Option<
3370            unsafe extern "C" fn(
3371                __status: ::std::os::raw::c_int,
3372                __arg: *mut ::std::os::raw::c_void,
3373            ),
3374        >,
3375        __arg: *mut ::std::os::raw::c_void,
3376    ) -> ::std::os::raw::c_int;
3377}
3378extern "C" {
3379    pub fn exit(__status: ::std::os::raw::c_int) -> !;
3380}
3381extern "C" {
3382    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
3383}
3384extern "C" {
3385    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
3386}
3387extern "C" {
3388    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3389}
3390extern "C" {
3391    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3392}
3393extern "C" {
3394    pub fn setenv(
3395        __name: *const ::std::os::raw::c_char,
3396        __value: *const ::std::os::raw::c_char,
3397        __replace: ::std::os::raw::c_int,
3398    ) -> ::std::os::raw::c_int;
3399}
3400extern "C" {
3401    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3402}
3403extern "C" {
3404    pub fn clearenv() -> ::std::os::raw::c_int;
3405}
3406extern "C" {
3407    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3408}
3409extern "C" {
3410    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3411}
3412extern "C" {
3413    pub fn mkstemps(
3414        __template: *mut ::std::os::raw::c_char,
3415        __suffixlen: ::std::os::raw::c_int,
3416    ) -> ::std::os::raw::c_int;
3417}
3418extern "C" {
3419    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3420}
3421extern "C" {
3422    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3423}
3424extern "C" {
3425    pub fn realpath(
3426        __name: *const ::std::os::raw::c_char,
3427        __resolved: *mut ::std::os::raw::c_char,
3428    ) -> *mut ::std::os::raw::c_char;
3429}
3430pub type __compar_fn_t = ::std::option::Option<
3431    unsafe extern "C" fn(
3432        arg1: *const ::std::os::raw::c_void,
3433        arg2: *const ::std::os::raw::c_void,
3434    ) -> ::std::os::raw::c_int,
3435>;
3436extern "C" {
3437    pub fn bsearch(
3438        __key: *const ::std::os::raw::c_void,
3439        __base: *const ::std::os::raw::c_void,
3440        __nmemb: usize,
3441        __size: usize,
3442        __compar: __compar_fn_t,
3443    ) -> *mut ::std::os::raw::c_void;
3444}
3445extern "C" {
3446    pub fn qsort(
3447        __base: *mut ::std::os::raw::c_void,
3448        __nmemb: usize,
3449        __size: usize,
3450        __compar: __compar_fn_t,
3451    );
3452}
3453extern "C" {
3454    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3455}
3456extern "C" {
3457    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3458}
3459extern "C" {
3460    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3461}
3462extern "C" {
3463    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
3464}
3465extern "C" {
3466    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
3467}
3468extern "C" {
3469    pub fn lldiv(
3470        __numer: ::std::os::raw::c_longlong,
3471        __denom: ::std::os::raw::c_longlong,
3472    ) -> lldiv_t;
3473}
3474extern "C" {
3475    pub fn ecvt(
3476        __value: f64,
3477        __ndigit: ::std::os::raw::c_int,
3478        __decpt: *mut ::std::os::raw::c_int,
3479        __sign: *mut ::std::os::raw::c_int,
3480    ) -> *mut ::std::os::raw::c_char;
3481}
3482extern "C" {
3483    pub fn fcvt(
3484        __value: f64,
3485        __ndigit: ::std::os::raw::c_int,
3486        __decpt: *mut ::std::os::raw::c_int,
3487        __sign: *mut ::std::os::raw::c_int,
3488    ) -> *mut ::std::os::raw::c_char;
3489}
3490extern "C" {
3491    pub fn gcvt(
3492        __value: f64,
3493        __ndigit: ::std::os::raw::c_int,
3494        __buf: *mut ::std::os::raw::c_char,
3495    ) -> *mut ::std::os::raw::c_char;
3496}
3497extern "C" {
3498    pub fn qecvt(
3499        __value: u128,
3500        __ndigit: ::std::os::raw::c_int,
3501        __decpt: *mut ::std::os::raw::c_int,
3502        __sign: *mut ::std::os::raw::c_int,
3503    ) -> *mut ::std::os::raw::c_char;
3504}
3505extern "C" {
3506    pub fn qfcvt(
3507        __value: u128,
3508        __ndigit: ::std::os::raw::c_int,
3509        __decpt: *mut ::std::os::raw::c_int,
3510        __sign: *mut ::std::os::raw::c_int,
3511    ) -> *mut ::std::os::raw::c_char;
3512}
3513extern "C" {
3514    pub fn qgcvt(
3515        __value: u128,
3516        __ndigit: ::std::os::raw::c_int,
3517        __buf: *mut ::std::os::raw::c_char,
3518    ) -> *mut ::std::os::raw::c_char;
3519}
3520extern "C" {
3521    pub fn ecvt_r(
3522        __value: f64,
3523        __ndigit: ::std::os::raw::c_int,
3524        __decpt: *mut ::std::os::raw::c_int,
3525        __sign: *mut ::std::os::raw::c_int,
3526        __buf: *mut ::std::os::raw::c_char,
3527        __len: usize,
3528    ) -> ::std::os::raw::c_int;
3529}
3530extern "C" {
3531    pub fn fcvt_r(
3532        __value: f64,
3533        __ndigit: ::std::os::raw::c_int,
3534        __decpt: *mut ::std::os::raw::c_int,
3535        __sign: *mut ::std::os::raw::c_int,
3536        __buf: *mut ::std::os::raw::c_char,
3537        __len: usize,
3538    ) -> ::std::os::raw::c_int;
3539}
3540extern "C" {
3541    pub fn qecvt_r(
3542        __value: u128,
3543        __ndigit: ::std::os::raw::c_int,
3544        __decpt: *mut ::std::os::raw::c_int,
3545        __sign: *mut ::std::os::raw::c_int,
3546        __buf: *mut ::std::os::raw::c_char,
3547        __len: usize,
3548    ) -> ::std::os::raw::c_int;
3549}
3550extern "C" {
3551    pub fn qfcvt_r(
3552        __value: u128,
3553        __ndigit: ::std::os::raw::c_int,
3554        __decpt: *mut ::std::os::raw::c_int,
3555        __sign: *mut ::std::os::raw::c_int,
3556        __buf: *mut ::std::os::raw::c_char,
3557        __len: usize,
3558    ) -> ::std::os::raw::c_int;
3559}
3560extern "C" {
3561    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
3562}
3563extern "C" {
3564    pub fn mbtowc(
3565        __pwc: *mut wchar_t,
3566        __s: *const ::std::os::raw::c_char,
3567        __n: usize,
3568    ) -> ::std::os::raw::c_int;
3569}
3570extern "C" {
3571    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
3572}
3573extern "C" {
3574    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
3575}
3576extern "C" {
3577    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
3578}
3579extern "C" {
3580    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3581}
3582extern "C" {
3583    pub fn getsubopt(
3584        __optionp: *mut *mut ::std::os::raw::c_char,
3585        __tokens: *const *mut ::std::os::raw::c_char,
3586        __valuep: *mut *mut ::std::os::raw::c_char,
3587    ) -> ::std::os::raw::c_int;
3588}
3589extern "C" {
3590    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
3591        -> ::std::os::raw::c_int;
3592}
3593extern "C" {
3594    pub fn js_init_module_std(
3595        ctx: *mut JSContext,
3596        module_name: *const ::std::os::raw::c_char,
3597    ) -> *mut JSModuleDef;
3598}
3599extern "C" {
3600    pub fn js_init_module_os(
3601        ctx: *mut JSContext,
3602        module_name: *const ::std::os::raw::c_char,
3603    ) -> *mut JSModuleDef;
3604}
3605extern "C" {
3606    pub fn js_std_add_helpers(
3607        ctx: *mut JSContext,
3608        argc: ::std::os::raw::c_int,
3609        argv: *mut *mut ::std::os::raw::c_char,
3610    );
3611}
3612extern "C" {
3613    pub fn js_std_loop(ctx: *mut JSContext);
3614}
3615extern "C" {
3616    pub fn js_std_loop_step(ctx: *mut JSContext) -> ::std::os::raw::c_int;
3617}
3618extern "C" {
3619    pub fn js_std_await(ctx: *mut JSContext, obj: JSValue) -> JSValue;
3620}
3621extern "C" {
3622    pub fn js_std_init_handlers(rt: *mut JSRuntime);
3623}
3624extern "C" {
3625    pub fn js_std_free_handlers(rt: *mut JSRuntime);
3626}
3627extern "C" {
3628    pub fn js_std_dump_error(ctx: *mut JSContext);
3629}
3630extern "C" {
3631    pub fn js_load_file(
3632        ctx: *mut JSContext,
3633        pbuf_len: *mut usize,
3634        filename: *const ::std::os::raw::c_char,
3635    ) -> *mut u8;
3636}
3637extern "C" {
3638    pub fn js_module_set_import_meta(
3639        ctx: *mut JSContext,
3640        func_val: JSValue,
3641        use_realpath: ::std::os::raw::c_int,
3642        is_main: ::std::os::raw::c_int,
3643    ) -> ::std::os::raw::c_int;
3644}
3645extern "C" {
3646    pub fn js_module_loader(
3647        ctx: *mut JSContext,
3648        module_name: *const ::std::os::raw::c_char,
3649        opaque: *mut ::std::os::raw::c_void,
3650    ) -> *mut JSModuleDef;
3651}
3652extern "C" {
3653    pub fn js_std_eval_binary(
3654        ctx: *mut JSContext,
3655        buf: *const u8,
3656        buf_len: usize,
3657        flags: ::std::os::raw::c_int,
3658    );
3659}
3660extern "C" {
3661    pub fn js_std_promise_rejection_tracker(
3662        ctx: *mut JSContext,
3663        promise: JSValue,
3664        reason: JSValue,
3665        is_handled: ::std::os::raw::c_int,
3666        opaque: *mut ::std::os::raw::c_void,
3667    );
3668}
3669extern "C" {
3670    pub fn js_std_set_worker_new_context_func(
3671        func: ::std::option::Option<unsafe extern "C" fn(rt: *mut JSRuntime) -> *mut JSContext>,
3672    );
3673}
3674pub type __builtin_va_list = [__va_list_tag; 1usize];
3675#[repr(C)]
3676#[derive(Debug, Copy, Clone)]
3677pub struct __va_list_tag {
3678    pub gp_offset: ::std::os::raw::c_uint,
3679    pub fp_offset: ::std::os::raw::c_uint,
3680    pub overflow_arg_area: *mut ::std::os::raw::c_void,
3681    pub reg_save_area: *mut ::std::os::raw::c_void,
3682}
3683#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3684const _: () = {
3685    ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
3686    ["Alignment of __va_list_tag"][::std::mem::align_of::<__va_list_tag>() - 8usize];
3687    ["Offset of field: __va_list_tag::gp_offset"]
3688        [::std::mem::offset_of!(__va_list_tag, gp_offset) - 0usize];
3689    ["Offset of field: __va_list_tag::fp_offset"]
3690        [::std::mem::offset_of!(__va_list_tag, fp_offset) - 4usize];
3691    ["Offset of field: __va_list_tag::overflow_arg_area"]
3692        [::std::mem::offset_of!(__va_list_tag, overflow_arg_area) - 8usize];
3693    ["Offset of field: __va_list_tag::reg_save_area"]
3694        [::std::mem::offset_of!(__va_list_tag, reg_save_area) - 16usize];
3695};