duk_sys/
ffi.rs

1/* automatically generated by rust-bindgen */
2
3pub const DUK_VERSION: u32 = 20500;
4pub const DUK_GIT_COMMIT: &'static [u8; 41usize] = b"6001888049cb42656f8649db020e804bcdeca6a7\0";
5pub const DUK_GIT_DESCRIBE: &'static [u8; 7usize] = b"v2.5.0\0";
6pub const DUK_GIT_BRANCH: &'static [u8; 7usize] = b"master\0";
7pub const DUK_USE_OS_STRING: &'static [u8; 6usize] = b"linux\0";
8pub const DUK_USE_ARCH_STRING: &'static [u8; 4usize] = b"x64\0";
9pub const DUK_USE_BYTEORDER: u32 = 1;
10pub const DUK_USE_COMPILER_STRING: &'static [u8; 6usize] = b"clang\0";
11pub const DUK_UINT8_MIN: u32 = 0;
12pub const DUK_UINT8_MAX: u32 = 255;
13pub const DUK_INT8_MIN: i32 = -128;
14pub const DUK_INT8_MAX: u32 = 127;
15pub const DUK_UINT_LEAST8_MIN: u32 = 0;
16pub const DUK_UINT_LEAST8_MAX: u32 = 255;
17pub const DUK_INT_LEAST8_MIN: i32 = -128;
18pub const DUK_INT_LEAST8_MAX: u32 = 127;
19pub const DUK_UINT_FAST8_MIN: u32 = 0;
20pub const DUK_UINT_FAST8_MAX: u32 = 255;
21pub const DUK_INT_FAST8_MIN: i32 = -128;
22pub const DUK_INT_FAST8_MAX: u32 = 127;
23pub const DUK_UINT16_MIN: u32 = 0;
24pub const DUK_UINT16_MAX: u32 = 65535;
25pub const DUK_INT16_MIN: i32 = -32768;
26pub const DUK_INT16_MAX: u32 = 32767;
27pub const DUK_UINT_LEAST16_MIN: u32 = 0;
28pub const DUK_UINT_LEAST16_MAX: u32 = 65535;
29pub const DUK_INT_LEAST16_MIN: i32 = -32768;
30pub const DUK_INT_LEAST16_MAX: u32 = 32767;
31pub const DUK_UINT_FAST16_MIN: u32 = 0;
32pub const DUK_UINT_FAST16_MAX: i32 = -1;
33pub const DUK_INT_FAST16_MIN: i64 = -9223372036854775808;
34pub const DUK_INT_FAST16_MAX: u64 = 9223372036854775807;
35pub const DUK_UINT32_MIN: u32 = 0;
36pub const DUK_UINT32_MAX: u32 = 4294967295;
37pub const DUK_INT32_MIN: i32 = -2147483648;
38pub const DUK_INT32_MAX: u32 = 2147483647;
39pub const DUK_UINT_LEAST32_MIN: u32 = 0;
40pub const DUK_UINT_LEAST32_MAX: u32 = 4294967295;
41pub const DUK_INT_LEAST32_MIN: i32 = -2147483648;
42pub const DUK_INT_LEAST32_MAX: u32 = 2147483647;
43pub const DUK_UINT_FAST32_MIN: u32 = 0;
44pub const DUK_UINT_FAST32_MAX: i32 = -1;
45pub const DUK_INT_FAST32_MIN: i64 = -9223372036854775808;
46pub const DUK_INT_FAST32_MAX: u64 = 9223372036854775807;
47pub const DUK_UINT64_MIN: u32 = 0;
48pub const DUK_UINT_LEAST64_MIN: u32 = 0;
49pub const DUK_UINT_FAST64_MIN: u32 = 0;
50pub const DUK_UINTPTR_MIN: u32 = 0;
51pub const DUK_UINTPTR_MAX: i32 = -1;
52pub const DUK_INTPTR_MIN: i64 = -9223372036854775808;
53pub const DUK_INTPTR_MAX: u64 = 9223372036854775807;
54pub const DUK_UINTMAX_MIN: u32 = 0;
55pub const DUK_SIZE_MIN: u32 = 0;
56pub const DUK_SIZE_MAX: i32 = -1;
57pub const DUK_UINT_MIN: u32 = 0;
58pub const DUK_INT_FAST_MIN: i64 = -9223372036854775808;
59pub const DUK_INT_FAST_MAX: u64 = 9223372036854775807;
60pub const DUK_UINT_FAST_MIN: u32 = 0;
61pub const DUK_UINT_FAST_MAX: i32 = -1;
62pub const DUK_SMALL_UINT_MIN: u32 = 0;
63pub const DUK_SMALL_INT_FAST_MIN: i64 = -9223372036854775808;
64pub const DUK_SMALL_INT_FAST_MAX: u64 = 9223372036854775807;
65pub const DUK_SMALL_UINT_FAST_MIN: u32 = 0;
66pub const DUK_SMALL_UINT_FAST_MAX: i32 = -1;
67pub const DUK_BOOL_MIN: u32 = 0;
68pub const DUK_UIDX_MIN: u32 = 0;
69pub const DUK_UARRIDX_MIN: u32 = 0;
70pub const DUK_UCODEPOINT_MIN: u32 = 0;
71pub const DUK_FP_NAN: u32 = 0;
72pub const DUK_FP_INFINITE: u32 = 1;
73pub const DUK_FP_ZERO: u32 = 2;
74pub const DUK_FP_SUBNORMAL: u32 = 3;
75pub const DUK_FP_NORMAL: u32 = 4;
76pub const DUK_USE_ALIGN_BY: u32 = 8;
77pub const DUK_USE_CALLSTACK_LIMIT: u32 = 10000;
78pub const DUK_USE_COMPILER_RECLIMIT: u32 = 2500;
79pub const DUK_USE_DEBUG_BUFSIZE: u32 = 65536;
80pub const DUK_USE_DEBUG_LEVEL: u32 = 0;
81pub const DUK_USE_ESBC_MAX_BYTES: u32 = 2147418112;
82pub const DUK_USE_ESBC_MAX_LINENUMBER: u32 = 2147418112;
83pub const DUK_USE_FATAL_MAXLEN: u32 = 128;
84pub const DUK_USE_HOBJECT_ARRAY_ABANDON_LIMIT: u32 = 2;
85pub const DUK_USE_HOBJECT_ARRAY_ABANDON_MINSIZE: u32 = 257;
86pub const DUK_USE_HOBJECT_ARRAY_FAST_RESIZE_LIMIT: u32 = 9;
87pub const DUK_USE_HOBJECT_ARRAY_MINGROW_ADD: u32 = 16;
88pub const DUK_USE_HOBJECT_ARRAY_MINGROW_DIVISOR: u32 = 8;
89pub const DUK_USE_HOBJECT_ENTRY_MINGROW_ADD: u32 = 16;
90pub const DUK_USE_HOBJECT_ENTRY_MINGROW_DIVISOR: u32 = 8;
91pub const DUK_USE_HOBJECT_HASH_PROP_LIMIT: u32 = 8;
92pub const DUK_USE_JSON_DEC_RECLIMIT: u32 = 1000;
93pub const DUK_USE_JSON_ENC_RECLIMIT: u32 = 1000;
94pub const DUK_USE_LITCACHE_SIZE: u32 = 256;
95pub const DUK_USE_MARK_AND_SWEEP_RECLIMIT: u32 = 256;
96pub const DUK_USE_NATIVE_CALL_RECLIMIT: u32 = 1000;
97pub const DUK_USE_REGEXP_COMPILER_RECLIMIT: u32 = 10000;
98pub const DUK_USE_REGEXP_EXECUTOR_RECLIMIT: u32 = 10000;
99pub const DUK_USE_ROM_PTRCOMP_FIRST: u32 = 63488;
100pub const DUK_USE_STRHASH_SKIP_SHIFT: u32 = 5;
101pub const DUK_USE_STRTAB_GROW_LIMIT: u32 = 17;
102pub const DUK_USE_STRTAB_MAXSIZE: u32 = 268435456;
103pub const DUK_USE_STRTAB_MINSIZE: u32 = 1024;
104pub const DUK_USE_STRTAB_RESIZE_CHECK_MASK: u32 = 255;
105pub const DUK_USE_STRTAB_SHRINK_LIMIT: u32 = 6;
106pub const DUK_USE_TARGET_INFO: &'static [u8; 8usize] = b"unknown\0";
107pub const DUK_USE_TRACEBACK_DEPTH: u32 = 10;
108pub const DUK_USE_VALSTACK_GROW_SHIFT: u32 = 2;
109pub const DUK_USE_VALSTACK_LIMIT: u32 = 1000000;
110pub const DUK_USE_VALSTACK_SHRINK_CHECK_SHIFT: u32 = 2;
111pub const DUK_USE_VALSTACK_SHRINK_SLACK_SHIFT: u32 = 4;
112pub const DUK_DEBUG_PROTOCOL_VERSION: u32 = 2;
113pub const DUK_API_ENTRY_STACK: u32 = 64;
114pub const DUK_TYPE_MIN: u32 = 0;
115pub const DUK_TYPE_NONE: u32 = 0;
116pub const DUK_TYPE_UNDEFINED: u32 = 1;
117pub const DUK_TYPE_NULL: u32 = 2;
118pub const DUK_TYPE_BOOLEAN: u32 = 3;
119pub const DUK_TYPE_NUMBER: u32 = 4;
120pub const DUK_TYPE_STRING: u32 = 5;
121pub const DUK_TYPE_OBJECT: u32 = 6;
122pub const DUK_TYPE_BUFFER: u32 = 7;
123pub const DUK_TYPE_POINTER: u32 = 8;
124pub const DUK_TYPE_LIGHTFUNC: u32 = 9;
125pub const DUK_TYPE_MAX: u32 = 9;
126pub const DUK_TYPE_MASK_NONE: u32 = 1;
127pub const DUK_TYPE_MASK_UNDEFINED: u32 = 2;
128pub const DUK_TYPE_MASK_NULL: u32 = 4;
129pub const DUK_TYPE_MASK_BOOLEAN: u32 = 8;
130pub const DUK_TYPE_MASK_NUMBER: u32 = 16;
131pub const DUK_TYPE_MASK_STRING: u32 = 32;
132pub const DUK_TYPE_MASK_OBJECT: u32 = 64;
133pub const DUK_TYPE_MASK_BUFFER: u32 = 128;
134pub const DUK_TYPE_MASK_POINTER: u32 = 256;
135pub const DUK_TYPE_MASK_LIGHTFUNC: u32 = 512;
136pub const DUK_TYPE_MASK_THROW: u32 = 1024;
137pub const DUK_TYPE_MASK_PROMOTE: u32 = 2048;
138pub const DUK_HINT_NONE: u32 = 0;
139pub const DUK_HINT_STRING: u32 = 1;
140pub const DUK_HINT_NUMBER: u32 = 2;
141pub const DUK_ENUM_INCLUDE_NONENUMERABLE: u32 = 1;
142pub const DUK_ENUM_INCLUDE_HIDDEN: u32 = 2;
143pub const DUK_ENUM_INCLUDE_SYMBOLS: u32 = 4;
144pub const DUK_ENUM_EXCLUDE_STRINGS: u32 = 8;
145pub const DUK_ENUM_OWN_PROPERTIES_ONLY: u32 = 16;
146pub const DUK_ENUM_ARRAY_INDICES_ONLY: u32 = 32;
147pub const DUK_ENUM_SORT_ARRAY_INDICES: u32 = 64;
148pub const DUK_ENUM_NO_PROXY_BEHAVIOR: u32 = 128;
149pub const DUK_COMPILE_EVAL: u32 = 8;
150pub const DUK_COMPILE_FUNCTION: u32 = 16;
151pub const DUK_COMPILE_STRICT: u32 = 32;
152pub const DUK_COMPILE_SHEBANG: u32 = 64;
153pub const DUK_COMPILE_SAFE: u32 = 128;
154pub const DUK_COMPILE_NORESULT: u32 = 256;
155pub const DUK_COMPILE_NOSOURCE: u32 = 512;
156pub const DUK_COMPILE_STRLEN: u32 = 1024;
157pub const DUK_COMPILE_NOFILENAME: u32 = 2048;
158pub const DUK_COMPILE_FUNCEXPR: u32 = 4096;
159pub const DUK_DEFPROP_WRITABLE: u32 = 1;
160pub const DUK_DEFPROP_ENUMERABLE: u32 = 2;
161pub const DUK_DEFPROP_CONFIGURABLE: u32 = 4;
162pub const DUK_DEFPROP_HAVE_WRITABLE: u32 = 8;
163pub const DUK_DEFPROP_HAVE_ENUMERABLE: u32 = 16;
164pub const DUK_DEFPROP_HAVE_CONFIGURABLE: u32 = 32;
165pub const DUK_DEFPROP_HAVE_VALUE: u32 = 64;
166pub const DUK_DEFPROP_HAVE_GETTER: u32 = 128;
167pub const DUK_DEFPROP_HAVE_SETTER: u32 = 256;
168pub const DUK_DEFPROP_FORCE: u32 = 512;
169pub const DUK_DEFPROP_SET_WRITABLE: u32 = 9;
170pub const DUK_DEFPROP_CLEAR_WRITABLE: u32 = 8;
171pub const DUK_DEFPROP_SET_ENUMERABLE: u32 = 18;
172pub const DUK_DEFPROP_CLEAR_ENUMERABLE: u32 = 16;
173pub const DUK_DEFPROP_SET_CONFIGURABLE: u32 = 36;
174pub const DUK_DEFPROP_CLEAR_CONFIGURABLE: u32 = 32;
175pub const DUK_DEFPROP_W: u32 = 1;
176pub const DUK_DEFPROP_E: u32 = 2;
177pub const DUK_DEFPROP_C: u32 = 4;
178pub const DUK_DEFPROP_WE: u32 = 3;
179pub const DUK_DEFPROP_WC: u32 = 5;
180pub const DUK_DEFPROP_EC: u32 = 6;
181pub const DUK_DEFPROP_WEC: u32 = 7;
182pub const DUK_DEFPROP_HAVE_W: u32 = 8;
183pub const DUK_DEFPROP_HAVE_E: u32 = 16;
184pub const DUK_DEFPROP_HAVE_C: u32 = 32;
185pub const DUK_DEFPROP_HAVE_WE: u32 = 24;
186pub const DUK_DEFPROP_HAVE_WC: u32 = 40;
187pub const DUK_DEFPROP_HAVE_EC: u32 = 48;
188pub const DUK_DEFPROP_HAVE_WEC: u32 = 56;
189pub const DUK_DEFPROP_SET_W: u32 = 9;
190pub const DUK_DEFPROP_SET_E: u32 = 18;
191pub const DUK_DEFPROP_SET_C: u32 = 36;
192pub const DUK_DEFPROP_SET_WE: u32 = 27;
193pub const DUK_DEFPROP_SET_WC: u32 = 45;
194pub const DUK_DEFPROP_SET_EC: u32 = 54;
195pub const DUK_DEFPROP_SET_WEC: u32 = 63;
196pub const DUK_DEFPROP_CLEAR_W: u32 = 8;
197pub const DUK_DEFPROP_CLEAR_E: u32 = 16;
198pub const DUK_DEFPROP_CLEAR_C: u32 = 32;
199pub const DUK_DEFPROP_CLEAR_WE: u32 = 24;
200pub const DUK_DEFPROP_CLEAR_WC: u32 = 40;
201pub const DUK_DEFPROP_CLEAR_EC: u32 = 48;
202pub const DUK_DEFPROP_CLEAR_WEC: u32 = 56;
203pub const DUK_DEFPROP_ATTR_W: u32 = 57;
204pub const DUK_DEFPROP_ATTR_E: u32 = 58;
205pub const DUK_DEFPROP_ATTR_C: u32 = 60;
206pub const DUK_DEFPROP_ATTR_WE: u32 = 59;
207pub const DUK_DEFPROP_ATTR_WC: u32 = 61;
208pub const DUK_DEFPROP_ATTR_EC: u32 = 62;
209pub const DUK_DEFPROP_ATTR_WEC: u32 = 63;
210pub const DUK_THREAD_NEW_GLOBAL_ENV: u32 = 1;
211pub const DUK_GC_COMPACT: u32 = 1;
212pub const DUK_ERR_NONE: u32 = 0;
213pub const DUK_ERR_ERROR: u32 = 1;
214pub const DUK_ERR_EVAL_ERROR: u32 = 2;
215pub const DUK_ERR_RANGE_ERROR: u32 = 3;
216pub const DUK_ERR_REFERENCE_ERROR: u32 = 4;
217pub const DUK_ERR_SYNTAX_ERROR: u32 = 5;
218pub const DUK_ERR_TYPE_ERROR: u32 = 6;
219pub const DUK_ERR_URI_ERROR: u32 = 7;
220pub const DUK_RET_ERROR: i32 = -1;
221pub const DUK_RET_EVAL_ERROR: i32 = -2;
222pub const DUK_RET_RANGE_ERROR: i32 = -3;
223pub const DUK_RET_REFERENCE_ERROR: i32 = -4;
224pub const DUK_RET_SYNTAX_ERROR: i32 = -5;
225pub const DUK_RET_TYPE_ERROR: i32 = -6;
226pub const DUK_RET_URI_ERROR: i32 = -7;
227pub const DUK_EXEC_SUCCESS: u32 = 0;
228pub const DUK_EXEC_ERROR: u32 = 1;
229pub const DUK_LEVEL_DEBUG: u32 = 0;
230pub const DUK_LEVEL_DDEBUG: u32 = 1;
231pub const DUK_LEVEL_DDDEBUG: u32 = 2;
232pub const DUK_BUF_FLAG_DYNAMIC: u32 = 1;
233pub const DUK_BUF_FLAG_EXTERNAL: u32 = 2;
234pub const DUK_BUF_FLAG_NOZERO: u32 = 4;
235pub const DUK_BUFOBJ_ARRAYBUFFER: u32 = 0;
236pub const DUK_BUFOBJ_NODEJS_BUFFER: u32 = 1;
237pub const DUK_BUFOBJ_DATAVIEW: u32 = 2;
238pub const DUK_BUFOBJ_INT8ARRAY: u32 = 3;
239pub const DUK_BUFOBJ_UINT8ARRAY: u32 = 4;
240pub const DUK_BUFOBJ_UINT8CLAMPEDARRAY: u32 = 5;
241pub const DUK_BUFOBJ_INT16ARRAY: u32 = 6;
242pub const DUK_BUFOBJ_UINT16ARRAY: u32 = 7;
243pub const DUK_BUFOBJ_INT32ARRAY: u32 = 8;
244pub const DUK_BUFOBJ_UINT32ARRAY: u32 = 9;
245pub const DUK_BUFOBJ_FLOAT32ARRAY: u32 = 10;
246pub const DUK_BUFOBJ_FLOAT64ARRAY: u32 = 11;
247pub const DUK_BUF_MODE_FIXED: u32 = 0;
248pub const DUK_BUF_MODE_DYNAMIC: u32 = 1;
249pub const DUK_BUF_MODE_DONTCARE: u32 = 2;
250pub const DUK_DATE_MSEC_SECOND: u32 = 1000;
251pub const DUK_DATE_MSEC_MINUTE: u32 = 60000;
252pub const DUK_DATE_MSEC_HOUR: u32 = 3600000;
253pub const DUK_DATE_MSEC_DAY: u32 = 86400000;
254pub const DUK_DATE_MIN_ECMA_YEAR: i32 = -271821;
255pub const DUK_DATE_MAX_ECMA_YEAR: u32 = 275760;
256pub const DUK_DATE_IDX_YEAR: u32 = 0;
257pub const DUK_DATE_IDX_MONTH: u32 = 1;
258pub const DUK_DATE_IDX_DAY: u32 = 2;
259pub const DUK_DATE_IDX_HOUR: u32 = 3;
260pub const DUK_DATE_IDX_MINUTE: u32 = 4;
261pub const DUK_DATE_IDX_SECOND: u32 = 5;
262pub const DUK_DATE_IDX_MILLISECOND: u32 = 6;
263pub const DUK_DATE_IDX_WEEKDAY: u32 = 7;
264pub const DUK_DATE_IDX_NUM_PARTS: u32 = 8;
265pub const DUK_DATE_FLAG_NAN_TO_ZERO: u32 = 1;
266pub const DUK_DATE_FLAG_NAN_TO_RANGE_ERROR: u32 = 2;
267pub const DUK_DATE_FLAG_ONEBASED: u32 = 4;
268pub const DUK_DATE_FLAG_EQUIVYEAR: u32 = 8;
269pub const DUK_DATE_FLAG_LOCALTIME: u32 = 16;
270pub const DUK_DATE_FLAG_SUB1900: u32 = 32;
271pub const DUK_DATE_FLAG_TOSTRING_DATE: u32 = 64;
272pub const DUK_DATE_FLAG_TOSTRING_TIME: u32 = 128;
273pub const DUK_DATE_FLAG_TOSTRING_LOCALE: u32 = 256;
274pub const DUK_DATE_FLAG_TIMESETTER: u32 = 512;
275pub const DUK_DATE_FLAG_YEAR_FIXUP: u32 = 1024;
276pub const DUK_DATE_FLAG_SEP_T: u32 = 2048;
277pub const DUK_DATE_FLAG_VALUE_SHIFT: u32 = 12;
278pub const DUK_LOG_TRACE: u32 = 0;
279pub const DUK_LOG_DEBUG: u32 = 1;
280pub const DUK_LOG_INFO: u32 = 2;
281pub const DUK_LOG_WARN: u32 = 3;
282pub const DUK_LOG_ERROR: u32 = 4;
283pub const DUK_LOG_FATAL: u32 = 5;
284pub type __int8_t = ::std::os::raw::c_schar;
285pub type __uint8_t = ::std::os::raw::c_uchar;
286pub type __int16_t = ::std::os::raw::c_short;
287pub type __uint16_t = ::std::os::raw::c_ushort;
288pub type __int32_t = ::std::os::raw::c_int;
289pub type __uint32_t = ::std::os::raw::c_uint;
290pub type __int64_t = ::std::os::raw::c_long;
291pub type __uint64_t = ::std::os::raw::c_ulong;
292pub type __int_least8_t = __int8_t;
293pub type __uint_least8_t = __uint8_t;
294pub type __int_least16_t = __int16_t;
295pub type __uint_least16_t = __uint16_t;
296pub type __int_least32_t = __int32_t;
297pub type __uint_least32_t = __uint32_t;
298pub type __int_least64_t = __int64_t;
299pub type __uint_least64_t = __uint64_t;
300pub type __intmax_t = ::std::os::raw::c_long;
301pub type __uintmax_t = ::std::os::raw::c_ulong;
302pub type int_least8_t = __int_least8_t;
303pub type int_least16_t = __int_least16_t;
304pub type int_least32_t = __int_least32_t;
305pub type int_least64_t = __int_least64_t;
306pub type uint_least8_t = __uint_least8_t;
307pub type uint_least16_t = __uint_least16_t;
308pub type uint_least32_t = __uint_least32_t;
309pub type uint_least64_t = __uint_least64_t;
310pub type int_fast8_t = ::std::os::raw::c_schar;
311pub type int_fast16_t = ::std::os::raw::c_long;
312pub type int_fast32_t = ::std::os::raw::c_long;
313pub type int_fast64_t = ::std::os::raw::c_long;
314pub type uint_fast8_t = ::std::os::raw::c_uchar;
315pub type uint_fast16_t = ::std::os::raw::c_ulong;
316pub type uint_fast32_t = ::std::os::raw::c_ulong;
317pub type uint_fast64_t = ::std::os::raw::c_ulong;
318pub type intmax_t = __intmax_t;
319pub type uintmax_t = __uintmax_t;
320pub type va_list = __builtin_va_list;
321pub type duk_uint8_t = u8;
322pub type duk_int8_t = i8;
323pub type duk_uint16_t = u16;
324pub type duk_int16_t = i16;
325pub type duk_uint32_t = u32;
326pub type duk_int32_t = i32;
327pub type duk_uint64_t = u64;
328pub type duk_int64_t = i64;
329pub type duk_uint_least8_t = uint_least8_t;
330pub type duk_int_least8_t = int_least8_t;
331pub type duk_uint_least16_t = uint_least16_t;
332pub type duk_int_least16_t = int_least16_t;
333pub type duk_uint_least32_t = uint_least32_t;
334pub type duk_int_least32_t = int_least32_t;
335pub type duk_uint_least64_t = uint_least64_t;
336pub type duk_int_least64_t = int_least64_t;
337pub type duk_uint_fast8_t = uint_fast8_t;
338pub type duk_int_fast8_t = int_fast8_t;
339pub type duk_uint_fast16_t = uint_fast16_t;
340pub type duk_int_fast16_t = int_fast16_t;
341pub type duk_uint_fast32_t = uint_fast32_t;
342pub type duk_int_fast32_t = int_fast32_t;
343pub type duk_uint_fast64_t = uint_fast64_t;
344pub type duk_int_fast64_t = int_fast64_t;
345pub type duk_uintptr_t = usize;
346pub type duk_intptr_t = isize;
347pub type duk_uintmax_t = uintmax_t;
348pub type duk_intmax_t = intmax_t;
349pub type duk_size_t = usize;
350pub type duk_ptrdiff_t = isize;
351pub type duk_int_t = ::std::os::raw::c_int;
352pub type duk_uint_t = ::std::os::raw::c_uint;
353pub type duk_int_fast_t = duk_int_fast32_t;
354pub type duk_uint_fast_t = duk_uint_fast32_t;
355pub type duk_small_int_t = ::std::os::raw::c_int;
356pub type duk_small_uint_t = ::std::os::raw::c_uint;
357pub type duk_small_int_fast_t = duk_int_fast16_t;
358pub type duk_small_uint_fast_t = duk_uint_fast16_t;
359pub type duk_bool_t = duk_small_uint_t;
360pub type duk_idx_t = duk_int_t;
361pub type duk_uidx_t = duk_uint_t;
362pub type duk_uarridx_t = duk_uint_t;
363pub type duk_ret_t = duk_small_int_t;
364pub type duk_errcode_t = duk_int_t;
365pub type duk_codepoint_t = duk_int_t;
366pub type duk_ucodepoint_t = duk_uint_t;
367pub type duk_float_t = f32;
368pub type duk_double_t = f64;
369#[repr(C)]
370#[derive(Debug, Copy, Clone)]
371pub struct duk_hthread {
372    _unused: [u8; 0],
373}
374pub type duk_context = duk_hthread;
375pub type duk_c_function =
376    ::std::option::Option<unsafe extern "C" fn(ctx: *mut duk_context) -> duk_ret_t>;
377pub type duk_alloc_function = ::std::option::Option<
378    unsafe extern "C" fn(
379        udata: *mut ::std::os::raw::c_void,
380        size: duk_size_t,
381    ) -> *mut ::std::os::raw::c_void,
382>;
383pub type duk_realloc_function = ::std::option::Option<
384    unsafe extern "C" fn(
385        udata: *mut ::std::os::raw::c_void,
386        ptr: *mut ::std::os::raw::c_void,
387        size: duk_size_t,
388    ) -> *mut ::std::os::raw::c_void,
389>;
390pub type duk_free_function = ::std::option::Option<
391    unsafe extern "C" fn(udata: *mut ::std::os::raw::c_void, ptr: *mut ::std::os::raw::c_void),
392>;
393pub type duk_fatal_function = ::std::option::Option<
394    unsafe extern "C" fn(udata: *mut ::std::os::raw::c_void, msg: *const ::std::os::raw::c_char),
395>;
396pub type duk_decode_char_function = ::std::option::Option<
397    unsafe extern "C" fn(udata: *mut ::std::os::raw::c_void, codepoint: duk_codepoint_t),
398>;
399pub type duk_map_char_function = ::std::option::Option<
400    unsafe extern "C" fn(
401        udata: *mut ::std::os::raw::c_void,
402        codepoint: duk_codepoint_t,
403    ) -> duk_codepoint_t,
404>;
405pub type duk_safe_call_function = ::std::option::Option<
406    unsafe extern "C" fn(ctx: *mut duk_context, udata: *mut ::std::os::raw::c_void) -> duk_ret_t,
407>;
408pub type duk_debug_read_function = ::std::option::Option<
409    unsafe extern "C" fn(
410        udata: *mut ::std::os::raw::c_void,
411        buffer: *mut ::std::os::raw::c_char,
412        length: duk_size_t,
413    ) -> duk_size_t,
414>;
415pub type duk_debug_write_function = ::std::option::Option<
416    unsafe extern "C" fn(
417        udata: *mut ::std::os::raw::c_void,
418        buffer: *const ::std::os::raw::c_char,
419        length: duk_size_t,
420    ) -> duk_size_t,
421>;
422pub type duk_debug_peek_function =
423    ::std::option::Option<unsafe extern "C" fn(udata: *mut ::std::os::raw::c_void) -> duk_size_t>;
424pub type duk_debug_read_flush_function =
425    ::std::option::Option<unsafe extern "C" fn(udata: *mut ::std::os::raw::c_void)>;
426pub type duk_debug_write_flush_function =
427    ::std::option::Option<unsafe extern "C" fn(udata: *mut ::std::os::raw::c_void)>;
428pub type duk_debug_request_function = ::std::option::Option<
429    unsafe extern "C" fn(
430        ctx: *mut duk_context,
431        udata: *mut ::std::os::raw::c_void,
432        nvalues: duk_idx_t,
433    ) -> duk_idx_t,
434>;
435pub type duk_debug_detached_function = ::std::option::Option<
436    unsafe extern "C" fn(ctx: *mut duk_context, udata: *mut ::std::os::raw::c_void),
437>;
438#[repr(C)]
439#[derive(Copy, Clone)]
440pub struct duk_thread_state {
441    pub data: [::std::os::raw::c_char; 128usize],
442}
443#[test]
444fn bindgen_test_layout_duk_thread_state() {
445    assert_eq!(
446        ::std::mem::size_of::<duk_thread_state>(),
447        128usize,
448        concat!("Size of: ", stringify!(duk_thread_state))
449    );
450    assert_eq!(
451        ::std::mem::align_of::<duk_thread_state>(),
452        1usize,
453        concat!("Alignment of ", stringify!(duk_thread_state))
454    );
455    assert_eq!(
456        unsafe { &(*(::std::ptr::null::<duk_thread_state>())).data as *const _ as usize },
457        0usize,
458        concat!(
459            "Offset of field: ",
460            stringify!(duk_thread_state),
461            "::",
462            stringify!(data)
463        )
464    );
465}
466#[repr(C)]
467#[derive(Debug, Copy, Clone)]
468pub struct duk_memory_functions {
469    pub alloc_func: duk_alloc_function,
470    pub realloc_func: duk_realloc_function,
471    pub free_func: duk_free_function,
472    pub udata: *mut ::std::os::raw::c_void,
473}
474#[test]
475fn bindgen_test_layout_duk_memory_functions() {
476    assert_eq!(
477        ::std::mem::size_of::<duk_memory_functions>(),
478        32usize,
479        concat!("Size of: ", stringify!(duk_memory_functions))
480    );
481    assert_eq!(
482        ::std::mem::align_of::<duk_memory_functions>(),
483        8usize,
484        concat!("Alignment of ", stringify!(duk_memory_functions))
485    );
486    assert_eq!(
487        unsafe { &(*(::std::ptr::null::<duk_memory_functions>())).alloc_func as *const _ as usize },
488        0usize,
489        concat!(
490            "Offset of field: ",
491            stringify!(duk_memory_functions),
492            "::",
493            stringify!(alloc_func)
494        )
495    );
496    assert_eq!(
497        unsafe {
498            &(*(::std::ptr::null::<duk_memory_functions>())).realloc_func as *const _ as usize
499        },
500        8usize,
501        concat!(
502            "Offset of field: ",
503            stringify!(duk_memory_functions),
504            "::",
505            stringify!(realloc_func)
506        )
507    );
508    assert_eq!(
509        unsafe { &(*(::std::ptr::null::<duk_memory_functions>())).free_func as *const _ as usize },
510        16usize,
511        concat!(
512            "Offset of field: ",
513            stringify!(duk_memory_functions),
514            "::",
515            stringify!(free_func)
516        )
517    );
518    assert_eq!(
519        unsafe { &(*(::std::ptr::null::<duk_memory_functions>())).udata as *const _ as usize },
520        24usize,
521        concat!(
522            "Offset of field: ",
523            stringify!(duk_memory_functions),
524            "::",
525            stringify!(udata)
526        )
527    );
528}
529#[repr(C)]
530#[derive(Debug, Copy, Clone)]
531pub struct duk_function_list_entry {
532    pub key: *const ::std::os::raw::c_char,
533    pub value: duk_c_function,
534    pub nargs: duk_idx_t,
535}
536#[test]
537fn bindgen_test_layout_duk_function_list_entry() {
538    assert_eq!(
539        ::std::mem::size_of::<duk_function_list_entry>(),
540        24usize,
541        concat!("Size of: ", stringify!(duk_function_list_entry))
542    );
543    assert_eq!(
544        ::std::mem::align_of::<duk_function_list_entry>(),
545        8usize,
546        concat!("Alignment of ", stringify!(duk_function_list_entry))
547    );
548    assert_eq!(
549        unsafe { &(*(::std::ptr::null::<duk_function_list_entry>())).key as *const _ as usize },
550        0usize,
551        concat!(
552            "Offset of field: ",
553            stringify!(duk_function_list_entry),
554            "::",
555            stringify!(key)
556        )
557    );
558    assert_eq!(
559        unsafe { &(*(::std::ptr::null::<duk_function_list_entry>())).value as *const _ as usize },
560        8usize,
561        concat!(
562            "Offset of field: ",
563            stringify!(duk_function_list_entry),
564            "::",
565            stringify!(value)
566        )
567    );
568    assert_eq!(
569        unsafe { &(*(::std::ptr::null::<duk_function_list_entry>())).nargs as *const _ as usize },
570        16usize,
571        concat!(
572            "Offset of field: ",
573            stringify!(duk_function_list_entry),
574            "::",
575            stringify!(nargs)
576        )
577    );
578}
579#[repr(C)]
580#[derive(Debug, Copy, Clone)]
581pub struct duk_number_list_entry {
582    pub key: *const ::std::os::raw::c_char,
583    pub value: duk_double_t,
584}
585#[test]
586fn bindgen_test_layout_duk_number_list_entry() {
587    assert_eq!(
588        ::std::mem::size_of::<duk_number_list_entry>(),
589        16usize,
590        concat!("Size of: ", stringify!(duk_number_list_entry))
591    );
592    assert_eq!(
593        ::std::mem::align_of::<duk_number_list_entry>(),
594        8usize,
595        concat!("Alignment of ", stringify!(duk_number_list_entry))
596    );
597    assert_eq!(
598        unsafe { &(*(::std::ptr::null::<duk_number_list_entry>())).key as *const _ as usize },
599        0usize,
600        concat!(
601            "Offset of field: ",
602            stringify!(duk_number_list_entry),
603            "::",
604            stringify!(key)
605        )
606    );
607    assert_eq!(
608        unsafe { &(*(::std::ptr::null::<duk_number_list_entry>())).value as *const _ as usize },
609        8usize,
610        concat!(
611            "Offset of field: ",
612            stringify!(duk_number_list_entry),
613            "::",
614            stringify!(value)
615        )
616    );
617}
618#[repr(C)]
619#[derive(Debug, Copy, Clone)]
620pub struct duk_time_components {
621    pub year: duk_double_t,
622    pub month: duk_double_t,
623    pub day: duk_double_t,
624    pub hours: duk_double_t,
625    pub minutes: duk_double_t,
626    pub seconds: duk_double_t,
627    pub milliseconds: duk_double_t,
628    pub weekday: duk_double_t,
629}
630#[test]
631fn bindgen_test_layout_duk_time_components() {
632    assert_eq!(
633        ::std::mem::size_of::<duk_time_components>(),
634        64usize,
635        concat!("Size of: ", stringify!(duk_time_components))
636    );
637    assert_eq!(
638        ::std::mem::align_of::<duk_time_components>(),
639        8usize,
640        concat!("Alignment of ", stringify!(duk_time_components))
641    );
642    assert_eq!(
643        unsafe { &(*(::std::ptr::null::<duk_time_components>())).year as *const _ as usize },
644        0usize,
645        concat!(
646            "Offset of field: ",
647            stringify!(duk_time_components),
648            "::",
649            stringify!(year)
650        )
651    );
652    assert_eq!(
653        unsafe { &(*(::std::ptr::null::<duk_time_components>())).month as *const _ as usize },
654        8usize,
655        concat!(
656            "Offset of field: ",
657            stringify!(duk_time_components),
658            "::",
659            stringify!(month)
660        )
661    );
662    assert_eq!(
663        unsafe { &(*(::std::ptr::null::<duk_time_components>())).day as *const _ as usize },
664        16usize,
665        concat!(
666            "Offset of field: ",
667            stringify!(duk_time_components),
668            "::",
669            stringify!(day)
670        )
671    );
672    assert_eq!(
673        unsafe { &(*(::std::ptr::null::<duk_time_components>())).hours as *const _ as usize },
674        24usize,
675        concat!(
676            "Offset of field: ",
677            stringify!(duk_time_components),
678            "::",
679            stringify!(hours)
680        )
681    );
682    assert_eq!(
683        unsafe { &(*(::std::ptr::null::<duk_time_components>())).minutes as *const _ as usize },
684        32usize,
685        concat!(
686            "Offset of field: ",
687            stringify!(duk_time_components),
688            "::",
689            stringify!(minutes)
690        )
691    );
692    assert_eq!(
693        unsafe { &(*(::std::ptr::null::<duk_time_components>())).seconds as *const _ as usize },
694        40usize,
695        concat!(
696            "Offset of field: ",
697            stringify!(duk_time_components),
698            "::",
699            stringify!(seconds)
700        )
701    );
702    assert_eq!(
703        unsafe {
704            &(*(::std::ptr::null::<duk_time_components>())).milliseconds as *const _ as usize
705        },
706        48usize,
707        concat!(
708            "Offset of field: ",
709            stringify!(duk_time_components),
710            "::",
711            stringify!(milliseconds)
712        )
713    );
714    assert_eq!(
715        unsafe { &(*(::std::ptr::null::<duk_time_components>())).weekday as *const _ as usize },
716        56usize,
717        concat!(
718            "Offset of field: ",
719            stringify!(duk_time_components),
720            "::",
721            stringify!(weekday)
722        )
723    );
724}
725extern "C" {
726    pub fn duk_create_heap(
727        alloc_func: duk_alloc_function,
728        realloc_func: duk_realloc_function,
729        free_func: duk_free_function,
730        heap_udata: *mut ::std::os::raw::c_void,
731        fatal_handler: duk_fatal_function,
732    ) -> *mut duk_context;
733}
734extern "C" {
735    pub fn duk_destroy_heap(ctx: *mut duk_context);
736}
737extern "C" {
738    pub fn duk_suspend(ctx: *mut duk_context, state: *mut duk_thread_state);
739}
740extern "C" {
741    pub fn duk_resume(ctx: *mut duk_context, state: *const duk_thread_state);
742}
743extern "C" {
744    pub fn duk_alloc_raw(ctx: *mut duk_context, size: duk_size_t) -> *mut ::std::os::raw::c_void;
745}
746extern "C" {
747    pub fn duk_free_raw(ctx: *mut duk_context, ptr: *mut ::std::os::raw::c_void);
748}
749extern "C" {
750    pub fn duk_realloc_raw(
751        ctx: *mut duk_context,
752        ptr: *mut ::std::os::raw::c_void,
753        size: duk_size_t,
754    ) -> *mut ::std::os::raw::c_void;
755}
756extern "C" {
757    pub fn duk_alloc(ctx: *mut duk_context, size: duk_size_t) -> *mut ::std::os::raw::c_void;
758}
759extern "C" {
760    pub fn duk_free(ctx: *mut duk_context, ptr: *mut ::std::os::raw::c_void);
761}
762extern "C" {
763    pub fn duk_realloc(
764        ctx: *mut duk_context,
765        ptr: *mut ::std::os::raw::c_void,
766        size: duk_size_t,
767    ) -> *mut ::std::os::raw::c_void;
768}
769extern "C" {
770    pub fn duk_get_memory_functions(ctx: *mut duk_context, out_funcs: *mut duk_memory_functions);
771}
772extern "C" {
773    pub fn duk_gc(ctx: *mut duk_context, flags: duk_uint_t);
774}
775extern "C" {
776    pub fn duk_throw_raw(ctx: *mut duk_context);
777}
778extern "C" {
779    pub fn duk_fatal_raw(ctx: *mut duk_context, err_msg: *const ::std::os::raw::c_char);
780}
781extern "C" {
782    pub fn duk_error_raw(
783        ctx: *mut duk_context,
784        err_code: duk_errcode_t,
785        filename: *const ::std::os::raw::c_char,
786        line: duk_int_t,
787        fmt: *const ::std::os::raw::c_char,
788        ...
789    );
790}
791extern "C" {
792    pub fn duk_error_va_raw(
793        ctx: *mut duk_context,
794        err_code: duk_errcode_t,
795        filename: *const ::std::os::raw::c_char,
796        line: duk_int_t,
797        fmt: *const ::std::os::raw::c_char,
798        ap: *mut __va_list_tag,
799    );
800}
801extern "C" {
802    pub fn duk_is_strict_call(ctx: *mut duk_context) -> duk_bool_t;
803}
804extern "C" {
805    pub fn duk_is_constructor_call(ctx: *mut duk_context) -> duk_bool_t;
806}
807extern "C" {
808    pub fn duk_normalize_index(ctx: *mut duk_context, idx: duk_idx_t) -> duk_idx_t;
809}
810extern "C" {
811    pub fn duk_require_normalize_index(ctx: *mut duk_context, idx: duk_idx_t) -> duk_idx_t;
812}
813extern "C" {
814    pub fn duk_is_valid_index(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
815}
816extern "C" {
817    pub fn duk_require_valid_index(ctx: *mut duk_context, idx: duk_idx_t);
818}
819extern "C" {
820    pub fn duk_get_top(ctx: *mut duk_context) -> duk_idx_t;
821}
822extern "C" {
823    pub fn duk_set_top(ctx: *mut duk_context, idx: duk_idx_t);
824}
825extern "C" {
826    pub fn duk_get_top_index(ctx: *mut duk_context) -> duk_idx_t;
827}
828extern "C" {
829    pub fn duk_require_top_index(ctx: *mut duk_context) -> duk_idx_t;
830}
831extern "C" {
832    pub fn duk_check_stack(ctx: *mut duk_context, extra: duk_idx_t) -> duk_bool_t;
833}
834extern "C" {
835    pub fn duk_require_stack(ctx: *mut duk_context, extra: duk_idx_t);
836}
837extern "C" {
838    pub fn duk_check_stack_top(ctx: *mut duk_context, top: duk_idx_t) -> duk_bool_t;
839}
840extern "C" {
841    pub fn duk_require_stack_top(ctx: *mut duk_context, top: duk_idx_t);
842}
843extern "C" {
844    pub fn duk_swap(ctx: *mut duk_context, idx1: duk_idx_t, idx2: duk_idx_t);
845}
846extern "C" {
847    pub fn duk_swap_top(ctx: *mut duk_context, idx: duk_idx_t);
848}
849extern "C" {
850    pub fn duk_dup(ctx: *mut duk_context, from_idx: duk_idx_t);
851}
852extern "C" {
853    pub fn duk_dup_top(ctx: *mut duk_context);
854}
855extern "C" {
856    pub fn duk_insert(ctx: *mut duk_context, to_idx: duk_idx_t);
857}
858extern "C" {
859    pub fn duk_pull(ctx: *mut duk_context, from_idx: duk_idx_t);
860}
861extern "C" {
862    pub fn duk_replace(ctx: *mut duk_context, to_idx: duk_idx_t);
863}
864extern "C" {
865    pub fn duk_copy(ctx: *mut duk_context, from_idx: duk_idx_t, to_idx: duk_idx_t);
866}
867extern "C" {
868    pub fn duk_remove(ctx: *mut duk_context, idx: duk_idx_t);
869}
870extern "C" {
871    pub fn duk_xcopymove_raw(
872        to_ctx: *mut duk_context,
873        from_ctx: *mut duk_context,
874        count: duk_idx_t,
875        is_copy: duk_bool_t,
876    );
877}
878extern "C" {
879    pub fn duk_push_undefined(ctx: *mut duk_context);
880}
881extern "C" {
882    pub fn duk_push_null(ctx: *mut duk_context);
883}
884extern "C" {
885    pub fn duk_push_boolean(ctx: *mut duk_context, val: duk_bool_t);
886}
887extern "C" {
888    pub fn duk_push_true(ctx: *mut duk_context);
889}
890extern "C" {
891    pub fn duk_push_false(ctx: *mut duk_context);
892}
893extern "C" {
894    pub fn duk_push_number(ctx: *mut duk_context, val: duk_double_t);
895}
896extern "C" {
897    pub fn duk_push_nan(ctx: *mut duk_context);
898}
899extern "C" {
900    pub fn duk_push_int(ctx: *mut duk_context, val: duk_int_t);
901}
902extern "C" {
903    pub fn duk_push_uint(ctx: *mut duk_context, val: duk_uint_t);
904}
905extern "C" {
906    pub fn duk_push_string(
907        ctx: *mut duk_context,
908        str: *const ::std::os::raw::c_char,
909    ) -> *const ::std::os::raw::c_char;
910}
911extern "C" {
912    pub fn duk_push_lstring(
913        ctx: *mut duk_context,
914        str: *const ::std::os::raw::c_char,
915        len: duk_size_t,
916    ) -> *const ::std::os::raw::c_char;
917}
918extern "C" {
919    pub fn duk_push_pointer(ctx: *mut duk_context, p: *mut ::std::os::raw::c_void);
920}
921extern "C" {
922    pub fn duk_push_sprintf(
923        ctx: *mut duk_context,
924        fmt: *const ::std::os::raw::c_char,
925        ...
926    ) -> *const ::std::os::raw::c_char;
927}
928extern "C" {
929    pub fn duk_push_vsprintf(
930        ctx: *mut duk_context,
931        fmt: *const ::std::os::raw::c_char,
932        ap: *mut __va_list_tag,
933    ) -> *const ::std::os::raw::c_char;
934}
935extern "C" {
936    pub fn duk_push_literal_raw(
937        ctx: *mut duk_context,
938        str: *const ::std::os::raw::c_char,
939        len: duk_size_t,
940    ) -> *const ::std::os::raw::c_char;
941}
942extern "C" {
943    pub fn duk_push_this(ctx: *mut duk_context);
944}
945extern "C" {
946    pub fn duk_push_new_target(ctx: *mut duk_context);
947}
948extern "C" {
949    pub fn duk_push_current_function(ctx: *mut duk_context);
950}
951extern "C" {
952    pub fn duk_push_current_thread(ctx: *mut duk_context);
953}
954extern "C" {
955    pub fn duk_push_global_object(ctx: *mut duk_context);
956}
957extern "C" {
958    pub fn duk_push_heap_stash(ctx: *mut duk_context);
959}
960extern "C" {
961    pub fn duk_push_global_stash(ctx: *mut duk_context);
962}
963extern "C" {
964    pub fn duk_push_thread_stash(ctx: *mut duk_context, target_ctx: *mut duk_context);
965}
966extern "C" {
967    pub fn duk_push_object(ctx: *mut duk_context) -> duk_idx_t;
968}
969extern "C" {
970    pub fn duk_push_bare_object(ctx: *mut duk_context) -> duk_idx_t;
971}
972extern "C" {
973    pub fn duk_push_array(ctx: *mut duk_context) -> duk_idx_t;
974}
975extern "C" {
976    pub fn duk_push_bare_array(ctx: *mut duk_context) -> duk_idx_t;
977}
978extern "C" {
979    pub fn duk_push_c_function(
980        ctx: *mut duk_context,
981        func: duk_c_function,
982        nargs: duk_idx_t,
983    ) -> duk_idx_t;
984}
985extern "C" {
986    pub fn duk_push_c_lightfunc(
987        ctx: *mut duk_context,
988        func: duk_c_function,
989        nargs: duk_idx_t,
990        length: duk_idx_t,
991        magic: duk_int_t,
992    ) -> duk_idx_t;
993}
994extern "C" {
995    pub fn duk_push_thread_raw(ctx: *mut duk_context, flags: duk_uint_t) -> duk_idx_t;
996}
997extern "C" {
998    pub fn duk_push_proxy(ctx: *mut duk_context, proxy_flags: duk_uint_t) -> duk_idx_t;
999}
1000extern "C" {
1001    pub fn duk_push_error_object_raw(
1002        ctx: *mut duk_context,
1003        err_code: duk_errcode_t,
1004        filename: *const ::std::os::raw::c_char,
1005        line: duk_int_t,
1006        fmt: *const ::std::os::raw::c_char,
1007        ...
1008    ) -> duk_idx_t;
1009}
1010extern "C" {
1011    pub fn duk_push_error_object_va_raw(
1012        ctx: *mut duk_context,
1013        err_code: duk_errcode_t,
1014        filename: *const ::std::os::raw::c_char,
1015        line: duk_int_t,
1016        fmt: *const ::std::os::raw::c_char,
1017        ap: *mut __va_list_tag,
1018    ) -> duk_idx_t;
1019}
1020extern "C" {
1021    pub fn duk_push_buffer_raw(
1022        ctx: *mut duk_context,
1023        size: duk_size_t,
1024        flags: duk_small_uint_t,
1025    ) -> *mut ::std::os::raw::c_void;
1026}
1027extern "C" {
1028    pub fn duk_push_buffer_object(
1029        ctx: *mut duk_context,
1030        idx_buffer: duk_idx_t,
1031        byte_offset: duk_size_t,
1032        byte_length: duk_size_t,
1033        flags: duk_uint_t,
1034    );
1035}
1036extern "C" {
1037    pub fn duk_push_heapptr(ctx: *mut duk_context, ptr: *mut ::std::os::raw::c_void) -> duk_idx_t;
1038}
1039extern "C" {
1040    pub fn duk_pop(ctx: *mut duk_context);
1041}
1042extern "C" {
1043    pub fn duk_pop_n(ctx: *mut duk_context, count: duk_idx_t);
1044}
1045extern "C" {
1046    pub fn duk_pop_2(ctx: *mut duk_context);
1047}
1048extern "C" {
1049    pub fn duk_pop_3(ctx: *mut duk_context);
1050}
1051extern "C" {
1052    pub fn duk_get_type(ctx: *mut duk_context, idx: duk_idx_t) -> duk_int_t;
1053}
1054extern "C" {
1055    pub fn duk_check_type(ctx: *mut duk_context, idx: duk_idx_t, type_: duk_int_t) -> duk_bool_t;
1056}
1057extern "C" {
1058    pub fn duk_get_type_mask(ctx: *mut duk_context, idx: duk_idx_t) -> duk_uint_t;
1059}
1060extern "C" {
1061    pub fn duk_check_type_mask(
1062        ctx: *mut duk_context,
1063        idx: duk_idx_t,
1064        mask: duk_uint_t,
1065    ) -> duk_bool_t;
1066}
1067extern "C" {
1068    pub fn duk_is_undefined(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1069}
1070extern "C" {
1071    pub fn duk_is_null(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1072}
1073extern "C" {
1074    pub fn duk_is_boolean(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1075}
1076extern "C" {
1077    pub fn duk_is_number(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1078}
1079extern "C" {
1080    pub fn duk_is_nan(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1081}
1082extern "C" {
1083    pub fn duk_is_string(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1084}
1085extern "C" {
1086    pub fn duk_is_object(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1087}
1088extern "C" {
1089    pub fn duk_is_buffer(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1090}
1091extern "C" {
1092    pub fn duk_is_buffer_data(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1093}
1094extern "C" {
1095    pub fn duk_is_pointer(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1096}
1097extern "C" {
1098    pub fn duk_is_lightfunc(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1099}
1100extern "C" {
1101    pub fn duk_is_symbol(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1102}
1103extern "C" {
1104    pub fn duk_is_array(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1105}
1106extern "C" {
1107    pub fn duk_is_function(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1108}
1109extern "C" {
1110    pub fn duk_is_c_function(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1111}
1112extern "C" {
1113    pub fn duk_is_ecmascript_function(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1114}
1115extern "C" {
1116    pub fn duk_is_bound_function(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1117}
1118extern "C" {
1119    pub fn duk_is_thread(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1120}
1121extern "C" {
1122    pub fn duk_is_constructable(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1123}
1124extern "C" {
1125    pub fn duk_is_dynamic_buffer(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1126}
1127extern "C" {
1128    pub fn duk_is_fixed_buffer(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1129}
1130extern "C" {
1131    pub fn duk_is_external_buffer(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1132}
1133extern "C" {
1134    pub fn duk_get_error_code(ctx: *mut duk_context, idx: duk_idx_t) -> duk_errcode_t;
1135}
1136extern "C" {
1137    pub fn duk_get_boolean(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1138}
1139extern "C" {
1140    pub fn duk_get_number(ctx: *mut duk_context, idx: duk_idx_t) -> duk_double_t;
1141}
1142extern "C" {
1143    pub fn duk_get_int(ctx: *mut duk_context, idx: duk_idx_t) -> duk_int_t;
1144}
1145extern "C" {
1146    pub fn duk_get_uint(ctx: *mut duk_context, idx: duk_idx_t) -> duk_uint_t;
1147}
1148extern "C" {
1149    pub fn duk_get_string(ctx: *mut duk_context, idx: duk_idx_t) -> *const ::std::os::raw::c_char;
1150}
1151extern "C" {
1152    pub fn duk_get_lstring(
1153        ctx: *mut duk_context,
1154        idx: duk_idx_t,
1155        out_len: *mut duk_size_t,
1156    ) -> *const ::std::os::raw::c_char;
1157}
1158extern "C" {
1159    pub fn duk_get_buffer(
1160        ctx: *mut duk_context,
1161        idx: duk_idx_t,
1162        out_size: *mut duk_size_t,
1163    ) -> *mut ::std::os::raw::c_void;
1164}
1165extern "C" {
1166    pub fn duk_get_buffer_data(
1167        ctx: *mut duk_context,
1168        idx: duk_idx_t,
1169        out_size: *mut duk_size_t,
1170    ) -> *mut ::std::os::raw::c_void;
1171}
1172extern "C" {
1173    pub fn duk_get_pointer(ctx: *mut duk_context, idx: duk_idx_t) -> *mut ::std::os::raw::c_void;
1174}
1175extern "C" {
1176    pub fn duk_get_c_function(ctx: *mut duk_context, idx: duk_idx_t) -> duk_c_function;
1177}
1178extern "C" {
1179    pub fn duk_get_context(ctx: *mut duk_context, idx: duk_idx_t) -> *mut duk_context;
1180}
1181extern "C" {
1182    pub fn duk_get_heapptr(ctx: *mut duk_context, idx: duk_idx_t) -> *mut ::std::os::raw::c_void;
1183}
1184extern "C" {
1185    pub fn duk_get_boolean_default(
1186        ctx: *mut duk_context,
1187        idx: duk_idx_t,
1188        def_value: duk_bool_t,
1189    ) -> duk_bool_t;
1190}
1191extern "C" {
1192    pub fn duk_get_number_default(
1193        ctx: *mut duk_context,
1194        idx: duk_idx_t,
1195        def_value: duk_double_t,
1196    ) -> duk_double_t;
1197}
1198extern "C" {
1199    pub fn duk_get_int_default(
1200        ctx: *mut duk_context,
1201        idx: duk_idx_t,
1202        def_value: duk_int_t,
1203    ) -> duk_int_t;
1204}
1205extern "C" {
1206    pub fn duk_get_uint_default(
1207        ctx: *mut duk_context,
1208        idx: duk_idx_t,
1209        def_value: duk_uint_t,
1210    ) -> duk_uint_t;
1211}
1212extern "C" {
1213    pub fn duk_get_string_default(
1214        ctx: *mut duk_context,
1215        idx: duk_idx_t,
1216        def_value: *const ::std::os::raw::c_char,
1217    ) -> *const ::std::os::raw::c_char;
1218}
1219extern "C" {
1220    pub fn duk_get_lstring_default(
1221        ctx: *mut duk_context,
1222        idx: duk_idx_t,
1223        out_len: *mut duk_size_t,
1224        def_ptr: *const ::std::os::raw::c_char,
1225        def_len: duk_size_t,
1226    ) -> *const ::std::os::raw::c_char;
1227}
1228extern "C" {
1229    pub fn duk_get_buffer_default(
1230        ctx: *mut duk_context,
1231        idx: duk_idx_t,
1232        out_size: *mut duk_size_t,
1233        def_ptr: *mut ::std::os::raw::c_void,
1234        def_len: duk_size_t,
1235    ) -> *mut ::std::os::raw::c_void;
1236}
1237extern "C" {
1238    pub fn duk_get_buffer_data_default(
1239        ctx: *mut duk_context,
1240        idx: duk_idx_t,
1241        out_size: *mut duk_size_t,
1242        def_ptr: *mut ::std::os::raw::c_void,
1243        def_len: duk_size_t,
1244    ) -> *mut ::std::os::raw::c_void;
1245}
1246extern "C" {
1247    pub fn duk_get_pointer_default(
1248        ctx: *mut duk_context,
1249        idx: duk_idx_t,
1250        def_value: *mut ::std::os::raw::c_void,
1251    ) -> *mut ::std::os::raw::c_void;
1252}
1253extern "C" {
1254    pub fn duk_get_c_function_default(
1255        ctx: *mut duk_context,
1256        idx: duk_idx_t,
1257        def_value: duk_c_function,
1258    ) -> duk_c_function;
1259}
1260extern "C" {
1261    pub fn duk_get_context_default(
1262        ctx: *mut duk_context,
1263        idx: duk_idx_t,
1264        def_value: *mut duk_context,
1265    ) -> *mut duk_context;
1266}
1267extern "C" {
1268    pub fn duk_get_heapptr_default(
1269        ctx: *mut duk_context,
1270        idx: duk_idx_t,
1271        def_value: *mut ::std::os::raw::c_void,
1272    ) -> *mut ::std::os::raw::c_void;
1273}
1274extern "C" {
1275    pub fn duk_opt_boolean(
1276        ctx: *mut duk_context,
1277        idx: duk_idx_t,
1278        def_value: duk_bool_t,
1279    ) -> duk_bool_t;
1280}
1281extern "C" {
1282    pub fn duk_opt_number(
1283        ctx: *mut duk_context,
1284        idx: duk_idx_t,
1285        def_value: duk_double_t,
1286    ) -> duk_double_t;
1287}
1288extern "C" {
1289    pub fn duk_opt_int(ctx: *mut duk_context, idx: duk_idx_t, def_value: duk_int_t) -> duk_int_t;
1290}
1291extern "C" {
1292    pub fn duk_opt_uint(ctx: *mut duk_context, idx: duk_idx_t, def_value: duk_uint_t)
1293        -> duk_uint_t;
1294}
1295extern "C" {
1296    pub fn duk_opt_string(
1297        ctx: *mut duk_context,
1298        idx: duk_idx_t,
1299        def_ptr: *const ::std::os::raw::c_char,
1300    ) -> *const ::std::os::raw::c_char;
1301}
1302extern "C" {
1303    pub fn duk_opt_lstring(
1304        ctx: *mut duk_context,
1305        idx: duk_idx_t,
1306        out_len: *mut duk_size_t,
1307        def_ptr: *const ::std::os::raw::c_char,
1308        def_len: duk_size_t,
1309    ) -> *const ::std::os::raw::c_char;
1310}
1311extern "C" {
1312    pub fn duk_opt_buffer(
1313        ctx: *mut duk_context,
1314        idx: duk_idx_t,
1315        out_size: *mut duk_size_t,
1316        def_ptr: *mut ::std::os::raw::c_void,
1317        def_size: duk_size_t,
1318    ) -> *mut ::std::os::raw::c_void;
1319}
1320extern "C" {
1321    pub fn duk_opt_buffer_data(
1322        ctx: *mut duk_context,
1323        idx: duk_idx_t,
1324        out_size: *mut duk_size_t,
1325        def_ptr: *mut ::std::os::raw::c_void,
1326        def_size: duk_size_t,
1327    ) -> *mut ::std::os::raw::c_void;
1328}
1329extern "C" {
1330    pub fn duk_opt_pointer(
1331        ctx: *mut duk_context,
1332        idx: duk_idx_t,
1333        def_value: *mut ::std::os::raw::c_void,
1334    ) -> *mut ::std::os::raw::c_void;
1335}
1336extern "C" {
1337    pub fn duk_opt_c_function(
1338        ctx: *mut duk_context,
1339        idx: duk_idx_t,
1340        def_value: duk_c_function,
1341    ) -> duk_c_function;
1342}
1343extern "C" {
1344    pub fn duk_opt_context(
1345        ctx: *mut duk_context,
1346        idx: duk_idx_t,
1347        def_value: *mut duk_context,
1348    ) -> *mut duk_context;
1349}
1350extern "C" {
1351    pub fn duk_opt_heapptr(
1352        ctx: *mut duk_context,
1353        idx: duk_idx_t,
1354        def_value: *mut ::std::os::raw::c_void,
1355    ) -> *mut ::std::os::raw::c_void;
1356}
1357extern "C" {
1358    pub fn duk_require_undefined(ctx: *mut duk_context, idx: duk_idx_t);
1359}
1360extern "C" {
1361    pub fn duk_require_null(ctx: *mut duk_context, idx: duk_idx_t);
1362}
1363extern "C" {
1364    pub fn duk_require_boolean(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1365}
1366extern "C" {
1367    pub fn duk_require_number(ctx: *mut duk_context, idx: duk_idx_t) -> duk_double_t;
1368}
1369extern "C" {
1370    pub fn duk_require_int(ctx: *mut duk_context, idx: duk_idx_t) -> duk_int_t;
1371}
1372extern "C" {
1373    pub fn duk_require_uint(ctx: *mut duk_context, idx: duk_idx_t) -> duk_uint_t;
1374}
1375extern "C" {
1376    pub fn duk_require_string(
1377        ctx: *mut duk_context,
1378        idx: duk_idx_t,
1379    ) -> *const ::std::os::raw::c_char;
1380}
1381extern "C" {
1382    pub fn duk_require_lstring(
1383        ctx: *mut duk_context,
1384        idx: duk_idx_t,
1385        out_len: *mut duk_size_t,
1386    ) -> *const ::std::os::raw::c_char;
1387}
1388extern "C" {
1389    pub fn duk_require_object(ctx: *mut duk_context, idx: duk_idx_t);
1390}
1391extern "C" {
1392    pub fn duk_require_buffer(
1393        ctx: *mut duk_context,
1394        idx: duk_idx_t,
1395        out_size: *mut duk_size_t,
1396    ) -> *mut ::std::os::raw::c_void;
1397}
1398extern "C" {
1399    pub fn duk_require_buffer_data(
1400        ctx: *mut duk_context,
1401        idx: duk_idx_t,
1402        out_size: *mut duk_size_t,
1403    ) -> *mut ::std::os::raw::c_void;
1404}
1405extern "C" {
1406    pub fn duk_require_pointer(
1407        ctx: *mut duk_context,
1408        idx: duk_idx_t,
1409    ) -> *mut ::std::os::raw::c_void;
1410}
1411extern "C" {
1412    pub fn duk_require_c_function(ctx: *mut duk_context, idx: duk_idx_t) -> duk_c_function;
1413}
1414extern "C" {
1415    pub fn duk_require_context(ctx: *mut duk_context, idx: duk_idx_t) -> *mut duk_context;
1416}
1417extern "C" {
1418    pub fn duk_require_function(ctx: *mut duk_context, idx: duk_idx_t);
1419}
1420extern "C" {
1421    pub fn duk_require_constructor_call(ctx: *mut duk_context);
1422}
1423extern "C" {
1424    pub fn duk_require_constructable(ctx: *mut duk_context, idx: duk_idx_t);
1425}
1426extern "C" {
1427    pub fn duk_require_heapptr(
1428        ctx: *mut duk_context,
1429        idx: duk_idx_t,
1430    ) -> *mut ::std::os::raw::c_void;
1431}
1432extern "C" {
1433    pub fn duk_to_undefined(ctx: *mut duk_context, idx: duk_idx_t);
1434}
1435extern "C" {
1436    pub fn duk_to_null(ctx: *mut duk_context, idx: duk_idx_t);
1437}
1438extern "C" {
1439    pub fn duk_to_boolean(ctx: *mut duk_context, idx: duk_idx_t) -> duk_bool_t;
1440}
1441extern "C" {
1442    pub fn duk_to_number(ctx: *mut duk_context, idx: duk_idx_t) -> duk_double_t;
1443}
1444extern "C" {
1445    pub fn duk_to_int(ctx: *mut duk_context, idx: duk_idx_t) -> duk_int_t;
1446}
1447extern "C" {
1448    pub fn duk_to_uint(ctx: *mut duk_context, idx: duk_idx_t) -> duk_uint_t;
1449}
1450extern "C" {
1451    pub fn duk_to_int32(ctx: *mut duk_context, idx: duk_idx_t) -> duk_int32_t;
1452}
1453extern "C" {
1454    pub fn duk_to_uint32(ctx: *mut duk_context, idx: duk_idx_t) -> duk_uint32_t;
1455}
1456extern "C" {
1457    pub fn duk_to_uint16(ctx: *mut duk_context, idx: duk_idx_t) -> duk_uint16_t;
1458}
1459extern "C" {
1460    pub fn duk_to_string(ctx: *mut duk_context, idx: duk_idx_t) -> *const ::std::os::raw::c_char;
1461}
1462extern "C" {
1463    pub fn duk_to_lstring(
1464        ctx: *mut duk_context,
1465        idx: duk_idx_t,
1466        out_len: *mut duk_size_t,
1467    ) -> *const ::std::os::raw::c_char;
1468}
1469extern "C" {
1470    pub fn duk_to_buffer_raw(
1471        ctx: *mut duk_context,
1472        idx: duk_idx_t,
1473        out_size: *mut duk_size_t,
1474        flags: duk_uint_t,
1475    ) -> *mut ::std::os::raw::c_void;
1476}
1477extern "C" {
1478    pub fn duk_to_pointer(ctx: *mut duk_context, idx: duk_idx_t) -> *mut ::std::os::raw::c_void;
1479}
1480extern "C" {
1481    pub fn duk_to_object(ctx: *mut duk_context, idx: duk_idx_t);
1482}
1483extern "C" {
1484    pub fn duk_to_primitive(ctx: *mut duk_context, idx: duk_idx_t, hint: duk_int_t);
1485}
1486extern "C" {
1487    pub fn duk_safe_to_lstring(
1488        ctx: *mut duk_context,
1489        idx: duk_idx_t,
1490        out_len: *mut duk_size_t,
1491    ) -> *const ::std::os::raw::c_char;
1492}
1493extern "C" {
1494    pub fn duk_to_stacktrace(
1495        ctx: *mut duk_context,
1496        idx: duk_idx_t,
1497    ) -> *const ::std::os::raw::c_char;
1498}
1499extern "C" {
1500    pub fn duk_safe_to_stacktrace(
1501        ctx: *mut duk_context,
1502        idx: duk_idx_t,
1503    ) -> *const ::std::os::raw::c_char;
1504}
1505extern "C" {
1506    pub fn duk_get_length(ctx: *mut duk_context, idx: duk_idx_t) -> duk_size_t;
1507}
1508extern "C" {
1509    pub fn duk_set_length(ctx: *mut duk_context, idx: duk_idx_t, len: duk_size_t);
1510}
1511extern "C" {
1512    pub fn duk_base64_encode(
1513        ctx: *mut duk_context,
1514        idx: duk_idx_t,
1515    ) -> *const ::std::os::raw::c_char;
1516}
1517extern "C" {
1518    pub fn duk_base64_decode(ctx: *mut duk_context, idx: duk_idx_t);
1519}
1520extern "C" {
1521    pub fn duk_hex_encode(ctx: *mut duk_context, idx: duk_idx_t) -> *const ::std::os::raw::c_char;
1522}
1523extern "C" {
1524    pub fn duk_hex_decode(ctx: *mut duk_context, idx: duk_idx_t);
1525}
1526extern "C" {
1527    pub fn duk_json_encode(ctx: *mut duk_context, idx: duk_idx_t) -> *const ::std::os::raw::c_char;
1528}
1529extern "C" {
1530    pub fn duk_json_decode(ctx: *mut duk_context, idx: duk_idx_t);
1531}
1532extern "C" {
1533    pub fn duk_cbor_encode(ctx: *mut duk_context, idx: duk_idx_t, encode_flags: duk_uint_t);
1534}
1535extern "C" {
1536    pub fn duk_cbor_decode(ctx: *mut duk_context, idx: duk_idx_t, decode_flags: duk_uint_t);
1537}
1538extern "C" {
1539    pub fn duk_buffer_to_string(
1540        ctx: *mut duk_context,
1541        idx: duk_idx_t,
1542    ) -> *const ::std::os::raw::c_char;
1543}
1544extern "C" {
1545    pub fn duk_resize_buffer(
1546        ctx: *mut duk_context,
1547        idx: duk_idx_t,
1548        new_size: duk_size_t,
1549    ) -> *mut ::std::os::raw::c_void;
1550}
1551extern "C" {
1552    pub fn duk_steal_buffer(
1553        ctx: *mut duk_context,
1554        idx: duk_idx_t,
1555        out_size: *mut duk_size_t,
1556    ) -> *mut ::std::os::raw::c_void;
1557}
1558extern "C" {
1559    pub fn duk_config_buffer(
1560        ctx: *mut duk_context,
1561        idx: duk_idx_t,
1562        ptr: *mut ::std::os::raw::c_void,
1563        len: duk_size_t,
1564    );
1565}
1566extern "C" {
1567    pub fn duk_get_prop(ctx: *mut duk_context, obj_idx: duk_idx_t) -> duk_bool_t;
1568}
1569extern "C" {
1570    pub fn duk_get_prop_string(
1571        ctx: *mut duk_context,
1572        obj_idx: duk_idx_t,
1573        key: *const ::std::os::raw::c_char,
1574    ) -> duk_bool_t;
1575}
1576extern "C" {
1577    pub fn duk_get_prop_lstring(
1578        ctx: *mut duk_context,
1579        obj_idx: duk_idx_t,
1580        key: *const ::std::os::raw::c_char,
1581        key_len: duk_size_t,
1582    ) -> duk_bool_t;
1583}
1584extern "C" {
1585    pub fn duk_get_prop_literal_raw(
1586        ctx: *mut duk_context,
1587        obj_idx: duk_idx_t,
1588        key: *const ::std::os::raw::c_char,
1589        key_len: duk_size_t,
1590    ) -> duk_bool_t;
1591}
1592extern "C" {
1593    pub fn duk_get_prop_index(
1594        ctx: *mut duk_context,
1595        obj_idx: duk_idx_t,
1596        arr_idx: duk_uarridx_t,
1597    ) -> duk_bool_t;
1598}
1599extern "C" {
1600    pub fn duk_get_prop_heapptr(
1601        ctx: *mut duk_context,
1602        obj_idx: duk_idx_t,
1603        ptr: *mut ::std::os::raw::c_void,
1604    ) -> duk_bool_t;
1605}
1606extern "C" {
1607    pub fn duk_put_prop(ctx: *mut duk_context, obj_idx: duk_idx_t) -> duk_bool_t;
1608}
1609extern "C" {
1610    pub fn duk_put_prop_string(
1611        ctx: *mut duk_context,
1612        obj_idx: duk_idx_t,
1613        key: *const ::std::os::raw::c_char,
1614    ) -> duk_bool_t;
1615}
1616extern "C" {
1617    pub fn duk_put_prop_lstring(
1618        ctx: *mut duk_context,
1619        obj_idx: duk_idx_t,
1620        key: *const ::std::os::raw::c_char,
1621        key_len: duk_size_t,
1622    ) -> duk_bool_t;
1623}
1624extern "C" {
1625    pub fn duk_put_prop_literal_raw(
1626        ctx: *mut duk_context,
1627        obj_idx: duk_idx_t,
1628        key: *const ::std::os::raw::c_char,
1629        key_len: duk_size_t,
1630    ) -> duk_bool_t;
1631}
1632extern "C" {
1633    pub fn duk_put_prop_index(
1634        ctx: *mut duk_context,
1635        obj_idx: duk_idx_t,
1636        arr_idx: duk_uarridx_t,
1637    ) -> duk_bool_t;
1638}
1639extern "C" {
1640    pub fn duk_put_prop_heapptr(
1641        ctx: *mut duk_context,
1642        obj_idx: duk_idx_t,
1643        ptr: *mut ::std::os::raw::c_void,
1644    ) -> duk_bool_t;
1645}
1646extern "C" {
1647    pub fn duk_del_prop(ctx: *mut duk_context, obj_idx: duk_idx_t) -> duk_bool_t;
1648}
1649extern "C" {
1650    pub fn duk_del_prop_string(
1651        ctx: *mut duk_context,
1652        obj_idx: duk_idx_t,
1653        key: *const ::std::os::raw::c_char,
1654    ) -> duk_bool_t;
1655}
1656extern "C" {
1657    pub fn duk_del_prop_lstring(
1658        ctx: *mut duk_context,
1659        obj_idx: duk_idx_t,
1660        key: *const ::std::os::raw::c_char,
1661        key_len: duk_size_t,
1662    ) -> duk_bool_t;
1663}
1664extern "C" {
1665    pub fn duk_del_prop_literal_raw(
1666        ctx: *mut duk_context,
1667        obj_idx: duk_idx_t,
1668        key: *const ::std::os::raw::c_char,
1669        key_len: duk_size_t,
1670    ) -> duk_bool_t;
1671}
1672extern "C" {
1673    pub fn duk_del_prop_index(
1674        ctx: *mut duk_context,
1675        obj_idx: duk_idx_t,
1676        arr_idx: duk_uarridx_t,
1677    ) -> duk_bool_t;
1678}
1679extern "C" {
1680    pub fn duk_del_prop_heapptr(
1681        ctx: *mut duk_context,
1682        obj_idx: duk_idx_t,
1683        ptr: *mut ::std::os::raw::c_void,
1684    ) -> duk_bool_t;
1685}
1686extern "C" {
1687    pub fn duk_has_prop(ctx: *mut duk_context, obj_idx: duk_idx_t) -> duk_bool_t;
1688}
1689extern "C" {
1690    pub fn duk_has_prop_string(
1691        ctx: *mut duk_context,
1692        obj_idx: duk_idx_t,
1693        key: *const ::std::os::raw::c_char,
1694    ) -> duk_bool_t;
1695}
1696extern "C" {
1697    pub fn duk_has_prop_lstring(
1698        ctx: *mut duk_context,
1699        obj_idx: duk_idx_t,
1700        key: *const ::std::os::raw::c_char,
1701        key_len: duk_size_t,
1702    ) -> duk_bool_t;
1703}
1704extern "C" {
1705    pub fn duk_has_prop_literal_raw(
1706        ctx: *mut duk_context,
1707        obj_idx: duk_idx_t,
1708        key: *const ::std::os::raw::c_char,
1709        key_len: duk_size_t,
1710    ) -> duk_bool_t;
1711}
1712extern "C" {
1713    pub fn duk_has_prop_index(
1714        ctx: *mut duk_context,
1715        obj_idx: duk_idx_t,
1716        arr_idx: duk_uarridx_t,
1717    ) -> duk_bool_t;
1718}
1719extern "C" {
1720    pub fn duk_has_prop_heapptr(
1721        ctx: *mut duk_context,
1722        obj_idx: duk_idx_t,
1723        ptr: *mut ::std::os::raw::c_void,
1724    ) -> duk_bool_t;
1725}
1726extern "C" {
1727    pub fn duk_get_prop_desc(ctx: *mut duk_context, obj_idx: duk_idx_t, flags: duk_uint_t);
1728}
1729extern "C" {
1730    pub fn duk_def_prop(ctx: *mut duk_context, obj_idx: duk_idx_t, flags: duk_uint_t);
1731}
1732extern "C" {
1733    pub fn duk_get_global_string(
1734        ctx: *mut duk_context,
1735        key: *const ::std::os::raw::c_char,
1736    ) -> duk_bool_t;
1737}
1738extern "C" {
1739    pub fn duk_get_global_lstring(
1740        ctx: *mut duk_context,
1741        key: *const ::std::os::raw::c_char,
1742        key_len: duk_size_t,
1743    ) -> duk_bool_t;
1744}
1745extern "C" {
1746    pub fn duk_get_global_literal_raw(
1747        ctx: *mut duk_context,
1748        key: *const ::std::os::raw::c_char,
1749        key_len: duk_size_t,
1750    ) -> duk_bool_t;
1751}
1752extern "C" {
1753    pub fn duk_get_global_heapptr(
1754        ctx: *mut duk_context,
1755        ptr: *mut ::std::os::raw::c_void,
1756    ) -> duk_bool_t;
1757}
1758extern "C" {
1759    pub fn duk_put_global_string(
1760        ctx: *mut duk_context,
1761        key: *const ::std::os::raw::c_char,
1762    ) -> duk_bool_t;
1763}
1764extern "C" {
1765    pub fn duk_put_global_lstring(
1766        ctx: *mut duk_context,
1767        key: *const ::std::os::raw::c_char,
1768        key_len: duk_size_t,
1769    ) -> duk_bool_t;
1770}
1771extern "C" {
1772    pub fn duk_put_global_literal_raw(
1773        ctx: *mut duk_context,
1774        key: *const ::std::os::raw::c_char,
1775        key_len: duk_size_t,
1776    ) -> duk_bool_t;
1777}
1778extern "C" {
1779    pub fn duk_put_global_heapptr(
1780        ctx: *mut duk_context,
1781        ptr: *mut ::std::os::raw::c_void,
1782    ) -> duk_bool_t;
1783}
1784extern "C" {
1785    pub fn duk_inspect_value(ctx: *mut duk_context, idx: duk_idx_t);
1786}
1787extern "C" {
1788    pub fn duk_inspect_callstack_entry(ctx: *mut duk_context, level: duk_int_t);
1789}
1790extern "C" {
1791    pub fn duk_get_prototype(ctx: *mut duk_context, idx: duk_idx_t);
1792}
1793extern "C" {
1794    pub fn duk_set_prototype(ctx: *mut duk_context, idx: duk_idx_t);
1795}
1796extern "C" {
1797    pub fn duk_get_finalizer(ctx: *mut duk_context, idx: duk_idx_t);
1798}
1799extern "C" {
1800    pub fn duk_set_finalizer(ctx: *mut duk_context, idx: duk_idx_t);
1801}
1802extern "C" {
1803    pub fn duk_set_global_object(ctx: *mut duk_context);
1804}
1805extern "C" {
1806    pub fn duk_get_magic(ctx: *mut duk_context, idx: duk_idx_t) -> duk_int_t;
1807}
1808extern "C" {
1809    pub fn duk_set_magic(ctx: *mut duk_context, idx: duk_idx_t, magic: duk_int_t);
1810}
1811extern "C" {
1812    pub fn duk_get_current_magic(ctx: *mut duk_context) -> duk_int_t;
1813}
1814extern "C" {
1815    pub fn duk_put_function_list(
1816        ctx: *mut duk_context,
1817        obj_idx: duk_idx_t,
1818        funcs: *const duk_function_list_entry,
1819    );
1820}
1821extern "C" {
1822    pub fn duk_put_number_list(
1823        ctx: *mut duk_context,
1824        obj_idx: duk_idx_t,
1825        numbers: *const duk_number_list_entry,
1826    );
1827}
1828extern "C" {
1829    pub fn duk_compact(ctx: *mut duk_context, obj_idx: duk_idx_t);
1830}
1831extern "C" {
1832    pub fn duk_enum(ctx: *mut duk_context, obj_idx: duk_idx_t, enum_flags: duk_uint_t);
1833}
1834extern "C" {
1835    pub fn duk_next(
1836        ctx: *mut duk_context,
1837        enum_idx: duk_idx_t,
1838        get_value: duk_bool_t,
1839    ) -> duk_bool_t;
1840}
1841extern "C" {
1842    pub fn duk_seal(ctx: *mut duk_context, obj_idx: duk_idx_t);
1843}
1844extern "C" {
1845    pub fn duk_freeze(ctx: *mut duk_context, obj_idx: duk_idx_t);
1846}
1847extern "C" {
1848    pub fn duk_concat(ctx: *mut duk_context, count: duk_idx_t);
1849}
1850extern "C" {
1851    pub fn duk_join(ctx: *mut duk_context, count: duk_idx_t);
1852}
1853extern "C" {
1854    pub fn duk_decode_string(
1855        ctx: *mut duk_context,
1856        idx: duk_idx_t,
1857        callback: duk_decode_char_function,
1858        udata: *mut ::std::os::raw::c_void,
1859    );
1860}
1861extern "C" {
1862    pub fn duk_map_string(
1863        ctx: *mut duk_context,
1864        idx: duk_idx_t,
1865        callback: duk_map_char_function,
1866        udata: *mut ::std::os::raw::c_void,
1867    );
1868}
1869extern "C" {
1870    pub fn duk_substring(
1871        ctx: *mut duk_context,
1872        idx: duk_idx_t,
1873        start_char_offset: duk_size_t,
1874        end_char_offset: duk_size_t,
1875    );
1876}
1877extern "C" {
1878    pub fn duk_trim(ctx: *mut duk_context, idx: duk_idx_t);
1879}
1880extern "C" {
1881    pub fn duk_char_code_at(
1882        ctx: *mut duk_context,
1883        idx: duk_idx_t,
1884        char_offset: duk_size_t,
1885    ) -> duk_codepoint_t;
1886}
1887extern "C" {
1888    pub fn duk_equals(ctx: *mut duk_context, idx1: duk_idx_t, idx2: duk_idx_t) -> duk_bool_t;
1889}
1890extern "C" {
1891    pub fn duk_strict_equals(ctx: *mut duk_context, idx1: duk_idx_t, idx2: duk_idx_t)
1892        -> duk_bool_t;
1893}
1894extern "C" {
1895    pub fn duk_samevalue(ctx: *mut duk_context, idx1: duk_idx_t, idx2: duk_idx_t) -> duk_bool_t;
1896}
1897extern "C" {
1898    pub fn duk_instanceof(ctx: *mut duk_context, idx1: duk_idx_t, idx2: duk_idx_t) -> duk_bool_t;
1899}
1900extern "C" {
1901    pub fn duk_random(ctx: *mut duk_context) -> duk_double_t;
1902}
1903extern "C" {
1904    pub fn duk_call(ctx: *mut duk_context, nargs: duk_idx_t);
1905}
1906extern "C" {
1907    pub fn duk_call_method(ctx: *mut duk_context, nargs: duk_idx_t);
1908}
1909extern "C" {
1910    pub fn duk_call_prop(ctx: *mut duk_context, obj_idx: duk_idx_t, nargs: duk_idx_t);
1911}
1912extern "C" {
1913    pub fn duk_pcall(ctx: *mut duk_context, nargs: duk_idx_t) -> duk_int_t;
1914}
1915extern "C" {
1916    pub fn duk_pcall_method(ctx: *mut duk_context, nargs: duk_idx_t) -> duk_int_t;
1917}
1918extern "C" {
1919    pub fn duk_pcall_prop(ctx: *mut duk_context, obj_idx: duk_idx_t, nargs: duk_idx_t)
1920        -> duk_int_t;
1921}
1922extern "C" {
1923    pub fn duk_new(ctx: *mut duk_context, nargs: duk_idx_t);
1924}
1925extern "C" {
1926    pub fn duk_pnew(ctx: *mut duk_context, nargs: duk_idx_t) -> duk_int_t;
1927}
1928extern "C" {
1929    pub fn duk_safe_call(
1930        ctx: *mut duk_context,
1931        func: duk_safe_call_function,
1932        udata: *mut ::std::os::raw::c_void,
1933        nargs: duk_idx_t,
1934        nrets: duk_idx_t,
1935    ) -> duk_int_t;
1936}
1937extern "C" {
1938    pub fn duk_eval_raw(
1939        ctx: *mut duk_context,
1940        src_buffer: *const ::std::os::raw::c_char,
1941        src_length: duk_size_t,
1942        flags: duk_uint_t,
1943    ) -> duk_int_t;
1944}
1945extern "C" {
1946    pub fn duk_compile_raw(
1947        ctx: *mut duk_context,
1948        src_buffer: *const ::std::os::raw::c_char,
1949        src_length: duk_size_t,
1950        flags: duk_uint_t,
1951    ) -> duk_int_t;
1952}
1953extern "C" {
1954    pub fn duk_dump_function(ctx: *mut duk_context);
1955}
1956extern "C" {
1957    pub fn duk_load_function(ctx: *mut duk_context);
1958}
1959extern "C" {
1960    pub fn duk_push_context_dump(ctx: *mut duk_context);
1961}
1962extern "C" {
1963    pub fn duk_debugger_attach(
1964        ctx: *mut duk_context,
1965        read_cb: duk_debug_read_function,
1966        write_cb: duk_debug_write_function,
1967        peek_cb: duk_debug_peek_function,
1968        read_flush_cb: duk_debug_read_flush_function,
1969        write_flush_cb: duk_debug_write_flush_function,
1970        request_cb: duk_debug_request_function,
1971        detached_cb: duk_debug_detached_function,
1972        udata: *mut ::std::os::raw::c_void,
1973    );
1974}
1975extern "C" {
1976    pub fn duk_debugger_detach(ctx: *mut duk_context);
1977}
1978extern "C" {
1979    pub fn duk_debugger_cooperate(ctx: *mut duk_context);
1980}
1981extern "C" {
1982    pub fn duk_debugger_notify(ctx: *mut duk_context, nvalues: duk_idx_t) -> duk_bool_t;
1983}
1984extern "C" {
1985    pub fn duk_debugger_pause(ctx: *mut duk_context);
1986}
1987extern "C" {
1988    pub fn duk_get_now(ctx: *mut duk_context) -> duk_double_t;
1989}
1990extern "C" {
1991    pub fn duk_time_to_components(
1992        ctx: *mut duk_context,
1993        timeval: duk_double_t,
1994        comp: *mut duk_time_components,
1995    );
1996}
1997extern "C" {
1998    pub fn duk_components_to_time(
1999        ctx: *mut duk_context,
2000        comp: *mut duk_time_components,
2001    ) -> duk_double_t;
2002}
2003extern "C" {
2004    pub fn duk_logging_init(ctx: *mut duk_context, flags: duk_uint_t);
2005}
2006extern "C" {
2007    pub fn duk_log_va(
2008        ctx: *mut duk_context,
2009        level: duk_int_t,
2010        fmt: *const ::std::os::raw::c_char,
2011        ap: *mut __va_list_tag,
2012    );
2013}
2014extern "C" {
2015    pub fn duk_log(
2016        ctx: *mut duk_context,
2017        level: duk_int_t,
2018        fmt: *const ::std::os::raw::c_char,
2019        ...
2020    );
2021}
2022extern "C" {
2023    pub fn duk_module_node_peval_main(
2024        ctx: *mut duk_context,
2025        path: *const ::std::os::raw::c_char,
2026    ) -> duk_ret_t;
2027}
2028extern "C" {
2029    pub fn duk_module_node_init(ctx: *mut duk_context);
2030}
2031extern "C" {
2032    pub static DUK_INVALID_INDEX: duk_idx_t;
2033}
2034extern "C" {
2035    pub static DUK_VARARGS: duk_int_t;
2036}
2037extern "C" {
2038    pub fn duk_create_heap_default() -> *mut duk_context;
2039}
2040extern "C" {
2041    pub fn duk_xmove_top(to_ctx: *mut duk_context, from_ctx: *mut duk_context, count: duk_idx_t);
2042}
2043extern "C" {
2044    pub fn duk_xcopy_top(to_ctx: *mut duk_context, from_ctx: *mut duk_context, count: duk_idx_t);
2045}
2046extern "C" {
2047    pub fn duk_push_string_file(
2048        ctx: *mut duk_context,
2049        path: *const ::std::os::raw::c_char,
2050    ) -> *const ::std::os::raw::c_char;
2051}
2052extern "C" {
2053    pub fn duk_push_thread(ctx: *mut duk_context) -> duk_idx_t;
2054}
2055extern "C" {
2056    pub fn duk_push_thread_new_globalenv(ctx: *mut duk_context) -> duk_idx_t;
2057}
2058extern "C" {
2059    pub fn duk_push_error_object(
2060        ctx: *mut duk_context,
2061        err_code: duk_errcode_t,
2062        fmt: *const ::std::os::raw::c_char,
2063    ) -> duk_idx_t;
2064}
2065extern "C" {
2066    pub fn duk_push_buffer(
2067        ctx: *mut duk_context,
2068        size: duk_size_t,
2069        dynamic: duk_bool_t,
2070    ) -> *mut ::std::os::raw::c_void;
2071}
2072extern "C" {
2073    pub fn duk_push_fixed_buffer(
2074        ctx: *mut duk_context,
2075        size: duk_size_t,
2076    ) -> *mut ::std::os::raw::c_void;
2077}
2078extern "C" {
2079    pub fn duk_push_dynamic_buffer(
2080        ctx: *mut duk_context,
2081        size: duk_size_t,
2082    ) -> *mut ::std::os::raw::c_void;
2083}
2084extern "C" {
2085    pub fn duk_push_external_buffer(ctx: *mut duk_context);
2086}
2087extern "C" {
2088    pub fn duk_is_callable(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2089}
2090extern "C" {
2091    pub fn duk_is_primitive(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2092}
2093extern "C" {
2094    pub fn duk_is_object_coercible(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2095}
2096extern "C" {
2097    pub fn duk_is_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2098}
2099extern "C" {
2100    pub fn duk_is_eval_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2101}
2102extern "C" {
2103    pub fn duk_is_range_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2104}
2105extern "C" {
2106    pub fn duk_is_reference_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2107}
2108extern "C" {
2109    pub fn duk_is_syntax_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2110}
2111extern "C" {
2112    pub fn duk_is_type_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2113}
2114extern "C" {
2115    pub fn duk_is_uri_error(ctx: *mut duk_context, index: duk_idx_t) -> duk_bool_t;
2116}
2117extern "C" {
2118    pub fn duk_require_type_mask(ctx: *mut duk_context, index: duk_idx_t, mask: duk_uint_t);
2119}
2120extern "C" {
2121    pub fn duk_require_callable(ctx: *mut duk_context, index: duk_idx_t);
2122}
2123extern "C" {
2124    pub fn duk_require_object_coercible(ctx: *mut duk_context, index: duk_idx_t);
2125}
2126extern "C" {
2127    pub fn duk_to_buffer(
2128        ctx: *mut duk_context,
2129        index: duk_idx_t,
2130        out_size: *mut duk_size_t,
2131    ) -> *mut ::std::os::raw::c_void;
2132}
2133extern "C" {
2134    pub fn duk_to_fixed_buffer(
2135        ctx: *mut duk_context,
2136        index: duk_idx_t,
2137        out_size: *mut duk_size_t,
2138    ) -> *mut ::std::os::raw::c_void;
2139}
2140extern "C" {
2141    pub fn duk_to_dynamic_buffer(
2142        ctx: *mut duk_context,
2143        index: duk_idx_t,
2144        out_size: *mut duk_size_t,
2145    ) -> *mut ::std::os::raw::c_void;
2146}
2147extern "C" {
2148    pub fn duk_safe_to_string(
2149        ctx: *mut duk_context,
2150        index: duk_idx_t,
2151    ) -> *const ::std::os::raw::c_char;
2152}
2153extern "C" {
2154    pub fn duk_eval(ctx: *mut duk_context);
2155}
2156extern "C" {
2157    pub fn duk_eval_noresult(ctx: *mut duk_context);
2158}
2159extern "C" {
2160    pub fn duk_peval(ctx: *mut duk_context) -> duk_int_t;
2161}
2162extern "C" {
2163    pub fn duk_peval_noresult(ctx: *mut duk_context) -> duk_int_t;
2164}
2165extern "C" {
2166    pub fn duk_compile(ctx: *mut duk_context, flags: duk_uint_t);
2167}
2168extern "C" {
2169    pub fn duk_pcompile(ctx: *mut duk_context, flags: duk_uint_t) -> duk_int_t;
2170}
2171extern "C" {
2172    pub fn duk_eval_string(ctx: *mut duk_context, src: *const ::std::os::raw::c_char);
2173}
2174extern "C" {
2175    pub fn duk_eval_string_noresult(ctx: *mut duk_context, src: *const ::std::os::raw::c_char);
2176}
2177extern "C" {
2178    pub fn duk_peval_string(ctx: *mut duk_context, src: *const ::std::os::raw::c_char)
2179        -> duk_int_t;
2180}
2181extern "C" {
2182    pub fn duk_peval_string_noresult(
2183        ctx: *mut duk_context,
2184        src: *const ::std::os::raw::c_char,
2185    ) -> duk_int_t;
2186}
2187extern "C" {
2188    pub fn duk_compile_string(
2189        ctx: *mut duk_context,
2190        flags: duk_uint_t,
2191        src: *const ::std::os::raw::c_char,
2192    );
2193}
2194extern "C" {
2195    pub fn duk_compile_string_filename(
2196        ctx: *mut duk_context,
2197        flags: duk_uint_t,
2198        src: *const ::std::os::raw::c_char,
2199    );
2200}
2201extern "C" {
2202    pub fn duk_pcompile_string(
2203        ctx: *mut duk_context,
2204        flags: duk_uint_t,
2205        src: *const ::std::os::raw::c_char,
2206    ) -> duk_int_t;
2207}
2208extern "C" {
2209    pub fn duk_pcompile_string_filename(
2210        ctx: *mut duk_context,
2211        flags: duk_uint_t,
2212        src: *const ::std::os::raw::c_char,
2213    ) -> duk_int_t;
2214}
2215extern "C" {
2216    pub fn duk_eval_lstring(
2217        ctx: *mut duk_context,
2218        buf: *const ::std::os::raw::c_char,
2219        len: duk_size_t,
2220    );
2221}
2222extern "C" {
2223    pub fn duk_eval_lstring_noresult(
2224        ctx: *mut duk_context,
2225        buf: *const ::std::os::raw::c_char,
2226        len: duk_size_t,
2227    );
2228}
2229extern "C" {
2230    pub fn duk_peval_lstring(
2231        ctx: *mut duk_context,
2232        buf: *const ::std::os::raw::c_char,
2233        len: duk_size_t,
2234    ) -> duk_int_t;
2235}
2236extern "C" {
2237    pub fn duk_peval_lstring_noresult(
2238        ctx: *mut duk_context,
2239        buf: *const ::std::os::raw::c_char,
2240        len: duk_size_t,
2241    ) -> duk_int_t;
2242}
2243extern "C" {
2244    pub fn duk_compile_lstring(
2245        ctx: *mut duk_context,
2246        flags: duk_uint_t,
2247        buf: *const ::std::os::raw::c_char,
2248        len: duk_size_t,
2249    );
2250}
2251extern "C" {
2252    pub fn duk_compile_lstring_filename(
2253        ctx: *mut duk_context,
2254        flags: duk_uint_t,
2255        buf: *const ::std::os::raw::c_char,
2256        len: duk_size_t,
2257    );
2258}
2259extern "C" {
2260    pub fn duk_pcompile_lstring(
2261        ctx: *mut duk_context,
2262        flags: duk_uint_t,
2263        buf: *const ::std::os::raw::c_char,
2264        len: duk_size_t,
2265    ) -> duk_int_t;
2266}
2267extern "C" {
2268    pub fn duk_pcompile_lstring_filename(
2269        ctx: *mut duk_context,
2270        flags: duk_uint_t,
2271        buf: *const ::std::os::raw::c_char,
2272        len: duk_size_t,
2273    ) -> duk_int_t;
2274}
2275extern "C" {
2276    pub fn duk_eval_file(ctx: *mut duk_context, path: *const ::std::os::raw::c_char);
2277}
2278extern "C" {
2279    pub fn duk_eval_file_noresult(ctx: *mut duk_context, path: *const ::std::os::raw::c_char);
2280}
2281extern "C" {
2282    pub fn duk_peval_file(ctx: *mut duk_context, path: *const ::std::os::raw::c_char) -> duk_int_t;
2283}
2284extern "C" {
2285    pub fn duk_peval_file_noresult(
2286        ctx: *mut duk_context,
2287        path: *const ::std::os::raw::c_char,
2288    ) -> duk_int_t;
2289}
2290extern "C" {
2291    pub fn duk_compile_file(
2292        ctx: *mut duk_context,
2293        flags: duk_uint_t,
2294        path: *const ::std::os::raw::c_char,
2295    );
2296}
2297extern "C" {
2298    pub fn duk_pcompile_file(
2299        ctx: *mut duk_context,
2300        flags: duk_uint_t,
2301        path: *const ::std::os::raw::c_char,
2302    ) -> duk_int_t;
2303}
2304extern "C" {
2305    pub fn duk_dump_context_stdout(ctx: *mut duk_context);
2306}
2307extern "C" {
2308    pub fn duk_dump_context_stderr(ctx: *mut duk_context);
2309}
2310pub type __builtin_va_list = [__va_list_tag; 1usize];
2311#[repr(C)]
2312#[derive(Debug, Copy, Clone)]
2313pub struct __va_list_tag {
2314    pub gp_offset: ::std::os::raw::c_uint,
2315    pub fp_offset: ::std::os::raw::c_uint,
2316    pub overflow_arg_area: *mut ::std::os::raw::c_void,
2317    pub reg_save_area: *mut ::std::os::raw::c_void,
2318}
2319#[test]
2320fn bindgen_test_layout___va_list_tag() {
2321    assert_eq!(
2322        ::std::mem::size_of::<__va_list_tag>(),
2323        24usize,
2324        concat!("Size of: ", stringify!(__va_list_tag))
2325    );
2326    assert_eq!(
2327        ::std::mem::align_of::<__va_list_tag>(),
2328        8usize,
2329        concat!("Alignment of ", stringify!(__va_list_tag))
2330    );
2331    assert_eq!(
2332        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
2333        0usize,
2334        concat!(
2335            "Offset of field: ",
2336            stringify!(__va_list_tag),
2337            "::",
2338            stringify!(gp_offset)
2339        )
2340    );
2341    assert_eq!(
2342        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
2343        4usize,
2344        concat!(
2345            "Offset of field: ",
2346            stringify!(__va_list_tag),
2347            "::",
2348            stringify!(fp_offset)
2349        )
2350    );
2351    assert_eq!(
2352        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
2353        8usize,
2354        concat!(
2355            "Offset of field: ",
2356            stringify!(__va_list_tag),
2357            "::",
2358            stringify!(overflow_arg_area)
2359        )
2360    );
2361    assert_eq!(
2362        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
2363        16usize,
2364        concat!(
2365            "Offset of field: ",
2366            stringify!(__va_list_tag),
2367            "::",
2368            stringify!(reg_save_area)
2369        )
2370    );
2371}