166#if !defined(DUKTAPE_H_INCLUDED)
167#define DUKTAPE_H_INCLUDED
169#define DUK_SINGLE_FILE
185#define DUK_VERSION 20700L
192#define DUK_GIT_COMMIT "external"
193#define DUK_GIT_DESCRIBE "external"
194#define DUK_GIT_BRANCH "external"
208#if defined(__cplusplus)
216#undef DUK_API_VARIADIC_MACROS
217#if defined(DUK_USE_VARIADIC_MACROS)
218#define DUK_API_VARIADIC_MACROS
221#define DUK_API_NORETURN(decl) DUK_NORETURN(decl)
247typedef void *(*duk_alloc_function) (
void *udata,
duk_size_t size);
248typedef void *(*duk_realloc_function) (
void *udata,
void *ptr,
duk_size_t size);
304#define DUK_DEBUG_PROTOCOL_VERSION 2
310#define DUK_INVALID_INDEX DUK_IDX_MIN
315#define DUK_VARARGS ((duk_int_t) (-1))
320#define DUK_API_ENTRY_STACK 64U
323#define DUK_TYPE_MIN 0U
324#define DUK_TYPE_NONE 0U
325#define DUK_TYPE_UNDEFINED 1U
326#define DUK_TYPE_NULL 2U
327#define DUK_TYPE_BOOLEAN 3U
328#define DUK_TYPE_NUMBER 4U
329#define DUK_TYPE_STRING 5U
330#define DUK_TYPE_OBJECT 6U
331#define DUK_TYPE_BUFFER 7U
332#define DUK_TYPE_POINTER 8U
333#define DUK_TYPE_LIGHTFUNC 9U
334#define DUK_TYPE_MAX 9U
337#define DUK_TYPE_MASK_NONE (1U << DUK_TYPE_NONE)
338#define DUK_TYPE_MASK_UNDEFINED (1U << DUK_TYPE_UNDEFINED)
339#define DUK_TYPE_MASK_NULL (1U << DUK_TYPE_NULL)
340#define DUK_TYPE_MASK_BOOLEAN (1U << DUK_TYPE_BOOLEAN)
341#define DUK_TYPE_MASK_NUMBER (1U << DUK_TYPE_NUMBER)
342#define DUK_TYPE_MASK_STRING (1U << DUK_TYPE_STRING)
343#define DUK_TYPE_MASK_OBJECT (1U << DUK_TYPE_OBJECT)
344#define DUK_TYPE_MASK_BUFFER (1U << DUK_TYPE_BUFFER)
345#define DUK_TYPE_MASK_POINTER (1U << DUK_TYPE_POINTER)
346#define DUK_TYPE_MASK_LIGHTFUNC (1U << DUK_TYPE_LIGHTFUNC)
347#define DUK_TYPE_MASK_THROW (1U << 10)
348#define DUK_TYPE_MASK_PROMOTE (1U << 11)
351#define DUK_HINT_NONE 0
354#define DUK_HINT_STRING 1
355#define DUK_HINT_NUMBER 2
358#define DUK_ENUM_INCLUDE_NONENUMERABLE (1U << 0)
359#define DUK_ENUM_INCLUDE_HIDDEN (1U << 1)
360#define DUK_ENUM_INCLUDE_SYMBOLS (1U << 2)
361#define DUK_ENUM_EXCLUDE_STRINGS (1U << 3)
362#define DUK_ENUM_OWN_PROPERTIES_ONLY (1U << 4)
363#define DUK_ENUM_ARRAY_INDICES_ONLY (1U << 5)
365#define DUK_ENUM_SORT_ARRAY_INDICES (1U << 6)
366#define DUK_ENUM_NO_PROXY_BEHAVIOR (1U << 7)
371#define DUK_COMPILE_EVAL (1U << 3)
372#define DUK_COMPILE_FUNCTION (1U << 4)
373#define DUK_COMPILE_STRICT (1U << 5)
374#define DUK_COMPILE_SHEBANG (1U << 6)
375#define DUK_COMPILE_SAFE (1U << 7)
376#define DUK_COMPILE_NORESULT (1U << 8)
377#define DUK_COMPILE_NOSOURCE (1U << 9)
378#define DUK_COMPILE_STRLEN (1U << 10)
379#define DUK_COMPILE_NOFILENAME (1U << 11)
380#define DUK_COMPILE_FUNCEXPR (1U << 12)
383#define DUK_DEFPROP_WRITABLE (1U << 0)
384#define DUK_DEFPROP_ENUMERABLE (1U << 1)
385#define DUK_DEFPROP_CONFIGURABLE (1U << 2)
386#define DUK_DEFPROP_HAVE_WRITABLE (1U << 3)
387#define DUK_DEFPROP_HAVE_ENUMERABLE (1U << 4)
388#define DUK_DEFPROP_HAVE_CONFIGURABLE (1U << 5)
389#define DUK_DEFPROP_HAVE_VALUE (1U << 6)
390#define DUK_DEFPROP_HAVE_GETTER (1U << 7)
391#define DUK_DEFPROP_HAVE_SETTER (1U << 8)
392#define DUK_DEFPROP_FORCE (1U << 9)
393#define DUK_DEFPROP_SET_WRITABLE (DUK_DEFPROP_HAVE_WRITABLE | DUK_DEFPROP_WRITABLE)
394#define DUK_DEFPROP_CLEAR_WRITABLE DUK_DEFPROP_HAVE_WRITABLE
395#define DUK_DEFPROP_SET_ENUMERABLE (DUK_DEFPROP_HAVE_ENUMERABLE | DUK_DEFPROP_ENUMERABLE)
396#define DUK_DEFPROP_CLEAR_ENUMERABLE DUK_DEFPROP_HAVE_ENUMERABLE
397#define DUK_DEFPROP_SET_CONFIGURABLE (DUK_DEFPROP_HAVE_CONFIGURABLE | DUK_DEFPROP_CONFIGURABLE)
398#define DUK_DEFPROP_CLEAR_CONFIGURABLE DUK_DEFPROP_HAVE_CONFIGURABLE
399#define DUK_DEFPROP_W DUK_DEFPROP_WRITABLE
400#define DUK_DEFPROP_E DUK_DEFPROP_ENUMERABLE
401#define DUK_DEFPROP_C DUK_DEFPROP_CONFIGURABLE
402#define DUK_DEFPROP_WE (DUK_DEFPROP_WRITABLE | DUK_DEFPROP_ENUMERABLE)
403#define DUK_DEFPROP_WC (DUK_DEFPROP_WRITABLE | DUK_DEFPROP_CONFIGURABLE)
404#define DUK_DEFPROP_EC (DUK_DEFPROP_ENUMERABLE | DUK_DEFPROP_CONFIGURABLE)
405#define DUK_DEFPROP_WEC (DUK_DEFPROP_WRITABLE | DUK_DEFPROP_ENUMERABLE | DUK_DEFPROP_CONFIGURABLE)
406#define DUK_DEFPROP_HAVE_W DUK_DEFPROP_HAVE_WRITABLE
407#define DUK_DEFPROP_HAVE_E DUK_DEFPROP_HAVE_ENUMERABLE
408#define DUK_DEFPROP_HAVE_C DUK_DEFPROP_HAVE_CONFIGURABLE
409#define DUK_DEFPROP_HAVE_WE (DUK_DEFPROP_HAVE_WRITABLE | DUK_DEFPROP_HAVE_ENUMERABLE)
410#define DUK_DEFPROP_HAVE_WC (DUK_DEFPROP_HAVE_WRITABLE | DUK_DEFPROP_HAVE_CONFIGURABLE)
411#define DUK_DEFPROP_HAVE_EC (DUK_DEFPROP_HAVE_ENUMERABLE | DUK_DEFPROP_HAVE_CONFIGURABLE)
412#define DUK_DEFPROP_HAVE_WEC (DUK_DEFPROP_HAVE_WRITABLE | DUK_DEFPROP_HAVE_ENUMERABLE | DUK_DEFPROP_HAVE_CONFIGURABLE)
413#define DUK_DEFPROP_SET_W DUK_DEFPROP_SET_WRITABLE
414#define DUK_DEFPROP_SET_E DUK_DEFPROP_SET_ENUMERABLE
415#define DUK_DEFPROP_SET_C DUK_DEFPROP_SET_CONFIGURABLE
416#define DUK_DEFPROP_SET_WE (DUK_DEFPROP_SET_WRITABLE | DUK_DEFPROP_SET_ENUMERABLE)
417#define DUK_DEFPROP_SET_WC (DUK_DEFPROP_SET_WRITABLE | DUK_DEFPROP_SET_CONFIGURABLE)
418#define DUK_DEFPROP_SET_EC (DUK_DEFPROP_SET_ENUMERABLE | DUK_DEFPROP_SET_CONFIGURABLE)
419#define DUK_DEFPROP_SET_WEC (DUK_DEFPROP_SET_WRITABLE | DUK_DEFPROP_SET_ENUMERABLE | DUK_DEFPROP_SET_CONFIGURABLE)
420#define DUK_DEFPROP_CLEAR_W DUK_DEFPROP_CLEAR_WRITABLE
421#define DUK_DEFPROP_CLEAR_E DUK_DEFPROP_CLEAR_ENUMERABLE
422#define DUK_DEFPROP_CLEAR_C DUK_DEFPROP_CLEAR_CONFIGURABLE
423#define DUK_DEFPROP_CLEAR_WE (DUK_DEFPROP_CLEAR_WRITABLE | DUK_DEFPROP_CLEAR_ENUMERABLE)
424#define DUK_DEFPROP_CLEAR_WC (DUK_DEFPROP_CLEAR_WRITABLE | DUK_DEFPROP_CLEAR_CONFIGURABLE)
425#define DUK_DEFPROP_CLEAR_EC (DUK_DEFPROP_CLEAR_ENUMERABLE | DUK_DEFPROP_CLEAR_CONFIGURABLE)
426#define DUK_DEFPROP_CLEAR_WEC (DUK_DEFPROP_CLEAR_WRITABLE | DUK_DEFPROP_CLEAR_ENUMERABLE | DUK_DEFPROP_CLEAR_CONFIGURABLE)
427#define DUK_DEFPROP_ATTR_W (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_W)
428#define DUK_DEFPROP_ATTR_E (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_E)
429#define DUK_DEFPROP_ATTR_C (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_C)
430#define DUK_DEFPROP_ATTR_WE (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_WE)
431#define DUK_DEFPROP_ATTR_WC (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_WC)
432#define DUK_DEFPROP_ATTR_EC (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_EC)
433#define DUK_DEFPROP_ATTR_WEC (DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_WEC)
436#define DUK_THREAD_NEW_GLOBAL_ENV (1U << 0)
439#define DUK_GC_COMPACT (1U << 0)
442#define DUK_ERR_NONE 0
443#define DUK_ERR_ERROR 1
444#define DUK_ERR_EVAL_ERROR 2
445#define DUK_ERR_RANGE_ERROR 3
446#define DUK_ERR_REFERENCE_ERROR 4
447#define DUK_ERR_SYNTAX_ERROR 5
448#define DUK_ERR_TYPE_ERROR 6
449#define DUK_ERR_URI_ERROR 7
452#define DUK_RET_ERROR (-DUK_ERR_ERROR)
453#define DUK_RET_EVAL_ERROR (-DUK_ERR_EVAL_ERROR)
454#define DUK_RET_RANGE_ERROR (-DUK_ERR_RANGE_ERROR)
455#define DUK_RET_REFERENCE_ERROR (-DUK_ERR_REFERENCE_ERROR)
456#define DUK_RET_SYNTAX_ERROR (-DUK_ERR_SYNTAX_ERROR)
457#define DUK_RET_TYPE_ERROR (-DUK_ERR_TYPE_ERROR)
458#define DUK_RET_URI_ERROR (-DUK_ERR_URI_ERROR)
461#define DUK_EXEC_SUCCESS 0
462#define DUK_EXEC_ERROR 1
465#define DUK_LEVEL_DEBUG 0
466#define DUK_LEVEL_DDEBUG 1
467#define DUK_LEVEL_DDDEBUG 2
486#define DUK_HIDDEN_SYMBOL(x) ("\xFF" x)
487#define DUK_GLOBAL_SYMBOL(x) ("\x80" x)
488#define DUK_LOCAL_SYMBOL(x,uniq) ("\x81" x "\xff" uniq)
489#define DUK_WELLKNOWN_SYMBOL(x) ("\x81" x "\xff")
490#define DUK_INTERNAL_SYMBOL(x) ("\x82" x)
497#if !defined(DUK_API_VARIADIC_MACROS)
517#define duk_create_heap_default() \
518 duk_create_heap(NULL, NULL, NULL, NULL, NULL)
540#define duk_throw(ctx) \
541 (duk_throw_raw((ctx)), (duk_ret_t) 0)
543#define duk_fatal(ctx,err_msg) \
544 (duk_fatal_raw((ctx), (err_msg)), (duk_ret_t) 0)
547#if defined(DUK_API_VARIADIC_MACROS)
548#define duk_error(ctx,err_code,...) \
549 (duk_error_raw((ctx), (duk_errcode_t) (err_code), (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
550#define duk_generic_error(ctx,...) \
551 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
552#define duk_eval_error(ctx,...) \
553 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_EVAL_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
554#define duk_range_error(ctx,...) \
555 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_RANGE_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
556#define duk_reference_error(ctx,...) \
557 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_REFERENCE_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
558#define duk_syntax_error(ctx,...) \
559 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_SYNTAX_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
560#define duk_type_error(ctx,...) \
561 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_TYPE_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
562#define duk_uri_error(ctx,...) \
563 (duk_error_raw((ctx), (duk_errcode_t) DUK_ERR_URI_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__), (duk_ret_t) 0)
582 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
583 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
585#define duk_generic_error \
586 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
587 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
588 duk_generic_error_stash)
589#define duk_eval_error \
590 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
591 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
592 duk_eval_error_stash)
593#define duk_range_error \
594 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
595 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
596 duk_range_error_stash)
597#define duk_reference_error \
598 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
599 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
600 duk_reference_error_stash)
601#define duk_syntax_error \
602 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
603 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
604 duk_syntax_error_stash)
605#define duk_type_error \
606 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
607 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
608 duk_type_error_stash)
609#define duk_uri_error \
610 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
611 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
617#define duk_error_va(ctx,err_code,fmt,ap) \
618 (duk_error_va_raw((ctx), (duk_errcode_t) (err_code), (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
619#define duk_generic_error_va(ctx,fmt,ap) \
620 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
621#define duk_eval_error_va(ctx,fmt,ap) \
622 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_EVAL_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
623#define duk_range_error_va(ctx,fmt,ap) \
624 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_RANGE_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
625#define duk_reference_error_va(ctx,fmt,ap) \
626 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_REFERENCE_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
627#define duk_syntax_error_va(ctx,fmt,ap) \
628 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_SYNTAX_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
629#define duk_type_error_va(ctx,fmt,ap) \
630 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_TYPE_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
631#define duk_uri_error_va(ctx,fmt,ap) \
632 (duk_error_va_raw((ctx), (duk_errcode_t) DUK_ERR_URI_ERROR, (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap)), (duk_ret_t) 0)
682#define duk_xmove_top(to_ctx,from_ctx,count) \
683 duk_xcopymove_raw((to_ctx), (from_ctx), (count), 0 )
684#define duk_xcopy_top(to_ctx,from_ctx,count) \
685 duk_xcopymove_raw((to_ctx), (from_ctx), (count), 1 )
717#if defined(DUK_USE_PREFER_SIZE)
718#define duk_push_literal(ctx,cstring) duk_push_string((ctx), (cstring))
721#define duk_push_literal(ctx,cstring) duk_push_literal_raw((ctx), (cstring), sizeof((cstring)) - 1U)
742#define duk_push_thread(ctx) \
743 duk_push_thread_raw((ctx), 0 )
745#define duk_push_thread_new_globalenv(ctx) \
746 duk_push_thread_raw((ctx), DUK_THREAD_NEW_GLOBAL_ENV )
750#if defined(DUK_API_VARIADIC_MACROS)
751#define duk_push_error_object(ctx,err_code,...) \
752 duk_push_error_object_raw((ctx), (err_code), (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), __VA_ARGS__)
756#define duk_push_error_object \
757 (duk_api_global_filename = (const char *) (DUK_FILE_MACRO), \
758 duk_api_global_line = (duk_int_t) (DUK_LINE_MACRO), \
759 duk_push_error_object_stash)
763#define duk_push_error_object_va(ctx,err_code,fmt,ap) \
764 duk_push_error_object_va_raw((ctx), (err_code), (const char *) (DUK_FILE_MACRO), (duk_int_t) (DUK_LINE_MACRO), (fmt), (ap))
766#define DUK_BUF_FLAG_DYNAMIC (1 << 0)
767#define DUK_BUF_FLAG_EXTERNAL (1 << 1)
768#define DUK_BUF_FLAG_NOZERO (1 << 2)
772#define duk_push_buffer(ctx,size,dynamic) \
773 duk_push_buffer_raw((ctx), (size), (dynamic) ? DUK_BUF_FLAG_DYNAMIC : 0)
774#define duk_push_fixed_buffer(ctx,size) \
775 duk_push_buffer_raw((ctx), (size), 0 )
776#define duk_push_dynamic_buffer(ctx,size) \
777 duk_push_buffer_raw((ctx), (size), DUK_BUF_FLAG_DYNAMIC )
778#define duk_push_external_buffer(ctx) \
779 ((void) duk_push_buffer_raw((ctx), 0, DUK_BUF_FLAG_DYNAMIC | DUK_BUF_FLAG_EXTERNAL))
781#define DUK_BUFOBJ_ARRAYBUFFER 0
782#define DUK_BUFOBJ_NODEJS_BUFFER 1
783#define DUK_BUFOBJ_DATAVIEW 2
784#define DUK_BUFOBJ_INT8ARRAY 3
785#define DUK_BUFOBJ_UINT8ARRAY 4
786#define DUK_BUFOBJ_UINT8CLAMPEDARRAY 5
787#define DUK_BUFOBJ_INT16ARRAY 6
788#define DUK_BUFOBJ_UINT16ARRAY 7
789#define DUK_BUFOBJ_INT32ARRAY 8
790#define DUK_BUFOBJ_UINT32ARRAY 9
791#define DUK_BUFOBJ_FLOAT32ARRAY 10
792#define DUK_BUFOBJ_FLOAT64ARRAY 11
821#define duk_is_null_or_undefined(ctx, idx) \
822 ((duk_get_type_mask((ctx), (idx)) & (DUK_TYPE_MASK_NULL | DUK_TYPE_MASK_UNDEFINED)) ? 1 : 0)
842#define duk_is_callable(ctx,idx) \
843 duk_is_function((ctx), (idx))
854#define duk_is_primitive(ctx,idx) \
855 duk_check_type_mask((ctx), (idx), DUK_TYPE_MASK_UNDEFINED | \
856 DUK_TYPE_MASK_NULL | \
857 DUK_TYPE_MASK_BOOLEAN | \
858 DUK_TYPE_MASK_NUMBER | \
859 DUK_TYPE_MASK_STRING | \
860 DUK_TYPE_MASK_POINTER)
863#define duk_is_object_coercible(ctx,idx) \
864 duk_check_type_mask((ctx), (idx), DUK_TYPE_MASK_BOOLEAN | \
865 DUK_TYPE_MASK_NUMBER | \
866 DUK_TYPE_MASK_STRING | \
867 DUK_TYPE_MASK_OBJECT | \
868 DUK_TYPE_MASK_BUFFER | \
869 DUK_TYPE_MASK_POINTER | \
870 DUK_TYPE_MASK_LIGHTFUNC)
873#define duk_is_error(ctx,idx) \
874 (duk_get_error_code((ctx), (idx)) != 0)
875#define duk_is_eval_error(ctx,idx) \
876 (duk_get_error_code((ctx), (idx)) == DUK_ERR_EVAL_ERROR)
877#define duk_is_range_error(ctx,idx) \
878 (duk_get_error_code((ctx), (idx)) == DUK_ERR_RANGE_ERROR)
879#define duk_is_reference_error(ctx,idx) \
880 (duk_get_error_code((ctx), (idx)) == DUK_ERR_REFERENCE_ERROR)
881#define duk_is_syntax_error(ctx,idx) \
882 (duk_get_error_code((ctx), (idx)) == DUK_ERR_SYNTAX_ERROR)
883#define duk_is_type_error(ctx,idx) \
884 (duk_get_error_code((ctx), (idx)) == DUK_ERR_TYPE_ERROR)
885#define duk_is_uri_error(ctx,idx) \
886 (duk_get_error_code((ctx), (idx)) == DUK_ERR_URI_ERROR)
951#define duk_require_type_mask(ctx,idx,mask) \
952 ((void) duk_check_type_mask((ctx), (idx), (mask) | DUK_TYPE_MASK_THROW))
969#define duk_require_callable(ctx,idx) \
970 duk_require_function((ctx), (idx))
976#define duk_require_object_coercible(ctx,idx) \
977 ((void) duk_check_type_mask((ctx), (idx), DUK_TYPE_MASK_BOOLEAN | \
978 DUK_TYPE_MASK_NUMBER | \
979 DUK_TYPE_MASK_STRING | \
980 DUK_TYPE_MASK_OBJECT | \
981 DUK_TYPE_MASK_BUFFER | \
982 DUK_TYPE_MASK_POINTER | \
983 DUK_TYPE_MASK_LIGHTFUNC | \
984 DUK_TYPE_MASK_THROW))
1009#define DUK_BUF_MODE_FIXED 0
1010#define DUK_BUF_MODE_DYNAMIC 1
1011#define DUK_BUF_MODE_DONTCARE 2
1013#define duk_to_buffer(ctx,idx,out_size) \
1014 duk_to_buffer_raw((ctx), (idx), (out_size), DUK_BUF_MODE_DONTCARE)
1015#define duk_to_fixed_buffer(ctx,idx,out_size) \
1016 duk_to_buffer_raw((ctx), (idx), (out_size), DUK_BUF_MODE_FIXED)
1017#define duk_to_dynamic_buffer(ctx,idx,out_size) \
1018 duk_to_buffer_raw((ctx), (idx), (out_size), DUK_BUF_MODE_DYNAMIC)
1024#define duk_safe_to_string(ctx,idx) \
1025 duk_safe_to_lstring((ctx), (idx), NULL)
1074#if defined(DUK_USE_PREFER_SIZE)
1075#define duk_get_prop_literal(ctx,obj_idx,key) duk_get_prop_string((ctx), (obj_idx), (key))
1078#define duk_get_prop_literal(ctx,obj_idx,key) duk_get_prop_literal_raw((ctx), (obj_idx), (key), sizeof((key)) - 1U)
1085#if defined(DUK_USE_PREFER_SIZE)
1086#define duk_put_prop_literal(ctx,obj_idx,key) duk_put_prop_string((ctx), (obj_idx), (key))
1089#define duk_put_prop_literal(ctx,obj_idx,key) duk_put_prop_literal_raw((ctx), (obj_idx), (key), sizeof((key)) - 1U)
1096#if defined(DUK_USE_PREFER_SIZE)
1097#define duk_del_prop_literal(ctx,obj_idx,key) duk_del_prop_string((ctx), (obj_idx), (key))
1100#define duk_del_prop_literal(ctx,obj_idx,key) duk_del_prop_literal_raw((ctx), (obj_idx), (key), sizeof((key)) - 1U)
1107#if defined(DUK_USE_PREFER_SIZE)
1108#define duk_has_prop_literal(ctx,obj_idx,key) duk_has_prop_string((ctx), (obj_idx), (key))
1111#define duk_has_prop_literal(ctx,obj_idx,key) duk_has_prop_literal_raw((ctx), (obj_idx), (key), sizeof((key)) - 1U)
1121#if defined(DUK_USE_PREFER_SIZE)
1122#define duk_get_global_literal(ctx,key) duk_get_global_string((ctx), (key))
1125#define duk_get_global_literal(ctx,key) duk_get_global_literal_raw((ctx), (key), sizeof((key)) - 1U)
1130#if defined(DUK_USE_PREFER_SIZE)
1131#define duk_put_global_literal(ctx,key) duk_put_global_string((ctx), (key))
1134#define duk_put_global_literal(ctx,key) duk_put_global_literal_raw((ctx), (key), sizeof((key)) - 1U)
1247#define duk_eval(ctx) \
1248 ((void) duk_eval_raw((ctx), NULL, 0, 1 | DUK_COMPILE_EVAL | DUK_COMPILE_NOFILENAME))
1250#define duk_eval_noresult(ctx) \
1251 ((void) duk_eval_raw((ctx), NULL, 0, 1 | DUK_COMPILE_EVAL | DUK_COMPILE_NORESULT | DUK_COMPILE_NOFILENAME))
1253#define duk_peval(ctx) \
1254 (duk_eval_raw((ctx), NULL, 0, 1 | DUK_COMPILE_EVAL | DUK_COMPILE_SAFE | DUK_COMPILE_NOFILENAME))
1256#define duk_peval_noresult(ctx) \
1257 (duk_eval_raw((ctx), NULL, 0, 1 | DUK_COMPILE_EVAL | DUK_COMPILE_SAFE | DUK_COMPILE_NORESULT | DUK_COMPILE_NOFILENAME))
1259#define duk_compile(ctx,flags) \
1260 ((void) duk_compile_raw((ctx), NULL, 0, 2 | (flags)))
1262#define duk_pcompile(ctx,flags) \
1263 (duk_compile_raw((ctx), NULL, 0, 2 | (flags) | DUK_COMPILE_SAFE))
1266#define duk_eval_string(ctx,src) \
1267 ((void) duk_eval_raw((ctx), (src), 0, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN | DUK_COMPILE_NOFILENAME))
1269#define duk_eval_string_noresult(ctx,src) \
1270 ((void) duk_eval_raw((ctx), (src), 0, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN | DUK_COMPILE_NORESULT | DUK_COMPILE_NOFILENAME))
1272#define duk_peval_string(ctx,src) \
1273 (duk_eval_raw((ctx), (src), 0, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN | DUK_COMPILE_NOFILENAME))
1275#define duk_peval_string_noresult(ctx,src) \
1276 (duk_eval_raw((ctx), (src), 0, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN | DUK_COMPILE_NORESULT | DUK_COMPILE_NOFILENAME))
1278#define duk_compile_string(ctx,flags,src) \
1279 ((void) duk_compile_raw((ctx), (src), 0, 0 | (flags) | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN | DUK_COMPILE_NOFILENAME))
1281#define duk_compile_string_filename(ctx,flags,src) \
1282 ((void) duk_compile_raw((ctx), (src), 0, 1 | (flags) | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN))
1284#define duk_pcompile_string(ctx,flags,src) \
1285 (duk_compile_raw((ctx), (src), 0, 0 | (flags) | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN | DUK_COMPILE_NOFILENAME))
1287#define duk_pcompile_string_filename(ctx,flags,src) \
1288 (duk_compile_raw((ctx), (src), 0, 1 | (flags) | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE | DUK_COMPILE_STRLEN))
1291#define duk_eval_lstring(ctx,buf,len) \
1292 ((void) duk_eval_raw((ctx), buf, len, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_NOSOURCE | DUK_COMPILE_NOFILENAME))
1294#define duk_eval_lstring_noresult(ctx,buf,len) \
1295 ((void) duk_eval_raw((ctx), buf, len, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_NOSOURCE | DUK_COMPILE_NORESULT | DUK_COMPILE_NOFILENAME))
1297#define duk_peval_lstring(ctx,buf,len) \
1298 (duk_eval_raw((ctx), buf, len, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_NOSOURCE | DUK_COMPILE_SAFE | DUK_COMPILE_NOFILENAME))
1300#define duk_peval_lstring_noresult(ctx,buf,len) \
1301 (duk_eval_raw((ctx), buf, len, 0 | DUK_COMPILE_EVAL | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE | DUK_COMPILE_NORESULT | DUK_COMPILE_NOFILENAME))
1303#define duk_compile_lstring(ctx,flags,buf,len) \
1304 ((void) duk_compile_raw((ctx), buf, len, 0 | (flags) | DUK_COMPILE_NOSOURCE | DUK_COMPILE_NOFILENAME))
1306#define duk_compile_lstring_filename(ctx,flags,buf,len) \
1307 ((void) duk_compile_raw((ctx), buf, len, 1 | (flags) | DUK_COMPILE_NOSOURCE))
1309#define duk_pcompile_lstring(ctx,flags,buf,len) \
1310 (duk_compile_raw((ctx), buf, len, 0 | (flags) | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE | DUK_COMPILE_NOFILENAME))
1312#define duk_pcompile_lstring_filename(ctx,flags,buf,len) \
1313 (duk_compile_raw((ctx), buf, len, 1 | (flags) | DUK_COMPILE_SAFE | DUK_COMPILE_NOSOURCE))
1362#define DUK_DATE_MSEC_SECOND 1000L
1363#define DUK_DATE_MSEC_MINUTE (60L * 1000L)
1364#define DUK_DATE_MSEC_HOUR (60L * 60L * 1000L)
1365#define DUK_DATE_MSEC_DAY (24L * 60L * 60L * 1000L)
1372#define DUK_DATE_MSEC_100M_DAYS (8.64e15)
1373#define DUK_DATE_MSEC_100M_DAYS_LEEWAY (8.64e15 + 24 * 3600e3)
1381#define DUK_DATE_MIN_ECMA_YEAR (-271821L)
1382#define DUK_DATE_MAX_ECMA_YEAR 275760L
1392#define DUK_DATE_IDX_YEAR 0
1393#define DUK_DATE_IDX_MONTH 1
1394#define DUK_DATE_IDX_DAY 2
1395#define DUK_DATE_IDX_HOUR 3
1396#define DUK_DATE_IDX_MINUTE 4
1397#define DUK_DATE_IDX_SECOND 5
1398#define DUK_DATE_IDX_MILLISECOND 6
1399#define DUK_DATE_IDX_WEEKDAY 7
1400#define DUK_DATE_IDX_NUM_PARTS 8
1418#define DUK_DATE_FLAG_NAN_TO_ZERO (1 << 0)
1419#define DUK_DATE_FLAG_NAN_TO_RANGE_ERROR (1 << 1)
1420#define DUK_DATE_FLAG_ONEBASED (1 << 2)
1421#define DUK_DATE_FLAG_EQUIVYEAR (1 << 3)
1422#define DUK_DATE_FLAG_LOCALTIME (1 << 4)
1423#define DUK_DATE_FLAG_SUB1900 (1 << 5)
1424#define DUK_DATE_FLAG_TOSTRING_DATE (1 << 6)
1425#define DUK_DATE_FLAG_TOSTRING_TIME (1 << 7)
1426#define DUK_DATE_FLAG_TOSTRING_LOCALE (1 << 8)
1427#define DUK_DATE_FLAG_TIMESETTER (1 << 9)
1428#define DUK_DATE_FLAG_YEAR_FIXUP (1 << 10)
1429#define DUK_DATE_FLAG_SEP_T (1 << 11)
1430#define DUK_DATE_FLAG_VALUE_SHIFT 12
1439#if defined(DUK_USE_ROM_OBJECTS) && defined(DUK_USE_HEAPPTR16)
1447#if defined(__cplusplus)
static osspriteop_area * buffer
The buffer characteristics.
static uint32_t count(const http_directive *list, lwc_string *key)
#define DUK_EXTERNAL_DECL
unsigned int duk_small_uint_t
duk_small_int_t duk_ret_t
duk_small_uint_t duk_bool_t
duk_int_t duk_codepoint_t
duk_int_fast32_t duk_int_t
duk_uint_fast32_t duk_uint_t
DUK_EXTERNAL duk_ret_t duk_uri_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL void duk_fatal_raw(duk_hthread *thr, const char *err_msg)
DUK_EXTERNAL duk_ret_t duk_reference_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL void duk_throw_raw(duk_hthread *thr)
DUK_EXTERNAL void duk_error_va_raw(duk_hthread *thr, duk_errcode_t err_code, const char *filename, duk_int_t line, const char *fmt, va_list ap)
DUK_EXTERNAL void duk_error_raw(duk_hthread *thr, duk_errcode_t err_code, const char *filename, duk_int_t line, const char *fmt,...)
DUK_EXTERNAL duk_ret_t duk_type_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL duk_ret_t duk_range_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL duk_ret_t duk_error_stash(duk_hthread *thr, duk_errcode_t err_code, const char *fmt,...)
DUK_EXTERNAL duk_ret_t duk_generic_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL duk_ret_t duk_syntax_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL duk_ret_t duk_eval_error_stash(duk_hthread *thr, const char *fmt,...)
DUK_EXTERNAL_DECL duk_double_t duk_components_to_time(duk_context *ctx, duk_time_components *comp)
DUK_EXTERNAL_DECL duk_bool_t duk_has_prop_string(duk_context *ctx, duk_idx_t obj_idx, const char *key)
DUK_EXTERNAL_DECL void duk_dump_function(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_array(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_opt_pointer(duk_context *ctx, duk_idx_t idx, void *def_value)
DUK_EXTERNAL_DECL void * duk_steal_buffer(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size)
DUK_EXTERNAL_DECL void duk_to_undefined(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_has_prop_index(duk_context *ctx, duk_idx_t obj_idx, duk_uarridx_t arr_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_valid_index(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_c_lightfunc(duk_context *ctx, duk_c_function func, duk_idx_t nargs, duk_idx_t length, duk_int_t magic)
DUK_EXTERNAL_DECL duk_bool_t duk_del_prop_literal_raw(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL duk_bool_t duk_samevalue(duk_context *ctx, duk_idx_t idx1, duk_idx_t idx2)
DUK_EXTERNAL_DECL duk_int_t duk_eval_raw(duk_context *ctx, const char *src_buffer, duk_size_t src_length, duk_uint_t flags)
DUK_EXTERNAL_DECL duk_bool_t duk_put_prop_literal_raw(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
duk_ret_t(* duk_safe_call_function)(duk_context *ctx, void *udata)
DUK_EXTERNAL_DECL void duk_replace(duk_context *ctx, duk_idx_t to_idx)
DUK_EXTERNAL_DECL void duk_base64_decode(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_buffer_data(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_get_buffer_default(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size, void *def_ptr, duk_size_t def_len)
DUK_EXTERNAL_DECL duk_double_t duk_get_now(duk_context *ctx)
DUK_EXTERNAL_DECL const char * duk_api_global_filename
duk_size_t(* duk_debug_read_function)(void *udata, char *buffer, duk_size_t length)
DUK_EXTERNAL_DECL void * duk_get_buffer_data(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size)
DUK_EXTERNAL_DECL duk_bool_t duk_get_boolean_default(duk_context *ctx, duk_idx_t idx, duk_bool_t def_value)
DUK_EXTERNAL_DECL duk_bool_t duk_get_prop_string(duk_context *ctx, duk_idx_t obj_idx, const char *key)
DUK_EXTERNAL_DECL void duk_seal(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL void duk_set_prototype(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_number(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_set_global_object(duk_context *ctx)
DUK_EXTERNAL_DECL void * duk_get_pointer_default(duk_context *ctx, duk_idx_t idx, void *def_value)
DUK_EXTERNAL_DECL void duk_require_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_to_boolean(duk_context *ctx, duk_idx_t idx)
void *(* duk_alloc_function)(void *udata, duk_size_t size)
DUK_EXTERNAL_DECL duk_idx_t duk_push_heapptr(duk_context *ctx, void *ptr)
DUK_EXTERNAL_DECL duk_idx_t duk_push_object(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_gc(duk_context *ctx, duk_uint_t flags)
DUK_EXTERNAL_DECL duk_uint_t duk_require_uint(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_config_buffer(duk_context *ctx, duk_idx_t idx, void *ptr, duk_size_t len)
DUK_EXTERNAL_DECL duk_int_t duk_pcall_prop(duk_context *ctx, duk_idx_t obj_idx, duk_idx_t nargs)
void(* duk_debug_detached_function)(duk_context *ctx, void *udata)
DUK_EXTERNAL_DECL void duk_require_constructor_call(duk_context *ctx)
DUK_EXTERNAL_DECL duk_context * duk_opt_context(duk_context *ctx, duk_idx_t idx, duk_context *def_value)
DUK_EXTERNAL_DECL duk_double_t duk_get_number_default(duk_context *ctx, duk_idx_t idx, duk_double_t def_value)
DUK_EXTERNAL_DECL duk_bool_t duk_has_prop_heapptr(duk_context *ctx, duk_idx_t obj_idx, void *ptr)
DUK_EXTERNAL_DECL duk_int_t duk_safe_call(duk_context *ctx, duk_safe_call_function func, void *udata, duk_idx_t nargs, duk_idx_t nrets)
DUK_EXTERNAL_DECL duk_bool_t duk_get_global_lstring(duk_context *ctx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL void duk_free(duk_context *ctx, void *ptr)
DUK_EXTERNAL_DECL const char * duk_hex_encode(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_call(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL_DECL void * duk_alloc_raw(duk_context *ctx, duk_size_t size)
DUK_EXTERNAL_DECL duk_bool_t duk_put_global_string(duk_context *ctx, const char *key)
DUK_EXTERNAL_DECL void * duk_alloc(duk_context *ctx, duk_size_t size)
DUK_EXTERNAL_DECL void duk_require_constructable(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_thread(duk_context *ctx, duk_idx_t idx)
void(* duk_debug_write_flush_function)(void *udata)
DUK_EXTERNAL_DECL void * duk_require_buffer_data(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size)
DUK_EXTERNAL_DECL duk_bool_t duk_get_prop_index(duk_context *ctx, duk_idx_t obj_idx, duk_uarridx_t arr_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_check_stack(duk_context *ctx, duk_idx_t extra)
DUK_EXTERNAL_DECL duk_int_t duk_get_int_default(duk_context *ctx, duk_idx_t idx, duk_int_t def_value)
DUK_EXTERNAL_DECL void * duk_get_pointer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_put_prop_heapptr(duk_context *ctx, duk_idx_t obj_idx, void *ptr)
DUK_EXTERNAL_DECL duk_idx_t duk_push_error_object_raw(duk_context *ctx, duk_errcode_t err_code, const char *filename, duk_int_t line, const char *fmt,...)
DUK_EXTERNAL_DECL const char * duk_json_encode(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_to_pointer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_get_finalizer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_push_thread_stash(duk_context *ctx, duk_context *target_ctx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_bare_array(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_swap_top(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_cbor_encode(duk_context *ctx, duk_idx_t idx, duk_uint_t encode_flags)
DUK_EXTERNAL_DECL duk_idx_t duk_push_proxy(duk_context *ctx, duk_uint_t proxy_flags)
DUK_EXTERNAL_DECL duk_bool_t duk_is_boolean(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_array(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_put_function_list(duk_context *ctx, duk_idx_t obj_idx, const duk_function_list_entry *funcs)
DUK_EXTERNAL_DECL void duk_pop(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_inspect_value(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_int32_t duk_to_int32(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_push_global_object(duk_context *ctx)
DUK_EXTERNAL_DECL const char * duk_to_stacktrace(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_int_t duk_require_int(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_int_t duk_get_magic(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_realloc_raw(duk_context *ctx, void *ptr, duk_size_t size)
DUK_EXTERNAL_DECL void duk_pop_2(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_debugger_notify(duk_context *ctx, duk_idx_t nvalues)
DUK_EXTERNAL_DECL void * duk_get_buffer_data_default(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size, void *def_ptr, duk_size_t def_len)
DUK_EXTERNAL_DECL const char * duk_require_string(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_decode_string(duk_context *ctx, duk_idx_t idx, duk_decode_char_function callback, void *udata)
duk_codepoint_t(* duk_map_char_function)(void *udata, duk_codepoint_t codepoint)
DUK_EXTERNAL_DECL void * duk_opt_buffer_data(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size, void *def_ptr, duk_size_t def_size)
DUK_EXTERNAL_DECL const char * duk_require_lstring(duk_context *ctx, duk_idx_t idx, duk_size_t *out_len)
DUK_EXTERNAL_DECL void duk_suspend(duk_context *ctx, duk_thread_state *state)
DUK_EXTERNAL_DECL void duk_push_boolean(duk_context *ctx, duk_bool_t val)
DUK_EXTERNAL_DECL void duk_map_string(duk_context *ctx, duk_idx_t idx, duk_map_char_function callback, void *udata)
DUK_EXTERNAL_DECL duk_idx_t duk_normalize_index(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_json_decode(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_c_function duk_require_c_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_require_buffer(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size)
DUK_EXTERNAL_DECL void duk_push_number(duk_context *ctx, duk_double_t val)
DUK_EXTERNAL_DECL duk_uint_t duk_to_uint(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_c_function(duk_context *ctx, duk_c_function func, duk_idx_t nargs)
DUK_EXTERNAL_DECL duk_bool_t duk_is_nan(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_error_object_stash(duk_context *ctx, duk_errcode_t err_code, const char *fmt,...)
DUK_EXTERNAL_DECL duk_bool_t duk_is_object(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_push_current_thread(duk_context *ctx)
void(* duk_free_function)(void *udata, void *ptr)
void(* duk_debug_read_flush_function)(void *udata)
DUK_EXTERNAL_DECL void duk_push_true(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_check_stack_top(duk_context *ctx, duk_idx_t top)
DUK_EXTERNAL_DECL void duk_to_object(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_push_buffer_raw(duk_context *ctx, duk_size_t size, duk_small_uint_t flags)
DUK_EXTERNAL_DECL void * duk_realloc(duk_context *ctx, void *ptr, duk_size_t size)
DUK_EXTERNAL_DECL duk_bool_t duk_put_prop_string(duk_context *ctx, duk_idx_t obj_idx, const char *key)
void *(* duk_realloc_function)(void *udata, void *ptr, duk_size_t size)
DUK_EXTERNAL_DECL const char * duk_buffer_to_string(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_get_buffer(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size)
DUK_EXTERNAL_DECL duk_bool_t duk_is_string(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_get_top(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_copy(duk_context *ctx, duk_idx_t from_idx, duk_idx_t to_idx)
DUK_EXTERNAL_DECL void * duk_get_heapptr_default(duk_context *ctx, duk_idx_t idx, void *def_value)
DUK_EXTERNAL_DECL void duk_set_magic(duk_context *ctx, duk_idx_t idx, duk_int_t magic)
DUK_EXTERNAL_DECL duk_bool_t duk_put_prop_index(duk_context *ctx, duk_idx_t obj_idx, duk_uarridx_t arr_idx)
DUK_EXTERNAL_DECL void duk_push_new_target(duk_context *ctx)
DUK_EXTERNAL_DECL duk_uint32_t duk_to_uint32(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_hex_decode(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_def_prop(duk_context *ctx, duk_idx_t obj_idx, duk_uint_t flags)
DUK_EXTERNAL_DECL void duk_resume(duk_context *ctx, const duk_thread_state *state)
DUK_EXTERNAL_DECL void * duk_require_heapptr(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_trim(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_concat(duk_context *ctx, duk_idx_t count)
DUK_EXTERNAL_DECL duk_int_t duk_api_global_line
DUK_EXTERNAL_DECL const char * duk_safe_to_lstring(duk_context *ctx, duk_idx_t idx, duk_size_t *out_len)
DUK_EXTERNAL_DECL duk_int_t duk_to_int(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_instanceof(duk_context *ctx, duk_idx_t idx1, duk_idx_t idx2)
void(* duk_fatal_function)(void *udata, const char *msg)
DUK_EXTERNAL_DECL void duk_push_undefined(duk_context *ctx)
DUK_EXTERNAL_DECL const char * duk_base64_encode(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_get_prototype(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_get_global_heapptr(duk_context *ctx, void *ptr)
DUK_EXTERNAL_DECL duk_bool_t duk_del_prop_index(duk_context *ctx, duk_idx_t obj_idx, duk_uarridx_t arr_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_put_prop(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_opt_boolean(duk_context *ctx, duk_idx_t idx, duk_bool_t def_value)
DUK_EXTERNAL_DECL void duk_freeze(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_put_global_lstring(duk_context *ctx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL void duk_require_undefined(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL const char * duk_to_lstring(duk_context *ctx, duk_idx_t idx, duk_size_t *out_len)
DUK_EXTERNAL_DECL void duk_set_length(duk_context *ctx, duk_idx_t idx, duk_size_t len)
DUK_EXTERNAL_DECL duk_context * duk_create_heap(duk_alloc_function alloc_func, duk_realloc_function realloc_func, duk_free_function free_func, void *heap_udata, duk_fatal_function fatal_handler)
DUK_EXTERNAL_DECL duk_bool_t duk_put_global_literal_raw(duk_context *ctx, const char *key, duk_size_t key_len)
duk_idx_t(* duk_debug_request_function)(duk_context *ctx, void *udata, duk_idx_t nvalues)
DUK_EXTERNAL_DECL void duk_require_stack_top(duk_context *ctx, duk_idx_t top)
DUK_EXTERNAL_DECL duk_int_t duk_opt_int(duk_context *ctx, duk_idx_t idx, duk_int_t def_value)
DUK_EXTERNAL_DECL const char * duk_opt_string(duk_context *ctx, duk_idx_t idx, const char *def_ptr)
DUK_EXTERNAL_DECL duk_bool_t duk_check_type_mask(duk_context *ctx, duk_idx_t idx, duk_uint_t mask)
DUK_EXTERNAL_DECL duk_bool_t duk_is_constructor_call(duk_context *ctx)
DUK_EXTERNAL_DECL duk_double_t duk_to_number(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_undefined(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_strict_equals(duk_context *ctx, duk_idx_t idx1, duk_idx_t idx2)
DUK_EXTERNAL_DECL duk_bool_t duk_del_prop(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL const char * duk_get_lstring(duk_context *ctx, duk_idx_t idx, duk_size_t *out_len)
DUK_EXTERNAL_DECL void * duk_require_pointer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_double_t duk_opt_number(duk_context *ctx, duk_idx_t idx, duk_double_t def_value)
DUK_EXTERNAL_DECL void duk_call_method(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL_DECL duk_bool_t duk_is_dynamic_buffer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_size_t duk_get_length(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_get_prop_lstring(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL void duk_destroy_heap(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_lightfunc(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_has_prop_literal_raw(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL void duk_dup_top(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_push_buffer_object(duk_context *ctx, duk_idx_t idx_buffer, duk_size_t byte_offset, duk_size_t byte_length, duk_uint_t flags)
DUK_EXTERNAL_DECL duk_bool_t duk_get_global_string(duk_context *ctx, const char *key)
DUK_EXTERNAL_DECL void duk_require_null(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_int_t duk_get_int(duk_context *ctx, duk_idx_t idx)
duk_size_t(* duk_debug_peek_function)(void *udata)
DUK_EXTERNAL_DECL void duk_push_false(duk_context *ctx)
DUK_EXTERNAL_DECL duk_context * duk_get_context(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL const char * duk_get_string(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL const char * duk_opt_lstring(duk_context *ctx, duk_idx_t idx, duk_size_t *out_len, const char *def_ptr, duk_size_t def_len)
DUK_EXTERNAL_DECL duk_int_t duk_pcall(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL_DECL duk_bool_t duk_get_prop(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_has_prop_lstring(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL duk_bool_t duk_del_prop_string(duk_context *ctx, duk_idx_t obj_idx, const char *key)
DUK_EXTERNAL_DECL void duk_cbor_decode(duk_context *ctx, duk_idx_t idx, duk_uint_t decode_flags)
DUK_EXTERNAL_DECL void duk_push_context_dump(duk_context *ctx)
DUK_EXTERNAL_DECL duk_int_t duk_get_type(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_uint_t duk_opt_uint(duk_context *ctx, duk_idx_t idx, duk_uint_t def_value)
DUK_EXTERNAL_DECL duk_context * duk_require_context(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_int_t duk_get_current_magic(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_push_int(duk_context *ctx, duk_int_t val)
DUK_EXTERNAL_DECL const char * duk_get_lstring_default(duk_context *ctx, duk_idx_t idx, duk_size_t *out_len, const char *def_ptr, duk_size_t def_len)
DUK_EXTERNAL_DECL void duk_to_primitive(duk_context *ctx, duk_idx_t idx, duk_int_t hint)
DUK_EXTERNAL_DECL duk_context * duk_get_context_default(duk_context *ctx, duk_idx_t idx, duk_context *def_value)
DUK_EXTERNAL_DECL duk_idx_t duk_push_thread_raw(duk_context *ctx, duk_uint_t flags)
DUK_EXTERNAL_DECL const char * duk_push_lstring(duk_context *ctx, const char *str, duk_size_t len)
DUK_EXTERNAL_DECL void duk_put_number_list(duk_context *ctx, duk_idx_t obj_idx, const duk_number_list_entry *numbers)
DUK_EXTERNAL_DECL void duk_push_nan(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_dup(duk_context *ctx, duk_idx_t from_idx)
DUK_EXTERNAL_DECL duk_codepoint_t duk_char_code_at(duk_context *ctx, duk_idx_t idx, duk_size_t char_offset)
DUK_EXTERNAL_DECL void duk_debugger_cooperate(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_compact(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL void * duk_opt_buffer(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size, void *def_ptr, duk_size_t def_size)
DUK_EXTERNAL_DECL duk_double_t duk_require_number(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_push_pointer(duk_context *ctx, void *p)
duk_size_t(* duk_debug_write_function)(void *udata, const char *buffer, duk_size_t length)
DUK_EXTERNAL_DECL duk_bool_t duk_del_prop_lstring(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL const char * duk_push_vsprintf(duk_context *ctx, const char *fmt, va_list ap)
DUK_EXTERNAL_DECL duk_bool_t duk_get_prop_literal_raw(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL duk_idx_t duk_require_normalize_index(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_uint_t duk_get_uint_default(duk_context *ctx, duk_idx_t idx, duk_uint_t def_value)
DUK_EXTERNAL_DECL void duk_pop_n(duk_context *ctx, duk_idx_t count)
DUK_EXTERNAL_DECL void duk_substring(duk_context *ctx, duk_idx_t idx, duk_size_t start_char_offset, duk_size_t end_char_offset)
DUK_EXTERNAL_DECL duk_bool_t duk_del_prop_heapptr(duk_context *ctx, duk_idx_t obj_idx, void *ptr)
DUK_EXTERNAL_DECL void * duk_resize_buffer(duk_context *ctx, duk_idx_t idx, duk_size_t new_size)
DUK_EXTERNAL_DECL duk_bool_t duk_is_ecmascript_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_error_object_va_raw(duk_context *ctx, duk_errcode_t err_code, const char *filename, duk_int_t line, const char *fmt, va_list ap)
DUK_EXTERNAL_DECL duk_int_t duk_pnew(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL_DECL void duk_require_stack(duk_context *ctx, duk_idx_t extra)
DUK_EXTERNAL_DECL const char * duk_push_literal_raw(duk_context *ctx, const char *str, duk_size_t len)
DUK_EXTERNAL_DECL void duk_pull(duk_context *ctx, duk_idx_t from_idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_strict_call(duk_context *ctx)
duk_ret_t(* duk_c_function)(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_check_type(duk_context *ctx, duk_idx_t idx, duk_int_t type)
DUK_EXTERNAL_DECL duk_bool_t duk_is_external_buffer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_get_heapptr(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_push_bare_object(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_get_prop_heapptr(duk_context *ctx, duk_idx_t obj_idx, void *ptr)
DUK_EXTERNAL_DECL void duk_remove(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_get_boolean(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_get_top_index(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_bound_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_debugger_detach(duk_context *ctx)
DUK_EXTERNAL_DECL const char * duk_safe_to_stacktrace(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_c_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_double_t duk_get_number(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_time_to_components(duk_context *ctx, duk_double_t timeval, duk_time_components *comp)
DUK_EXTERNAL_DECL duk_bool_t duk_has_prop(duk_context *ctx, duk_idx_t obj_idx)
DUK_EXTERNAL_DECL const char * duk_push_string(duk_context *ctx, const char *str)
DUK_EXTERNAL_DECL void duk_join(duk_context *ctx, duk_idx_t count)
DUK_EXTERNAL_DECL duk_bool_t duk_is_fixed_buffer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL const char * duk_push_sprintf(duk_context *ctx, const char *fmt,...)
DUK_EXTERNAL_DECL void * duk_opt_heapptr(duk_context *ctx, duk_idx_t idx, void *def_value)
DUK_EXTERNAL_DECL void duk_swap(duk_context *ctx, duk_idx_t idx1, duk_idx_t idx2)
DUK_EXTERNAL_DECL void duk_push_heap_stash(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_get_prop_desc(duk_context *ctx, duk_idx_t obj_idx, duk_uint_t flags)
DUK_EXTERNAL_DECL void duk_insert(duk_context *ctx, duk_idx_t to_idx)
DUK_EXTERNAL_DECL const char * duk_get_string_default(duk_context *ctx, duk_idx_t idx, const char *def_value)
DUK_EXTERNAL_DECL void duk_set_finalizer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_idx_t duk_require_top_index(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_push_global_stash(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_to_null(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_c_function duk_get_c_function_default(duk_context *ctx, duk_idx_t idx, duk_c_function def_value)
DUK_EXTERNAL_DECL void duk_debugger_pause(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_require_valid_index(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_push_null(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_new(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL_DECL void duk_inspect_callstack_entry(duk_context *ctx, duk_int_t level)
DUK_EXTERNAL_DECL void duk_xcopymove_raw(duk_context *to_ctx, duk_context *from_ctx, duk_idx_t count, duk_bool_t is_copy)
DUK_EXTERNAL_DECL duk_double_t duk_random(duk_context *ctx)
DUK_EXTERNAL_DECL duk_uint_t duk_get_uint(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_equals(duk_context *ctx, duk_idx_t idx1, duk_idx_t idx2)
DUK_EXTERNAL_DECL void duk_require_object(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_c_function duk_get_c_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_pointer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_put_global_heapptr(duk_context *ctx, void *ptr)
DUK_EXTERNAL_DECL duk_bool_t duk_is_null(duk_context *ctx, duk_idx_t idx)
void(* duk_decode_char_function)(void *udata, duk_codepoint_t codepoint)
DUK_EXTERNAL_DECL void duk_push_this(duk_context *ctx)
DUK_EXTERNAL_DECL duk_int_t duk_pcall_method(duk_context *ctx, duk_idx_t nargs)
DUK_EXTERNAL_DECL duk_uint_t duk_get_type_mask(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_buffer(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_pop_3(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_next(duk_context *ctx, duk_idx_t enum_idx, duk_bool_t get_value)
DUK_EXTERNAL_DECL duk_bool_t duk_put_prop_lstring(duk_context *ctx, duk_idx_t obj_idx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL duk_errcode_t duk_get_error_code(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_push_current_function(duk_context *ctx)
DUK_EXTERNAL_DECL void duk_set_top(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_uint16_t duk_to_uint16(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_get_global_literal_raw(duk_context *ctx, const char *key, duk_size_t key_len)
DUK_EXTERNAL_DECL void duk_call_prop(duk_context *ctx, duk_idx_t obj_idx, duk_idx_t nargs)
DUK_EXTERNAL_DECL duk_int_t duk_compile_raw(duk_context *ctx, const char *src_buffer, duk_size_t src_length, duk_uint_t flags)
DUK_EXTERNAL_DECL duk_bool_t duk_is_function(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void * duk_to_buffer_raw(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size, duk_uint_t flags)
DUK_EXTERNAL_DECL void duk_enum(duk_context *ctx, duk_idx_t obj_idx, duk_uint_t enum_flags)
DUK_EXTERNAL_DECL void duk_load_function(duk_context *ctx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_constructable(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL duk_bool_t duk_is_symbol(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_get_memory_functions(duk_context *ctx, duk_memory_functions *out_funcs)
DUK_EXTERNAL_DECL void duk_push_uint(duk_context *ctx, duk_uint_t val)
#define DUK_API_NORETURN(decl)
DUK_EXTERNAL_DECL const char * duk_to_string(duk_context *ctx, duk_idx_t idx)
DUK_EXTERNAL_DECL void duk_free_raw(duk_context *ctx, void *ptr)
DUK_EXTERNAL_DECL duk_c_function duk_opt_c_function(duk_context *ctx, duk_idx_t idx, duk_c_function def_value)
DUK_EXTERNAL_DECL void duk_debugger_attach(duk_context *ctx, duk_debug_read_function read_cb, duk_debug_write_function write_cb, duk_debug_peek_function peek_cb, duk_debug_read_flush_function read_flush_cb, duk_debug_write_flush_function write_flush_cb, duk_debug_request_function request_cb, duk_debug_detached_function detached_cb, void *udata)
DUK_EXTERNAL_DECL duk_bool_t duk_require_boolean(duk_context *ctx, duk_idx_t idx)
duk_free_function free_func
duk_realloc_function realloc_func
duk_alloc_function alloc_func
duk_double_t milliseconds
static nserror line(const struct redraw_context *ctx, const plot_style_t *style, const struct rect *line)
Plots a line.