ducc_sys/
bindings.rs

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