Skip to content

Instantly share code, notes, and snippets.

@genotrance
Created June 28, 2020 02:21
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save genotrance/51702ec94efcf7151b3d253600f6be22 to your computer and use it in GitHub Desktop.
Save genotrance/51702ec94efcf7151b3d253600f6be22 to your computer and use it in GitHub Desktop.
Nim wrapper for duktape using nimterop
# nim c -d:FLAGS duktape.nim
#
# FLAGS
# -d:duktapeStd | -d:duktapeDL | -d:duktapeConan
# -d:duktapeSetVer=2.5.0
# -d:duktapeStatic
import nimterop/[build, cimport]
static:
cDebug() # Print wrapper to stdout
const
baseDir = getProjectCacheDir("duktape") # Download library within nimcache
getHeader(
header = "duktape.h", # The header file to wrap, full path is returned in `headerPath`
conanuri = "duktape", # Conan.io URI
dlurl = "https://duktape.org/duktape-$1.tar.xz",
outdir = baseDir
)
cOverride:
type
duk_hthread = object
cImport("/usr/include/stdint.h", flags = "-E__,_ -F_")
cImport(duktapePath, recurse = true)
# Copying libduktape.so to /home/gt/duktape
# Including library /home/gt/duktape/libduktape.so
# Overriding duk_hthread
# Importing /usr/include/stdint.h
# Generated @ 2020-06-27T21:10:18-05:00
# Command line:
# /home/gt/nimterop/nimterop/toast --preprocess -m:c -E__,_ -F_ --pnim --symOverride=duk_hthread --nim:/home/gt/nimdevel/bin/nim --pluginSourcePath=/home/gt/.cache/nim/nimterop/cPlugins/nimterop_3405548017.nim /usr/include/stdint.h
import nimterop/types
{.push hint[ConvFromXtoItselfNotNeeded]: off.}
# type 'intptr_t' is duplicate, skipped
# type 'uintptr_t' is duplicate, skipped
# const 'INT64_MIN' has unsupported value '(-__INT64_C(9223372036854775807)-1)'
# const 'INT64_MAX' has unsupported value '(__INT64_C(9223372036854775807))'
# const 'UINT64_MAX' has unsupported value '(__UINT64_C(18446744073709551615))'
# const 'INT_LEAST64_MIN' has unsupported value '(-__INT64_C(9223372036854775807)-1)'
# const 'INT_LEAST64_MAX' has unsupported value '(__INT64_C(9223372036854775807))'
# const 'UINT_LEAST64_MAX' has unsupported value '(__UINT64_C(18446744073709551615))'
# const 'INT_FAST64_MIN' has unsupported value '(-__INT64_C(9223372036854775807)-1)'
# const 'INT_FAST64_MAX' has unsupported value '(__INT64_C(9223372036854775807))'
# const 'UINT_FAST16_MAX' has unsupported value '(18446744073709551615UL)'
# const 'UINT_FAST32_MAX' has unsupported value '(18446744073709551615UL)'
# const 'UINT_FAST64_MAX' has unsupported value '(__UINT64_C(18446744073709551615))'
# const 'UINTPTR_MAX' has unsupported value '(18446744073709551615UL)'
# const 'INTMAX_MIN' has unsupported value '(-__INT64_C(9223372036854775807)-1)'
# const 'INTMAX_MAX' has unsupported value '(__INT64_C(9223372036854775807))'
# const 'UINTMAX_MAX' has unsupported value '(__UINT64_C(18446744073709551615))'
# const 'SIZE_MAX' has unsupported value '(18446744073709551615UL)'
# const 'WCHAR_MIN' has unsupported value '__WCHAR_MIN'
# const 'WCHAR_MAX' has unsupported value '__WCHAR_MAX'
{.pragma: impstdintHdr, header: "/usr/include/stdint.h".}
{.experimental: "codeReordering".}
const
STDINT_H* = 1
INT8_MIN* = (-128)
INT16_MIN* = (-32767 - typeof(-32767)(1))
INT32_MIN* = (-2147483647 - typeof(-2147483647)(1))
INT8_MAX* = (127)
INT16_MAX* = (32767)
INT32_MAX* = (2147483647)
UINT8_MAX* = (255)
UINT16_MAX* = (65535)
UINT32_MAX* = (4294967295'u)
INT_LEAST8_MIN* = (-128)
INT_LEAST16_MIN* = (-32767 - typeof(-32767)(1))
INT_LEAST32_MIN* = (-2147483647 - typeof(-2147483647)(1))
INT_LEAST8_MAX* = (127)
INT_LEAST16_MAX* = (32767)
INT_LEAST32_MAX* = (2147483647)
UINT_LEAST8_MAX* = (255)
UINT_LEAST16_MAX* = (65535)
UINT_LEAST32_MAX* = (4294967295'u)
INT_FAST8_MIN* = (-128)
INT_FAST16_MIN* = (
-9223372036854775807'i64 - typeof(-9223372036854775807'i64)(1))
INT_FAST32_MIN* = (
-9223372036854775807'i64 - typeof(-9223372036854775807'i64)(1))
INT_FAST8_MAX* = (127)
INT_FAST16_MAX* = (9223372036854775807'i64)
INT_FAST32_MAX* = (9223372036854775807'i64)
UINT_FAST8_MAX* = (255)
INTPTR_MIN* = (-9223372036854775807'i64 - typeof(-9223372036854775807'i64)(1))
INTPTR_MAX* = (9223372036854775807'i64)
PTRDIFF_MIN* = (-9223372036854775807'i64 - typeof(-9223372036854775807'i64)(1))
PTRDIFF_MAX* = (9223372036854775807'i64)
SIG_ATOMIC_MIN* = (-2147483647 - typeof(-2147483647)(1))
SIG_ATOMIC_MAX* = (2147483647)
WINT_MIN* = (0'u)
WINT_MAX* = (4294967295'u)
type
duk_hthread = object
int_least8_t* {.importc, impstdintHdr.} = cschar ## ```
## Exact integral types.
## Signed.
## Unsigned.
## Small types.
## Signed.
## ```
int_least16_t* {.importc, impstdintHdr.} = cshort
int_least32_t* {.importc, impstdintHdr.} = cint
int_least64_t* {.importc, impstdintHdr.} = clong
uint_least8_t* {.importc, impstdintHdr.} = cuchar ## ```
## Unsigned.
## ```
uint_least16_t* {.importc, impstdintHdr.} = cushort
uint_least32_t* {.importc, impstdintHdr.} = cuint
uint_least64_t* {.importc, impstdintHdr.} = culong
int_fast8_t* {.importc, impstdintHdr.} = cschar ## ```
## Fast types.
## Signed.
## ```
int_fast16_t* {.importc, impstdintHdr.} = clong
int_fast32_t* {.importc, impstdintHdr.} = clong
int_fast64_t* {.importc, impstdintHdr.} = clong
uint_fast8_t* {.importc, impstdintHdr.} = cuchar ## ```
## Unsigned.
## ```
uint_fast16_t* {.importc, impstdintHdr.} = culong
uint_fast32_t* {.importc, impstdintHdr.} = culong
uint_fast64_t* {.importc, impstdintHdr.} = culong ## ```
## Types for void' pointers.
## ```
intmax_t* {.importc, impstdintHdr, incompleteStruct.} = object
uintmax_t* {.importc, impstdintHdr, incompleteStruct.} = object
{.pop.}
# Importing /home/gt/.cache/nim/nimterop/testwrapper/include/duktape.h
# Generated @ 2020-06-27T21:10:19-05:00
# Command line:
# /home/gt/nimterop/nimterop/toast --preprocess -m:c --recurse --pnim --symOverride=duk_hthread --nim:/home/gt/nimdevel/bin/nim /home/gt/.cache/nim/nimterop/testwrapper/include/duktape.h
import nimterop/types
{.push hint[ConvFromXtoItselfNotNeeded]: off.}
# const 'DUK_F_GCC_VERSION' has unsupported value '(__GNUC__ * 10000L + __GNUC_MINOR__ * 100L + __GNUC_PATCHLEVEL__)'
# const 'DUK_NOINLINE' has unsupported value '__attribute__((noinline))'
# const 'DUK_INLINE' has unsupported value 'inline'
# const 'DUK_ALWAYS_INLINE' has unsupported value 'inline __attribute__((always_inline))'
# const 'DUK_HOT' has unsupported value '__attribute__((hot))'
# const 'DUK_COLD' has unsupported value '__attribute__((cold))'
# const 'DUK_EXTERNAL_DECL' has unsupported value '__attribute__ ((visibility("default"))) extern'
# const 'DUK_EXTERNAL' has unsupported value '__attribute__ ((visibility("default")))'
# const 'DUK_INTERNAL_DECL' has unsupported value 'static __attribute__ ((unused))'
# const 'DUK_INTERNAL' has unsupported value 'static __attribute__ ((unused))'
# const 'DUK_LOCAL_DECL' has unsupported value 'static'
# const 'DUK_LOCAL' has unsupported value 'static'
# const 'DUK_UINT8_MAX' has unsupported value 'UINT8_MAX'
# const 'DUK_INT8_MIN' has unsupported value 'INT8_MIN'
# const 'DUK_INT8_MAX' has unsupported value 'INT8_MAX'
# const 'DUK_UINT_LEAST8_MAX' has unsupported value 'UINT_LEAST8_MAX'
# const 'DUK_INT_LEAST8_MIN' has unsupported value 'INT_LEAST8_MIN'
# const 'DUK_INT_LEAST8_MAX' has unsupported value 'INT_LEAST8_MAX'
# const 'DUK_UINT_FAST8_MAX' has unsupported value 'UINT_FAST8_MAX'
# const 'DUK_INT_FAST8_MIN' has unsupported value 'INT_FAST8_MIN'
# const 'DUK_INT_FAST8_MAX' has unsupported value 'INT_FAST8_MAX'
# const 'DUK_UINT16_MAX' has unsupported value 'UINT16_MAX'
# const 'DUK_INT16_MIN' has unsupported value 'INT16_MIN'
# const 'DUK_INT16_MAX' has unsupported value 'INT16_MAX'
# const 'DUK_UINT_LEAST16_MAX' has unsupported value 'UINT_LEAST16_MAX'
# const 'DUK_INT_LEAST16_MIN' has unsupported value 'INT_LEAST16_MIN'
# const 'DUK_INT_LEAST16_MAX' has unsupported value 'INT_LEAST16_MAX'
# const 'DUK_UINT_FAST16_MAX' has unsupported value 'UINT_FAST16_MAX'
# const 'DUK_INT_FAST16_MIN' has unsupported value 'INT_FAST16_MIN'
# const 'DUK_INT_FAST16_MAX' has unsupported value 'INT_FAST16_MAX'
# const 'DUK_UINT32_MAX' has unsupported value 'UINT32_MAX'
# const 'DUK_INT32_MIN' has unsupported value 'INT32_MIN'
# const 'DUK_INT32_MAX' has unsupported value 'INT32_MAX'
# const 'DUK_UINT_LEAST32_MAX' has unsupported value 'UINT_LEAST32_MAX'
# const 'DUK_INT_LEAST32_MIN' has unsupported value 'INT_LEAST32_MIN'
# const 'DUK_INT_LEAST32_MAX' has unsupported value 'INT_LEAST32_MAX'
# const 'DUK_UINT_FAST32_MAX' has unsupported value 'UINT_FAST32_MAX'
# const 'DUK_INT_FAST32_MIN' has unsupported value 'INT_FAST32_MIN'
# const 'DUK_INT_FAST32_MAX' has unsupported value 'INT_FAST32_MAX'
# const 'DUK_UINT64_MAX' has unsupported value 'UINT64_MAX'
# const 'DUK_INT64_MIN' has unsupported value 'INT64_MIN'
# const 'DUK_INT64_MAX' has unsupported value 'INT64_MAX'
# const 'DUK_UINT_LEAST64_MAX' has unsupported value 'UINT_LEAST64_MAX'
# const 'DUK_INT_LEAST64_MIN' has unsupported value 'INT_LEAST64_MIN'
# const 'DUK_INT_LEAST64_MAX' has unsupported value 'INT_LEAST64_MAX'
# const 'DUK_UINT_FAST64_MAX' has unsupported value 'UINT_FAST64_MAX'
# const 'DUK_INT_FAST64_MIN' has unsupported value 'INT_FAST64_MIN'
# const 'DUK_INT_FAST64_MAX' has unsupported value 'INT_FAST64_MAX'
# const 'DUK_UINTPTR_MAX' has unsupported value 'UINTPTR_MAX'
# const 'DUK_INTPTR_MIN' has unsupported value 'INTPTR_MIN'
# const 'DUK_INTPTR_MAX' has unsupported value 'INTPTR_MAX'
# const 'DUK_UINTMAX_MAX' has unsupported value 'UINTMAX_MAX'
# const 'DUK_INTMAX_MIN' has unsupported value 'INTMAX_MIN'
# const 'DUK_INTMAX_MAX' has unsupported value 'INTMAX_MAX'
# const 'DUK_SIZE_MAX' has unsupported value 'SIZE_MAX'
# const 'DUK_INT_MIN' has unsupported value 'INT_MIN'
# const 'DUK_INT_MAX' has unsupported value 'INT_MAX'
# const 'DUK_UINT_MAX' has unsupported value 'UINT_MAX'
# const 'DUK_INT_FAST_MIN' has unsupported value 'DUK_INT_FAST32_MIN'
# const 'DUK_INT_FAST_MAX' has unsupported value 'DUK_INT_FAST32_MAX'
# const 'DUK_UINT_FAST_MIN' has unsupported value 'DUK_UINT_FAST32_MIN'
# const 'DUK_UINT_FAST_MAX' has unsupported value 'DUK_UINT_FAST32_MAX'
# const 'DUK_SMALL_INT_MIN' has unsupported value 'INT_MIN'
# const 'DUK_SMALL_INT_MAX' has unsupported value 'INT_MAX'
# const 'DUK_SMALL_UINT_MAX' has unsupported value 'UINT_MAX'
# const 'DUK_SMALL_INT_FAST_MIN' has unsupported value 'DUK_INT_FAST16_MIN'
# const 'DUK_SMALL_INT_FAST_MAX' has unsupported value 'DUK_INT_FAST16_MAX'
# const 'DUK_SMALL_UINT_FAST_MIN' has unsupported value 'DUK_UINT_FAST16_MIN'
# const 'DUK_SMALL_UINT_FAST_MAX' has unsupported value 'DUK_UINT_FAST16_MAX'
# const 'DUK_BOOL_MIN' has unsupported value 'DUK_SMALL_UINT_MIN'
# const 'DUK_BOOL_MAX' has unsupported value 'DUK_SMALL_UINT_MAX'
# const 'DUK_IDX_MIN' has unsupported value 'DUK_INT_MIN'
# const 'DUK_IDX_MAX' has unsupported value 'DUK_INT_MAX'
# const 'DUK_UIDX_MIN' has unsupported value 'DUK_UINT_MIN'
# const 'DUK_UIDX_MAX' has unsupported value 'DUK_UINT_MAX'
# const 'DUK_UARRIDX_MIN' has unsupported value 'DUK_UINT_MIN'
# const 'DUK_UARRIDX_MAX' has unsupported value 'DUK_UINT_MAX'
# const 'DUK_RET_MIN' has unsupported value 'DUK_SMALL_INT_MIN'
# const 'DUK_RET_MAX' has unsupported value 'DUK_SMALL_INT_MAX'
# const 'DUK_ERRCODE_MIN' has unsupported value 'DUK_INT_MIN'
# const 'DUK_ERRCODE_MAX' has unsupported value 'DUK_INT_MAX'
# const 'DUK_CODEPOINT_MIN' has unsupported value 'DUK_INT_MIN'
# const 'DUK_CODEPOINT_MAX' has unsupported value 'DUK_INT_MAX'
# const 'DUK_UCODEPOINT_MIN' has unsupported value 'DUK_UINT_MIN'
# const 'DUK_UCODEPOINT_MAX' has unsupported value 'DUK_UINT_MAX'
# const 'DUK_ABORT' has unsupported value 'abort'
# const 'DUK_JMPBUF_TYPE' has unsupported value 'jmp_buf'
# const 'DUK_ANSI_MALLOC' has unsupported value 'malloc'
# const 'DUK_ANSI_REALLOC' has unsupported value 'realloc'
# const 'DUK_ANSI_CALLOC' has unsupported value 'calloc'
# const 'DUK_ANSI_FREE' has unsupported value 'free'
# const 'DUK_MEMCPY' has unsupported value 'memcpy'
# const 'DUK_MEMMOVE' has unsupported value 'memmove'
# const 'DUK_MEMCMP' has unsupported value 'memcmp'
# const 'DUK_MEMSET' has unsupported value 'memset'
# const 'DUK_STRLEN' has unsupported value 'strlen'
# const 'DUK_STRCMP' has unsupported value 'strcmp'
# const 'DUK_STRNCMP' has unsupported value 'strncmp'
# const 'DUK_SPRINTF' has unsupported value 'sprintf'
# const 'DUK_SNPRINTF' has unsupported value 'snprintf'
# const 'DUK_VSPRINTF' has unsupported value 'vsprintf'
# const 'DUK_VSNPRINTF' has unsupported value 'vsnprintf'
# const 'DUK_SSCANF' has unsupported value 'sscanf'
# const 'DUK_VSSCANF' has unsupported value 'vsscanf'
# const 'DUK_DOUBLE_INFINITY' has unsupported value '((double) INFINITY)'
# const 'DUK_DOUBLE_NAN' has unsupported value 'NAN'
# const 'DUK_FPCLASSIFY' has unsupported value 'fpclassify'
# const 'DUK_SIGNBIT' has unsupported value 'signbit'
# const 'DUK_ISFINITE' has unsupported value 'isfinite'
# const 'DUK_ISNAN' has unsupported value 'isnan'
# const 'DUK_ISINF' has unsupported value 'isinf'
# const 'DUK_FP_NAN' has unsupported value 'FP_NAN'
# const 'DUK_FP_INFINITE' has unsupported value 'FP_INFINITE'
# const 'DUK_FP_ZERO' has unsupported value 'FP_ZERO'
# const 'DUK_FP_SUBNORMAL' has unsupported value 'FP_SUBNORMAL'
# const 'DUK_FP_NORMAL' has unsupported value 'FP_NORMAL'
# const 'DUK_FABS' has unsupported value 'fabs'
# const 'DUK_FLOOR' has unsupported value 'floor'
# const 'DUK_CEIL' has unsupported value 'ceil'
# const 'DUK_FMOD' has unsupported value 'fmod'
# const 'DUK_POW' has unsupported value 'pow'
# const 'DUK_ACOS' has unsupported value 'acos'
# const 'DUK_ASIN' has unsupported value 'asin'
# const 'DUK_ATAN' has unsupported value 'atan'
# const 'DUK_ATAN2' has unsupported value 'atan2'
# const 'DUK_SIN' has unsupported value 'sin'
# const 'DUK_COS' has unsupported value 'cos'
# const 'DUK_TAN' has unsupported value 'tan'
# const 'DUK_EXP' has unsupported value 'exp'
# const 'DUK_LOG' has unsupported value 'log'
# const 'DUK_SQRT' has unsupported value 'sqrt'
# const 'DUK_CBRT' has unsupported value 'cbrt'
# const 'DUK_LOG2' has unsupported value 'log2'
# const 'DUK_LOG10' has unsupported value 'log10'
# const 'DUK_TRUNC' has unsupported value 'trunc'
# const 'DUK_FILE_MACRO' has unsupported value '__FILE__'
# const 'DUK_LINE_MACRO' has unsupported value '__LINE__'
# const 'DUK_FUNC_MACRO' has unsupported value '__func__'
# type 'duk_thread_state' is duplicate, skipped
# type 'duk_memory_functions' is duplicate, skipped
# type 'duk_function_list_entry' is duplicate, skipped
# type 'duk_number_list_entry' is duplicate, skipped
# type 'duk_time_components' is duplicate, skipped
# type 'duk_thread_state' is duplicate, skipped
# type 'duk_memory_functions' is duplicate, skipped
# type 'duk_function_list_entry' is duplicate, skipped
# type 'duk_number_list_entry' is duplicate, skipped
# type 'duk_time_components' is duplicate, skipped
# const 'DUK_INVALID_INDEX' has unsupported value 'DUK_IDX_MIN'
# const 'DUK_VARARGS' has unsupported value '((duk_int_t) (-1))'
# const 'DUK_HINT_NONE' has unsupported value '0 /* prefer number, unless input is a Date, in which'
# const 'DUK_DEFPROP_CLEAR_WRITABLE' has unsupported value 'DUK_DEFPROP_HAVE_WRITABLE'
# const 'DUK_DEFPROP_CLEAR_ENUMERABLE' has unsupported value 'DUK_DEFPROP_HAVE_ENUMERABLE'
# const 'DUK_DEFPROP_CLEAR_CONFIGURABLE' has unsupported value 'DUK_DEFPROP_HAVE_CONFIGURABLE'
# const 'DUK_DEFPROP_W' has unsupported value 'DUK_DEFPROP_WRITABLE'
# const 'DUK_DEFPROP_E' has unsupported value 'DUK_DEFPROP_ENUMERABLE'
# const 'DUK_DEFPROP_C' has unsupported value 'DUK_DEFPROP_CONFIGURABLE'
# const 'DUK_DEFPROP_HAVE_W' has unsupported value 'DUK_DEFPROP_HAVE_WRITABLE'
# const 'DUK_DEFPROP_HAVE_E' has unsupported value 'DUK_DEFPROP_HAVE_ENUMERABLE'
# const 'DUK_DEFPROP_HAVE_C' has unsupported value 'DUK_DEFPROP_HAVE_CONFIGURABLE'
# const 'DUK_DEFPROP_SET_W' has unsupported value 'DUK_DEFPROP_SET_WRITABLE'
# const 'DUK_DEFPROP_SET_E' has unsupported value 'DUK_DEFPROP_SET_ENUMERABLE'
# const 'DUK_DEFPROP_SET_C' has unsupported value 'DUK_DEFPROP_SET_CONFIGURABLE'
# const 'DUK_DEFPROP_CLEAR_W' has unsupported value 'DUK_DEFPROP_CLEAR_WRITABLE'
# const 'DUK_DEFPROP_CLEAR_E' has unsupported value 'DUK_DEFPROP_CLEAR_ENUMERABLE'
# const 'DUK_DEFPROP_CLEAR_C' has unsupported value 'DUK_DEFPROP_CLEAR_CONFIGURABLE'
# const 'DUK_DEFPROP_CLEAR_WE' has unsupported value '(DUK_DEFPROP_CLEAR_WRITABLE | DUK_DEFPROP_CLEAR_ENUMERABLE)'
# const 'DUK_DEFPROP_CLEAR_WC' has unsupported value '(DUK_DEFPROP_CLEAR_WRITABLE | DUK_DEFPROP_CLEAR_CONFIGURABLE)'
# const 'DUK_DEFPROP_CLEAR_EC' has unsupported value '(DUK_DEFPROP_CLEAR_ENUMERABLE | DUK_DEFPROP_CLEAR_CONFIGURABLE)'
# const 'DUK_DEFPROP_CLEAR_WEC' has unsupported value '(DUK_DEFPROP_CLEAR_WRITABLE | DUK_DEFPROP_CLEAR_ENUMERABLE | DUK_DEFPROP_CLEAR_CONFIGURABLE)'
# const 'DUK_DEFPROP_ATTR_W' has unsupported value '(DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_W)'
# const 'DUK_DEFPROP_ATTR_E' has unsupported value '(DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_E)'
# const 'DUK_DEFPROP_ATTR_C' has unsupported value '(DUK_DEFPROP_HAVE_WEC | DUK_DEFPROP_C)'
# const 'DUK_DATE_MSEC_100M_DAYS_LEEWAY' has unsupported value '(8.64e15 + 24 * 3600e3)'
{.pragma: impduktapeHdr,
header: "/home/gt/.cache/nim/nimterop/testwrapper/include/duktape.h".}
{.experimental: "codeReordering".}
const
DUK_VERSION* = 20500'i32
DUK_GIT_COMMIT* = "6001888049cb42656f8649db020e804bcdeca6a7"
DUK_GIT_DESCRIBE* = "v2.5.0"
DUK_GIT_BRANCH* = "master"
DUK_USE_OS_STRING* = "linux"
DUK_USE_ARCH_STRING* = "x64"
DUK_USE_BYTEORDER* = 1
DUK_USE_COMPILER_STRING* = "gcc"
DUK_UINT8_MIN* = 0
DUK_UINT_LEAST8_MIN* = 0
DUK_UINT_FAST8_MIN* = 0
DUK_UINT16_MIN* = 0
DUK_UINT_LEAST16_MIN* = 0
DUK_UINT_FAST16_MIN* = 0
DUK_UINT32_MIN* = 0
DUK_UINT_LEAST32_MIN* = 0
DUK_UINT_FAST32_MIN* = 0
DUK_UINT64_MIN* = 0
DUK_UINT_LEAST64_MIN* = 0
DUK_UINT_FAST64_MIN* = 0
DUK_UINTPTR_MIN* = 0
DUK_UINTMAX_MIN* = 0
DUK_SIZE_MIN* = 0
DUK_UINT_MIN* = 0
DUK_SMALL_UINT_MIN* = 0
DUK_USE_ALIGN_BY* = 8
DUK_USE_CALLSTACK_LIMIT* = 10000
DUK_USE_COMPILER_RECLIMIT* = 2500
DUK_USE_DEBUG_BUFSIZE* = 65536'i32
DUK_USE_DEBUG_LEVEL* = 0
DUK_USE_ESBC_MAX_BYTES* = 2147418112'i32
DUK_USE_ESBC_MAX_LINENUMBER* = 2147418112'i32
DUK_USE_FATAL_MAXLEN* = 128
DUK_USE_HOBJECT_ARRAY_ABANDON_LIMIT* = 2
DUK_USE_HOBJECT_ARRAY_ABANDON_MINSIZE* = 257
DUK_USE_HOBJECT_ARRAY_FAST_RESIZE_LIMIT* = 9
DUK_USE_HOBJECT_ARRAY_MINGROW_ADD* = 16
DUK_USE_HOBJECT_ARRAY_MINGROW_DIVISOR* = 8
DUK_USE_HOBJECT_ENTRY_MINGROW_ADD* = 16
DUK_USE_HOBJECT_ENTRY_MINGROW_DIVISOR* = 8
DUK_USE_HOBJECT_HASH_PROP_LIMIT* = 8
DUK_USE_JSON_DEC_RECLIMIT* = 1000
DUK_USE_JSON_ENC_RECLIMIT* = 1000
DUK_USE_LITCACHE_SIZE* = 256
DUK_USE_MARK_AND_SWEEP_RECLIMIT* = 256
DUK_USE_NATIVE_CALL_RECLIMIT* = 1000
DUK_USE_REGEXP_COMPILER_RECLIMIT* = 10000
DUK_USE_REGEXP_EXECUTOR_RECLIMIT* = 10000
DUK_USE_ROM_PTRCOMP_FIRST* = 63488'i32
DUK_USE_STRHASH_SKIP_SHIFT* = 5
DUK_USE_STRTAB_GROW_LIMIT* = 17
DUK_USE_STRTAB_MAXSIZE* = 268435456'i32
DUK_USE_STRTAB_MINSIZE* = 1024
DUK_USE_STRTAB_RESIZE_CHECK_MASK* = 255
DUK_USE_STRTAB_SHRINK_LIMIT* = 6
DUK_USE_TARGET_INFO* = "unknown"
DUK_USE_TRACEBACK_DEPTH* = 10
DUK_USE_VALSTACK_GROW_SHIFT* = 2
DUK_USE_VALSTACK_LIMIT* = 1000000'i32
DUK_USE_VALSTACK_SHRINK_CHECK_SHIFT* = 2
DUK_USE_VALSTACK_SHRINK_SLACK_SHIFT* = 4
DUK_DEBUG_PROTOCOL_VERSION* = 2
DUK_API_ENTRY_STACK* = 64'u
DUK_TYPE_MIN* = 0'u
DUK_TYPE_NONE* = 0'u
DUK_TYPE_UNDEFINED* = 1'u
DUK_TYPE_NULL* = 2'u
DUK_TYPE_BOOLEAN* = 3'u
DUK_TYPE_NUMBER* = 4'u
DUK_TYPE_STRING* = 5'u
DUK_TYPE_OBJECT* = 6'u
DUK_TYPE_BUFFER* = 7'u
DUK_TYPE_POINTER* = 8'u
DUK_TYPE_LIGHTFUNC* = 9'u
DUK_TYPE_MAX* = 9'u
DUK_TYPE_MASK_NONE* = (1'u shl typeof(1'u)(DUK_TYPE_NONE))
DUK_TYPE_MASK_UNDEFINED* = (1'u shl typeof(1'u)(DUK_TYPE_UNDEFINED))
DUK_TYPE_MASK_NULL* = (1'u shl typeof(1'u)(DUK_TYPE_NULL))
DUK_TYPE_MASK_BOOLEAN* = (1'u shl typeof(1'u)(DUK_TYPE_BOOLEAN))
DUK_TYPE_MASK_NUMBER* = (1'u shl typeof(1'u)(DUK_TYPE_NUMBER))
DUK_TYPE_MASK_STRING* = (1'u shl typeof(1'u)(DUK_TYPE_STRING))
DUK_TYPE_MASK_OBJECT* = (1'u shl typeof(1'u)(DUK_TYPE_OBJECT))
DUK_TYPE_MASK_BUFFER* = (1'u shl typeof(1'u)(DUK_TYPE_BUFFER))
DUK_TYPE_MASK_POINTER* = (1'u shl typeof(1'u)(DUK_TYPE_POINTER))
DUK_TYPE_MASK_LIGHTFUNC* = (1'u shl typeof(1'u)(DUK_TYPE_LIGHTFUNC))
DUK_TYPE_MASK_THROW* = (1'u shl typeof(1'u)(10))
DUK_TYPE_MASK_PROMOTE* = (1'u shl typeof(1'u)(11))
DUK_HINT_STRING* = 1
DUK_HINT_NUMBER* = 2
DUK_ENUM_INCLUDE_NONENUMERABLE* = (1'u shl typeof(1'u)(0))
DUK_ENUM_INCLUDE_HIDDEN* = (1'u shl typeof(1'u)(1))
DUK_ENUM_INCLUDE_SYMBOLS* = (1'u shl typeof(1'u)(2))
DUK_ENUM_EXCLUDE_STRINGS* = (1'u shl typeof(1'u)(3))
DUK_ENUM_OWN_PROPERTIES_ONLY* = (1'u shl typeof(1'u)(4))
DUK_ENUM_ARRAY_INDICES_ONLY* = (1'u shl typeof(1'u)(5))
DUK_ENUM_SORT_ARRAY_INDICES* = (1'u shl typeof(1'u)(6))
DUK_ENUM_NO_PROXY_BEHAVIOR* = (1'u shl typeof(1'u)(7))
DUK_COMPILE_EVAL* = (1'u shl typeof(1'u)(3))
DUK_COMPILE_FUNCTION* = (1'u shl typeof(1'u)(4))
DUK_COMPILE_STRICT* = (1'u shl typeof(1'u)(5))
DUK_COMPILE_SHEBANG* = (1'u shl typeof(1'u)(6))
DUK_COMPILE_SAFE* = (1'u shl typeof(1'u)(7))
DUK_COMPILE_NORESULT* = (1'u shl typeof(1'u)(8))
DUK_COMPILE_NOSOURCE* = (1'u shl typeof(1'u)(9))
DUK_COMPILE_STRLEN* = (1'u shl typeof(1'u)(10))
DUK_COMPILE_NOFILENAME* = (1'u shl typeof(1'u)(11))
DUK_COMPILE_FUNCEXPR* = (1'u shl typeof(1'u)(12))
DUK_DEFPROP_WRITABLE* = (1'u shl typeof(1'u)(0))
DUK_DEFPROP_ENUMERABLE* = (1'u shl typeof(1'u)(1))
DUK_DEFPROP_CONFIGURABLE* = (1'u shl typeof(1'u)(2))
DUK_DEFPROP_HAVE_WRITABLE* = (1'u shl typeof(1'u)(3))
DUK_DEFPROP_HAVE_ENUMERABLE* = (1'u shl typeof(1'u)(4))
DUK_DEFPROP_HAVE_CONFIGURABLE* = (1'u shl typeof(1'u)(5))
DUK_DEFPROP_HAVE_VALUE* = (1'u shl typeof(1'u)(6))
DUK_DEFPROP_HAVE_GETTER* = (1'u shl typeof(1'u)(7))
DUK_DEFPROP_HAVE_SETTER* = (1'u shl typeof(1'u)(8))
DUK_DEFPROP_FORCE* = (1'u shl typeof(1'u)(9))
DUK_DEFPROP_SET_WRITABLE* = (DUK_DEFPROP_HAVE_WRITABLE or
typeof(DUK_DEFPROP_HAVE_WRITABLE)(DUK_DEFPROP_WRITABLE))
DUK_DEFPROP_SET_ENUMERABLE* = (DUK_DEFPROP_HAVE_ENUMERABLE or
typeof(DUK_DEFPROP_HAVE_ENUMERABLE)(DUK_DEFPROP_ENUMERABLE))
DUK_DEFPROP_SET_CONFIGURABLE* = (DUK_DEFPROP_HAVE_CONFIGURABLE or
typeof(DUK_DEFPROP_HAVE_CONFIGURABLE)(DUK_DEFPROP_CONFIGURABLE))
DUK_DEFPROP_WE* = (DUK_DEFPROP_WRITABLE or
typeof(DUK_DEFPROP_WRITABLE)(DUK_DEFPROP_ENUMERABLE))
DUK_DEFPROP_WC* = (DUK_DEFPROP_WRITABLE or
typeof(DUK_DEFPROP_WRITABLE)(DUK_DEFPROP_CONFIGURABLE))
DUK_DEFPROP_EC* = (DUK_DEFPROP_ENUMERABLE or
typeof(DUK_DEFPROP_ENUMERABLE)(DUK_DEFPROP_CONFIGURABLE))
DUK_DEFPROP_WEC* = (DUK_DEFPROP_WRITABLE or
typeof(DUK_DEFPROP_WRITABLE)(DUK_DEFPROP_ENUMERABLE) or
typeof(DUK_DEFPROP_WRITABLE)(DUK_DEFPROP_CONFIGURABLE))
DUK_DEFPROP_HAVE_WE* = (DUK_DEFPROP_HAVE_WRITABLE or
typeof(DUK_DEFPROP_HAVE_WRITABLE)(DUK_DEFPROP_HAVE_ENUMERABLE))
DUK_DEFPROP_HAVE_WC* = (DUK_DEFPROP_HAVE_WRITABLE or
typeof(DUK_DEFPROP_HAVE_WRITABLE)(DUK_DEFPROP_HAVE_CONFIGURABLE))
DUK_DEFPROP_HAVE_EC* = (DUK_DEFPROP_HAVE_ENUMERABLE or
typeof(DUK_DEFPROP_HAVE_ENUMERABLE)(DUK_DEFPROP_HAVE_CONFIGURABLE))
DUK_DEFPROP_HAVE_WEC* = (DUK_DEFPROP_HAVE_WRITABLE or
typeof(DUK_DEFPROP_HAVE_WRITABLE)(DUK_DEFPROP_HAVE_ENUMERABLE) or
typeof(DUK_DEFPROP_HAVE_WRITABLE)(DUK_DEFPROP_HAVE_CONFIGURABLE))
DUK_DEFPROP_SET_WE* = (DUK_DEFPROP_SET_WRITABLE or
typeof(DUK_DEFPROP_SET_WRITABLE)(DUK_DEFPROP_SET_ENUMERABLE))
DUK_DEFPROP_SET_WC* = (DUK_DEFPROP_SET_WRITABLE or
typeof(DUK_DEFPROP_SET_WRITABLE)(DUK_DEFPROP_SET_CONFIGURABLE))
DUK_DEFPROP_SET_EC* = (DUK_DEFPROP_SET_ENUMERABLE or
typeof(DUK_DEFPROP_SET_ENUMERABLE)(DUK_DEFPROP_SET_CONFIGURABLE))
DUK_DEFPROP_SET_WEC* = (DUK_DEFPROP_SET_WRITABLE or
typeof(DUK_DEFPROP_SET_WRITABLE)(DUK_DEFPROP_SET_ENUMERABLE) or
typeof(DUK_DEFPROP_SET_WRITABLE)(DUK_DEFPROP_SET_CONFIGURABLE))
DUK_DEFPROP_ATTR_WE* = (
DUK_DEFPROP_HAVE_WEC or typeof(DUK_DEFPROP_HAVE_WEC)(DUK_DEFPROP_WE))
DUK_DEFPROP_ATTR_WC* = (
DUK_DEFPROP_HAVE_WEC or typeof(DUK_DEFPROP_HAVE_WEC)(DUK_DEFPROP_WC))
DUK_DEFPROP_ATTR_EC* = (
DUK_DEFPROP_HAVE_WEC or typeof(DUK_DEFPROP_HAVE_WEC)(DUK_DEFPROP_EC))
DUK_DEFPROP_ATTR_WEC* = (
DUK_DEFPROP_HAVE_WEC or typeof(DUK_DEFPROP_HAVE_WEC)(DUK_DEFPROP_WEC))
DUK_THREAD_NEW_GLOBAL_ENV* = (1'u shl typeof(1'u)(0))
DUK_GC_COMPACT* = (1'u shl typeof(1'u)(0))
DUK_ERR_NONE* = 0
DUK_ERR_ERROR* = 1
DUK_ERR_EVAL_ERROR* = 2
DUK_ERR_RANGE_ERROR* = 3
DUK_ERR_REFERENCE_ERROR* = 4
DUK_ERR_SYNTAX_ERROR* = 5
DUK_ERR_TYPE_ERROR* = 6
DUK_ERR_URI_ERROR* = 7
DUK_RET_ERROR* = ((-(int64(DUK_ERR_ERROR))))
DUK_RET_EVAL_ERROR* = ((-(int64(DUK_ERR_EVAL_ERROR))))
DUK_RET_RANGE_ERROR* = ((-(int64(DUK_ERR_RANGE_ERROR))))
DUK_RET_REFERENCE_ERROR* = ((-(int64(DUK_ERR_REFERENCE_ERROR))))
DUK_RET_SYNTAX_ERROR* = ((-(int64(DUK_ERR_SYNTAX_ERROR))))
DUK_RET_TYPE_ERROR* = ((-(int64(DUK_ERR_TYPE_ERROR))))
DUK_RET_URI_ERROR* = ((-(int64(DUK_ERR_URI_ERROR))))
DUK_EXEC_SUCCESS* = 0
DUK_EXEC_ERROR* = 1
DUK_LEVEL_DEBUG* = 0
DUK_LEVEL_DDEBUG* = 1
DUK_LEVEL_DDDEBUG* = 2
DUK_BUF_FLAG_DYNAMIC* = (1 shl typeof(1)(0))
DUK_BUF_FLAG_EXTERNAL* = (1 shl typeof(1)(1))
DUK_BUF_FLAG_NOZERO* = (1 shl typeof(1)(2))
DUK_BUFOBJ_ARRAYBUFFER* = 0
DUK_BUFOBJ_NODEJS_BUFFER* = 1
DUK_BUFOBJ_DATAVIEW* = 2
DUK_BUFOBJ_INT8ARRAY* = 3
DUK_BUFOBJ_UINT8ARRAY* = 4
DUK_BUFOBJ_UINT8CLAMPEDARRAY* = 5
DUK_BUFOBJ_INT16ARRAY* = 6
DUK_BUFOBJ_UINT16ARRAY* = 7
DUK_BUFOBJ_INT32ARRAY* = 8
DUK_BUFOBJ_UINT32ARRAY* = 9
DUK_BUFOBJ_FLOAT32ARRAY* = 10
DUK_BUFOBJ_FLOAT64ARRAY* = 11
DUK_BUF_MODE_FIXED* = 0
DUK_BUF_MODE_DYNAMIC* = 1
DUK_BUF_MODE_DONTCARE* = 2
DUK_DATE_MSEC_SECOND* = 1000'i32
DUK_DATE_MSEC_MINUTE* = (60'i32 * typeof(60'i32)(1000'i32))
DUK_DATE_MSEC_HOUR* = (
60'i32 * typeof(60'i32)(60'i32) * typeof(60'i32)(1000'i32))
DUK_DATE_MSEC_DAY* = (24'i32 * typeof(24'i32)(60'i32) * typeof(24'i32)(60'i32) *
typeof(24'i32)(1000'i32))
DUK_DATE_MSEC_100M_DAYS* = (8640000000000000.0)
DUK_DATE_MIN_ECMA_YEAR* = (-271821'i32)
DUK_DATE_MAX_ECMA_YEAR* = 275760'i32
DUK_DATE_IDX_YEAR* = 0
DUK_DATE_IDX_MONTH* = 1
DUK_DATE_IDX_DAY* = 2
DUK_DATE_IDX_HOUR* = 3
DUK_DATE_IDX_MINUTE* = 4
DUK_DATE_IDX_SECOND* = 5
DUK_DATE_IDX_MILLISECOND* = 6
DUK_DATE_IDX_WEEKDAY* = 7
DUK_DATE_IDX_NUM_PARTS* = 8
DUK_DATE_FLAG_NAN_TO_ZERO* = (1 shl typeof(1)(0))
DUK_DATE_FLAG_NAN_TO_RANGE_ERROR* = (1 shl typeof(1)(1))
DUK_DATE_FLAG_ONEBASED* = (1 shl typeof(1)(2))
DUK_DATE_FLAG_EQUIVYEAR* = (1 shl typeof(1)(3))
DUK_DATE_FLAG_LOCALTIME* = (1 shl typeof(1)(4))
DUK_DATE_FLAG_SUB1900* = (1 shl typeof(1)(5))
DUK_DATE_FLAG_TOSTRING_DATE* = (1 shl typeof(1)(6))
DUK_DATE_FLAG_TOSTRING_TIME* = (1 shl typeof(1)(7))
DUK_DATE_FLAG_TOSTRING_LOCALE* = (1 shl typeof(1)(8))
DUK_DATE_FLAG_TIMESETTER* = (1 shl typeof(1)(9))
DUK_DATE_FLAG_YEAR_FIXUP* = (1 shl typeof(1)(10))
DUK_DATE_FLAG_SEP_T* = (1 shl typeof(1)(11))
DUK_DATE_FLAG_VALUE_SHIFT* = 12
type
duk_uint8_t* {.importc, impduktapeHdr.} = uint8
duk_int8_t* {.importc, impduktapeHdr.} = int8
duk_uint16_t* {.importc, impduktapeHdr.} = uint16
duk_int16_t* {.importc, impduktapeHdr.} = int16
duk_uint32_t* {.importc, impduktapeHdr.} = uint32
duk_int32_t* {.importc, impduktapeHdr.} = int32
duk_uint64_t* {.importc, impduktapeHdr.} = uint64
duk_int64_t* {.importc, impduktapeHdr.} = int64
duk_uint_least8_t* {.importc, impduktapeHdr.} = uint_least8_t
duk_int_least8_t* {.importc, impduktapeHdr.} = int_least8_t
duk_uint_least16_t* {.importc, impduktapeHdr.} = uint_least16_t
duk_int_least16_t* {.importc, impduktapeHdr.} = int_least16_t
duk_uint_least32_t* {.importc, impduktapeHdr.} = uint_least32_t
duk_int_least32_t* {.importc, impduktapeHdr.} = int_least32_t
duk_uint_least64_t* {.importc, impduktapeHdr.} = uint_least64_t
duk_int_least64_t* {.importc, impduktapeHdr.} = int_least64_t
duk_uint_fast8_t* {.importc, impduktapeHdr.} = uint_fast8_t
duk_int_fast8_t* {.importc, impduktapeHdr.} = int_fast8_t
duk_uint_fast16_t* {.importc, impduktapeHdr.} = uint_fast16_t
duk_int_fast16_t* {.importc, impduktapeHdr.} = int_fast16_t
duk_uint_fast32_t* {.importc, impduktapeHdr.} = uint_fast32_t
duk_int_fast32_t* {.importc, impduktapeHdr.} = int_fast32_t
duk_uint_fast64_t* {.importc, impduktapeHdr.} = uint_fast64_t
duk_int_fast64_t* {.importc, impduktapeHdr.} = int_fast64_t
duk_uintptr_t* {.importc, impduktapeHdr.} = ptr uint
duk_intptr_t* {.importc, impduktapeHdr.} = ptr int
duk_uintmax_t* {.importc, impduktapeHdr.} = uintmax_t
duk_intmax_t* {.importc, impduktapeHdr.} = intmax_t
duk_size_t* {.importc, impduktapeHdr.} = uint ## ```
## A few types are assumed to always exist.
## ```
duk_ptrdiff_t* {.importc, impduktapeHdr.} = ptrdiff_t
duk_int_t* {.importc, impduktapeHdr.} = cint
duk_uint_t* {.importc, impduktapeHdr.} = cuint
duk_int_fast_t* {.importc, impduktapeHdr.} = duk_int_fast32_t ## ```
## Same as 'duk_int_t' but guaranteed to be a 'fast' variant if this
## distinction matters for the CPU. These types are used mainly in the
## executor where it might really matter.
## ```
duk_uint_fast_t* {.importc, impduktapeHdr.} = duk_uint_fast32_t
duk_small_int_t* {.importc, impduktapeHdr.} = cint ## ```
## Small integers (16 bits or more) can fall back to the 'int' type, but
## have a typedef so they are marked "small" explicitly.
## ```
duk_small_uint_t* {.importc, impduktapeHdr.} = cuint
duk_small_int_fast_t* {.importc, impduktapeHdr.} = duk_int_fast16_t ## ```
## Fast variants of small integers, again for really fast paths like the
## executor.
## ```
duk_small_uint_fast_t* {.importc, impduktapeHdr.} = duk_uint_fast16_t
duk_bool_t* {.importc, impduktapeHdr.} = duk_small_uint_t ## ```
## Boolean values are represented with the platform 'unsigned int'.
## ```
duk_idx_t* {.importc, impduktapeHdr.} = duk_int_t ## ```
## Index values must have at least 32-bit signed range.
## ```
duk_uidx_t* {.importc, impduktapeHdr.} = duk_uint_t ## ```
## Unsigned index variant.
## ```
duk_uarridx_t* {.importc, impduktapeHdr.} = duk_uint_t ## ```
## Array index values, could be exact 32 bits.
## Currently no need for signed duk_arridx_t.
## ```
duk_ret_t* {.importc, impduktapeHdr.} = duk_small_int_t ## ```
## Duktape/C function return value, platform int is enough for now to
## represent 0, 1, or negative error code. Must be compatible with
## assigning truth values (e.g. duk_ret_t rc = (foo == bar);).
## ```
duk_errcode_t* {.importc, impduktapeHdr.} = duk_int_t ## ```
## Error codes are represented with platform int. High bits are used
## for flags and such, so 32 bits are needed.
## ```
duk_codepoint_t* {.importc, impduktapeHdr.} = duk_int_t ## ```
## Codepoint type. Must be 32 bits or more because it is used also for
## internal codepoints. The type is signed because negative codepoints
## are used as internal markers (e.g. to mark EOF or missing argument).
## (X)UTF-8/CESU-8 encode/decode take and return an unsigned variant to
## ensure duk_uint32_t casts back and forth nicely. Almost everything
## else uses the signed one.
## ```
duk_ucodepoint_t* {.importc, impduktapeHdr.} = duk_uint_t
duk_float_t* {.importc, impduktapeHdr.} = cfloat ## ```
## IEEE float/double typedef.
## ```
duk_double_t* {.importc, impduktapeHdr.} = cdouble
duk_context* {.importc, impduktapeHdr.} = duk_hthread ## ```
## We're generally assuming that we're working on a platform with a 32-bit
## address space. If DUK_SIZE_MAX is a typecast value (which is necessary
## if SIZE_MAX is missing), the check must be avoided because the
## preprocessor can't do a comparison.
##
## Type used in public API declarations and user code. Typedef maps to
## 'struct duk_hthread' like the 'duk_hthread' typedef which is used
## exclusively in internals.
## ```
duk_thread_state* {.bycopy, impduktapeHdr, importc: "struct duk_thread_state".} = object
data*: array[128, cchar] ## ```
## XXX: Enough space to hold internal suspend/resume structure.
## This is rather awkward and to be fixed when the internal
## structure is visible for the public API header.
## ```
duk_memory_functions* {.bycopy, impduktapeHdr,
importc: "struct duk_memory_functions".} = object
alloc_func*: duk_alloc_function
realloc_func*: duk_realloc_function
free_func*: duk_free_function
udata*: pointer
duk_function_list_entry* {.bycopy, impduktapeHdr,
importc: "struct duk_function_list_entry".} = object
key*: cstring
value*: duk_c_function
nargs*: duk_idx_t
duk_number_list_entry* {.bycopy, impduktapeHdr,
importc: "struct duk_number_list_entry".} = object
key*: cstring
value*: duk_double_t
duk_time_components* {.bycopy, impduktapeHdr,
importc: "struct duk_time_components".} = object
year*: duk_double_t ## ```
## year, e.g. 2016, ECMAScript year range
## ```
month*: duk_double_t ## ```
## month: 1-12
## ```
day*: duk_double_t ## ```
## day: 1-31
## ```
hours*: duk_double_t ## ```
## hour: 0-59
## ```
minutes*: duk_double_t ## ```
## minute: 0-59
## ```
seconds*: duk_double_t ## ```
## second: 0-59 (in POSIX time no leap second)
## ```
milliseconds*: duk_double_t ## ```
## may contain sub-millisecond fractions
## ```
weekday*: duk_double_t ## ```
## weekday: 0-6, 0=Sunday, 1=Monday, ..., 6=Saturday
## ```
duk_c_function* {.importc, impduktapeHdr.} = proc (ctx: ptr duk_context): duk_ret_t {.
cdecl.}
duk_alloc_function* {.importc, impduktapeHdr.} = proc (udata: pointer;
size: duk_size_t): pointer {.cdecl.}
duk_realloc_function* {.importc, impduktapeHdr.} = proc (udata: pointer;
`ptr`: pointer; size: duk_size_t): pointer {.cdecl.}
duk_free_function* {.importc, impduktapeHdr.} = proc (udata: pointer; `ptr`: pointer) {.
cdecl.}
duk_fatal_function* {.importc, impduktapeHdr.} = proc (udata: pointer; msg: cstring) {.
cdecl.}
duk_decode_char_function* {.importc, impduktapeHdr.} = proc (udata: pointer;
codepoint: duk_codepoint_t) {.cdecl.}
duk_map_char_function* {.importc, impduktapeHdr.} = proc (udata: pointer;
codepoint: duk_codepoint_t): duk_codepoint_t {.cdecl.}
duk_safe_call_function* {.importc, impduktapeHdr.} = proc (ctx: ptr duk_context;
udata: pointer): duk_ret_t {.cdecl.}
duk_debug_read_function* {.importc, impduktapeHdr.} = proc (udata: pointer;
buffer: cstring; length: duk_size_t): duk_size_t {.cdecl.}
duk_debug_write_function* {.importc, impduktapeHdr.} = proc (udata: pointer;
buffer: cstring; length: duk_size_t): duk_size_t {.cdecl.}
duk_debug_peek_function* {.importc, impduktapeHdr.} = proc (udata: pointer): duk_size_t {.
cdecl.}
duk_debug_read_flush_function* {.importc, impduktapeHdr.} = proc (udata: pointer) {.
cdecl.}
duk_debug_write_flush_function* {.importc, impduktapeHdr.} = proc (udata: pointer) {.
cdecl.}
duk_debug_request_function* {.importc, impduktapeHdr.} = proc (
ctx: ptr duk_context; udata: pointer; nvalues: duk_idx_t): duk_idx_t {.cdecl.}
duk_debug_detached_function* {.importc, impduktapeHdr.} = proc (
ctx: ptr duk_context; udata: pointer) {.cdecl.}
proc duk_create_heap*(alloc_func: duk_alloc_function;
realloc_func: duk_realloc_function;
free_func: duk_free_function; heap_udata: pointer;
fatal_handler: duk_fatal_function): ptr duk_context {.importc,
cdecl, impduktapeHdr.}
proc duk_destroy_heap*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_suspend*(ctx: ptr duk_context; state: ptr duk_thread_state) {.importc, cdecl,
impduktapeHdr.}
proc duk_resume*(ctx: ptr duk_context; state: ptr duk_thread_state) {.importc, cdecl,
impduktapeHdr.}
proc duk_alloc_raw*(ctx: ptr duk_context; size: duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_free_raw*(ctx: ptr duk_context; `ptr`: pointer) {.importc, cdecl, impduktapeHdr.}
proc duk_realloc_raw*(ctx: ptr duk_context; `ptr`: pointer; size: duk_size_t): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_alloc*(ctx: ptr duk_context; size: duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_free*(ctx: ptr duk_context; `ptr`: pointer) {.importc, cdecl, impduktapeHdr.}
proc duk_realloc*(ctx: ptr duk_context; `ptr`: pointer; size: duk_size_t): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_get_memory_functions*(ctx: ptr duk_context;
out_funcs: ptr duk_memory_functions) {.importc, cdecl,
impduktapeHdr.}
proc duk_gc*(ctx: ptr duk_context; flags: duk_uint_t) {.importc, cdecl, impduktapeHdr.}
proc duk_throw_raw*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_fatal_raw*(ctx: ptr duk_context; err_msg: cstring) {.importc, cdecl,
impduktapeHdr.}
proc duk_error_raw*(ctx: ptr duk_context; err_code: duk_errcode_t; filename: cstring;
line: duk_int_t; fmt: cstring) {.importc, cdecl, impduktapeHdr,
varargs.}
proc duk_error_va_raw*(ctx: ptr duk_context; err_code: duk_errcode_t;
filename: cstring; line: duk_int_t; fmt: cstring; ap: va_list) {.
importc, cdecl, impduktapeHdr.}
proc duk_is_strict_call*(ctx: ptr duk_context): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_constructor_call*(ctx: ptr duk_context): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_normalize_index*(ctx: ptr duk_context; idx: duk_idx_t): duk_idx_t {.importc,
cdecl, impduktapeHdr.}
proc duk_require_normalize_index*(ctx: ptr duk_context; idx: duk_idx_t): duk_idx_t {.
importc, cdecl, impduktapeHdr.}
proc duk_is_valid_index*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_require_valid_index*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_get_top*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl, impduktapeHdr.}
proc duk_set_top*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_get_top_index*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl,
impduktapeHdr.}
proc duk_require_top_index*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl,
impduktapeHdr.}
proc duk_check_stack*(ctx: ptr duk_context; extra: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
## ```
## Although extra/top could be an unsigned type here, using a signed type
## makes the API more robust to calling code calculation errors or corner
## cases (where caller might occasionally come up with negative values).
## Negative values are treated as zero, which is better than casting them
## to a large unsigned number. (This principle is used elsewhere in the
## API too.)
## ```
proc duk_require_stack*(ctx: ptr duk_context; extra: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_check_stack_top*(ctx: ptr duk_context; top: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_require_stack_top*(ctx: ptr duk_context; top: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_swap*(ctx: ptr duk_context; idx1: duk_idx_t; idx2: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_swap_top*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_dup*(ctx: ptr duk_context; from_idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_dup_top*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_insert*(ctx: ptr duk_context; to_idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_pull*(ctx: ptr duk_context; from_idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_replace*(ctx: ptr duk_context; to_idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_copy*(ctx: ptr duk_context; from_idx: duk_idx_t; to_idx: duk_idx_t) {.importc,
cdecl, impduktapeHdr.}
proc duk_remove*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_xcopymove_raw*(to_ctx: ptr duk_context; from_ctx: ptr duk_context;
count: duk_idx_t; is_copy: duk_bool_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_push_undefined*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_null*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_boolean*(ctx: ptr duk_context; val: duk_bool_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_push_true*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_false*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_number*(ctx: ptr duk_context; val: duk_double_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_push_nan*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_int*(ctx: ptr duk_context; val: duk_int_t) {.importc, cdecl, impduktapeHdr.}
proc duk_push_uint*(ctx: ptr duk_context; val: duk_uint_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_push_string*(ctx: ptr duk_context; str: cstring): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_push_lstring*(ctx: ptr duk_context; str: cstring; len: duk_size_t): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_push_pointer*(ctx: ptr duk_context; p: pointer) {.importc, cdecl, impduktapeHdr.}
proc duk_push_sprintf*(ctx: ptr duk_context; fmt: cstring): cstring {.importc, cdecl,
impduktapeHdr, varargs.}
proc duk_push_vsprintf*(ctx: ptr duk_context; fmt: cstring; ap: va_list): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_push_literal_raw*(ctx: ptr duk_context; str: cstring; len: duk_size_t): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_push_this*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_new_target*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_current_function*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_current_thread*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_global_object*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_heap_stash*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_global_stash*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_thread_stash*(ctx: ptr duk_context; target_ctx: ptr duk_context) {.
importc, cdecl, impduktapeHdr.}
proc duk_push_object*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl, impduktapeHdr.}
proc duk_push_bare_object*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl,
impduktapeHdr.}
proc duk_push_array*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl, impduktapeHdr.}
proc duk_push_bare_array*(ctx: ptr duk_context): duk_idx_t {.importc, cdecl,
impduktapeHdr.}
proc duk_push_c_function*(ctx: ptr duk_context; `func`: duk_c_function;
nargs: duk_idx_t): duk_idx_t {.importc, cdecl, impduktapeHdr.}
proc duk_push_c_lightfunc*(ctx: ptr duk_context; `func`: duk_c_function;
nargs: duk_idx_t; length: duk_idx_t; magic: duk_int_t): duk_idx_t {.
importc, cdecl, impduktapeHdr.}
proc duk_push_thread_raw*(ctx: ptr duk_context; flags: duk_uint_t): duk_idx_t {.
importc, cdecl, impduktapeHdr.}
proc duk_push_proxy*(ctx: ptr duk_context; proxy_flags: duk_uint_t): duk_idx_t {.
importc, cdecl, impduktapeHdr.}
proc duk_push_error_object_raw*(ctx: ptr duk_context; err_code: duk_errcode_t;
filename: cstring; line: duk_int_t; fmt: cstring): duk_idx_t {.
importc, cdecl, impduktapeHdr, varargs.}
proc duk_push_error_object_va_raw*(ctx: ptr duk_context; err_code: duk_errcode_t;
filename: cstring; line: duk_int_t; fmt: cstring;
ap: va_list): duk_idx_t {.importc, cdecl,
impduktapeHdr.}
proc duk_push_buffer_raw*(ctx: ptr duk_context; size: duk_size_t;
flags: duk_small_uint_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_push_buffer_object*(ctx: ptr duk_context; idx_buffer: duk_idx_t;
byte_offset: duk_size_t; byte_length: duk_size_t;
flags: duk_uint_t) {.importc, cdecl, impduktapeHdr.}
proc duk_push_heapptr*(ctx: ptr duk_context; `ptr`: pointer): duk_idx_t {.importc,
cdecl, impduktapeHdr.}
proc duk_pop*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_pop_n*(ctx: ptr duk_context; count: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_pop_2*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_pop_3*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_get_type*(ctx: ptr duk_context; idx: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_check_type*(ctx: ptr duk_context; idx: duk_idx_t; `type`: duk_int_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_type_mask*(ctx: ptr duk_context; idx: duk_idx_t): duk_uint_t {.importc,
cdecl, impduktapeHdr.}
proc duk_check_type_mask*(ctx: ptr duk_context; idx: duk_idx_t; mask: duk_uint_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_is_undefined*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_null*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_boolean*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_number*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_nan*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_string*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_object*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_buffer*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_buffer_data*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_pointer*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_lightfunc*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_symbol*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_array*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_function*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_c_function*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_ecmascript_function*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_is_bound_function*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_is_thread*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_is_constructable*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_dynamic_buffer*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_is_fixed_buffer*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_is_external_buffer*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_error_code*(ctx: ptr duk_context; idx: duk_idx_t): duk_errcode_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_boolean*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_get_number*(ctx: ptr duk_context; idx: duk_idx_t): duk_double_t {.importc,
cdecl, impduktapeHdr.}
proc duk_get_int*(ctx: ptr duk_context; idx: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_uint*(ctx: ptr duk_context; idx: duk_idx_t): duk_uint_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_string*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_get_lstring*(ctx: ptr duk_context; idx: duk_idx_t; out_len: ptr duk_size_t): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_get_buffer*(ctx: ptr duk_context; idx: duk_idx_t; out_size: ptr duk_size_t): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_get_buffer_data*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_get_pointer*(ctx: ptr duk_context; idx: duk_idx_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_get_c_function*(ctx: ptr duk_context; idx: duk_idx_t): duk_c_function {.
importc, cdecl, impduktapeHdr.}
proc duk_get_context*(ctx: ptr duk_context; idx: duk_idx_t): ptr duk_context {.importc,
cdecl, impduktapeHdr.}
proc duk_get_heapptr*(ctx: ptr duk_context; idx: duk_idx_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_get_boolean_default*(ctx: ptr duk_context; idx: duk_idx_t;
def_value: duk_bool_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_number_default*(ctx: ptr duk_context; idx: duk_idx_t;
def_value: duk_double_t): duk_double_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_int_default*(ctx: ptr duk_context; idx: duk_idx_t; def_value: duk_int_t): duk_int_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_uint_default*(ctx: ptr duk_context; idx: duk_idx_t; def_value: duk_uint_t): duk_uint_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_string_default*(ctx: ptr duk_context; idx: duk_idx_t; def_value: cstring): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_get_lstring_default*(ctx: ptr duk_context; idx: duk_idx_t;
out_len: ptr duk_size_t; def_ptr: cstring;
def_len: duk_size_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_get_buffer_default*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t; def_ptr: pointer;
def_len: duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_get_buffer_data_default*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t; def_ptr: pointer;
def_len: duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_get_pointer_default*(ctx: ptr duk_context; idx: duk_idx_t; def_value: pointer): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_get_c_function_default*(ctx: ptr duk_context; idx: duk_idx_t;
def_value: duk_c_function): duk_c_function {.
importc, cdecl, impduktapeHdr.}
proc duk_get_context_default*(ctx: ptr duk_context; idx: duk_idx_t;
def_value: ptr duk_context): ptr duk_context {.importc,
cdecl, impduktapeHdr.}
proc duk_get_heapptr_default*(ctx: ptr duk_context; idx: duk_idx_t; def_value: pointer): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_boolean*(ctx: ptr duk_context; idx: duk_idx_t; def_value: duk_bool_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_number*(ctx: ptr duk_context; idx: duk_idx_t; def_value: duk_double_t): duk_double_t {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_int*(ctx: ptr duk_context; idx: duk_idx_t; def_value: duk_int_t): duk_int_t {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_uint*(ctx: ptr duk_context; idx: duk_idx_t; def_value: duk_uint_t): duk_uint_t {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_string*(ctx: ptr duk_context; idx: duk_idx_t; def_ptr: cstring): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_lstring*(ctx: ptr duk_context; idx: duk_idx_t; out_len: ptr duk_size_t;
def_ptr: cstring; def_len: duk_size_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_opt_buffer*(ctx: ptr duk_context; idx: duk_idx_t; out_size: ptr duk_size_t;
def_ptr: pointer; def_size: duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_opt_buffer_data*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t; def_ptr: pointer;
def_size: duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_opt_pointer*(ctx: ptr duk_context; idx: duk_idx_t; def_value: pointer): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_c_function*(ctx: ptr duk_context; idx: duk_idx_t;
def_value: duk_c_function): duk_c_function {.importc, cdecl,
impduktapeHdr.}
proc duk_opt_context*(ctx: ptr duk_context; idx: duk_idx_t; def_value: ptr duk_context): ptr duk_context {.
importc, cdecl, impduktapeHdr.}
proc duk_opt_heapptr*(ctx: ptr duk_context; idx: duk_idx_t; def_value: pointer): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_require_undefined*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_require_null*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_require_boolean*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_require_number*(ctx: ptr duk_context; idx: duk_idx_t): duk_double_t {.importc,
cdecl, impduktapeHdr.}
proc duk_require_int*(ctx: ptr duk_context; idx: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_require_uint*(ctx: ptr duk_context; idx: duk_idx_t): duk_uint_t {.importc,
cdecl, impduktapeHdr.}
proc duk_require_string*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc,
cdecl, impduktapeHdr.}
proc duk_require_lstring*(ctx: ptr duk_context; idx: duk_idx_t;
out_len: ptr duk_size_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_require_object*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_require_buffer*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_require_buffer_data*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_require_pointer*(ctx: ptr duk_context; idx: duk_idx_t): pointer {.importc,
cdecl, impduktapeHdr.}
proc duk_require_c_function*(ctx: ptr duk_context; idx: duk_idx_t): duk_c_function {.
importc, cdecl, impduktapeHdr.}
proc duk_require_context*(ctx: ptr duk_context; idx: duk_idx_t): ptr duk_context {.
importc, cdecl, impduktapeHdr.}
proc duk_require_function*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_require_constructor_call*(ctx: ptr duk_context) {.importc, cdecl,
impduktapeHdr.}
proc duk_require_constructable*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_require_heapptr*(ctx: ptr duk_context; idx: duk_idx_t): pointer {.importc,
cdecl, impduktapeHdr.}
proc duk_to_undefined*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_to_null*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_to_boolean*(ctx: ptr duk_context; idx: duk_idx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_to_number*(ctx: ptr duk_context; idx: duk_idx_t): duk_double_t {.importc,
cdecl, impduktapeHdr.}
proc duk_to_int*(ctx: ptr duk_context; idx: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_to_uint*(ctx: ptr duk_context; idx: duk_idx_t): duk_uint_t {.importc, cdecl,
impduktapeHdr.}
proc duk_to_int32*(ctx: ptr duk_context; idx: duk_idx_t): duk_int32_t {.importc, cdecl,
impduktapeHdr.}
proc duk_to_uint32*(ctx: ptr duk_context; idx: duk_idx_t): duk_uint32_t {.importc,
cdecl, impduktapeHdr.}
proc duk_to_uint16*(ctx: ptr duk_context; idx: duk_idx_t): duk_uint16_t {.importc,
cdecl, impduktapeHdr.}
proc duk_to_string*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_to_lstring*(ctx: ptr duk_context; idx: duk_idx_t; out_len: ptr duk_size_t): cstring {.
importc, cdecl, impduktapeHdr.}
proc duk_to_buffer_raw*(ctx: ptr duk_context; idx: duk_idx_t;
out_size: ptr duk_size_t; flags: duk_uint_t): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_to_pointer*(ctx: ptr duk_context; idx: duk_idx_t): pointer {.importc, cdecl,
impduktapeHdr.}
proc duk_to_object*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_to_primitive*(ctx: ptr duk_context; idx: duk_idx_t; hint: duk_int_t) {.importc,
cdecl, impduktapeHdr.}
proc duk_safe_to_lstring*(ctx: ptr duk_context; idx: duk_idx_t;
out_len: ptr duk_size_t): cstring {.importc, cdecl,
impduktapeHdr.}
## ```
## safe variants of a few coercion operations
## ```
proc duk_to_stacktrace*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_safe_to_stacktrace*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc,
cdecl, impduktapeHdr.}
proc duk_get_length*(ctx: ptr duk_context; idx: duk_idx_t): duk_size_t {.importc, cdecl,
impduktapeHdr.}
proc duk_set_length*(ctx: ptr duk_context; idx: duk_idx_t; len: duk_size_t) {.importc,
cdecl, impduktapeHdr.}
proc duk_base64_encode*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_base64_decode*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_hex_encode*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_hex_decode*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_json_encode*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc, cdecl,
impduktapeHdr.}
proc duk_json_decode*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_cbor_encode*(ctx: ptr duk_context; idx: duk_idx_t; encode_flags: duk_uint_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_cbor_decode*(ctx: ptr duk_context; idx: duk_idx_t; decode_flags: duk_uint_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_buffer_to_string*(ctx: ptr duk_context; idx: duk_idx_t): cstring {.importc,
cdecl, impduktapeHdr.}
proc duk_resize_buffer*(ctx: ptr duk_context; idx: duk_idx_t; new_size: duk_size_t): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_steal_buffer*(ctx: ptr duk_context; idx: duk_idx_t; out_size: ptr duk_size_t): pointer {.
importc, cdecl, impduktapeHdr.}
proc duk_config_buffer*(ctx: ptr duk_context; idx: duk_idx_t; `ptr`: pointer;
len: duk_size_t) {.importc, cdecl, impduktapeHdr.}
proc duk_get_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_get_prop_string*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_prop_lstring*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_prop_literal_raw*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_prop_index*(ctx: ptr duk_context; obj_idx: duk_idx_t;
arr_idx: duk_uarridx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_prop_heapptr*(ctx: ptr duk_context; obj_idx: duk_idx_t; `ptr`: pointer): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_put_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_put_prop_string*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_put_prop_lstring*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_put_prop_literal_raw*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_put_prop_index*(ctx: ptr duk_context; obj_idx: duk_idx_t;
arr_idx: duk_uarridx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_put_prop_heapptr*(ctx: ptr duk_context; obj_idx: duk_idx_t; `ptr`: pointer): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_del_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_del_prop_string*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_del_prop_lstring*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_del_prop_literal_raw*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_del_prop_index*(ctx: ptr duk_context; obj_idx: duk_idx_t;
arr_idx: duk_uarridx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_del_prop_heapptr*(ctx: ptr duk_context; obj_idx: duk_idx_t; `ptr`: pointer): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_has_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_has_prop_string*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_has_prop_lstring*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_has_prop_literal_raw*(ctx: ptr duk_context; obj_idx: duk_idx_t; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_has_prop_index*(ctx: ptr duk_context; obj_idx: duk_idx_t;
arr_idx: duk_uarridx_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_has_prop_heapptr*(ctx: ptr duk_context; obj_idx: duk_idx_t; `ptr`: pointer): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_prop_desc*(ctx: ptr duk_context; obj_idx: duk_idx_t; flags: duk_uint_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_def_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t; flags: duk_uint_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_get_global_string*(ctx: ptr duk_context; key: cstring): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_get_global_lstring*(ctx: ptr duk_context; key: cstring; key_len: duk_size_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_get_global_literal_raw*(ctx: ptr duk_context; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_get_global_heapptr*(ctx: ptr duk_context; `ptr`: pointer): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_put_global_string*(ctx: ptr duk_context; key: cstring): duk_bool_t {.importc,
cdecl, impduktapeHdr.}
proc duk_put_global_lstring*(ctx: ptr duk_context; key: cstring; key_len: duk_size_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_put_global_literal_raw*(ctx: ptr duk_context; key: cstring;
key_len: duk_size_t): duk_bool_t {.importc, cdecl,
impduktapeHdr.}
proc duk_put_global_heapptr*(ctx: ptr duk_context; `ptr`: pointer): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_inspect_value*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_inspect_callstack_entry*(ctx: ptr duk_context; level: duk_int_t) {.importc,
cdecl, impduktapeHdr.}
proc duk_get_prototype*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_set_prototype*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_get_finalizer*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_set_finalizer*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_set_global_object*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_get_magic*(ctx: ptr duk_context; idx: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_set_magic*(ctx: ptr duk_context; idx: duk_idx_t; magic: duk_int_t) {.importc,
cdecl, impduktapeHdr.}
proc duk_get_current_magic*(ctx: ptr duk_context): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_put_function_list*(ctx: ptr duk_context; obj_idx: duk_idx_t;
funcs: ptr duk_function_list_entry) {.importc, cdecl,
impduktapeHdr.}
proc duk_put_number_list*(ctx: ptr duk_context; obj_idx: duk_idx_t;
numbers: ptr duk_number_list_entry) {.importc, cdecl,
impduktapeHdr.}
proc duk_compact*(ctx: ptr duk_context; obj_idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_enum*(ctx: ptr duk_context; obj_idx: duk_idx_t; enum_flags: duk_uint_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_next*(ctx: ptr duk_context; enum_idx: duk_idx_t; get_value: duk_bool_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_seal*(ctx: ptr duk_context; obj_idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_freeze*(ctx: ptr duk_context; obj_idx: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_concat*(ctx: ptr duk_context; count: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_join*(ctx: ptr duk_context; count: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_decode_string*(ctx: ptr duk_context; idx: duk_idx_t;
callback: duk_decode_char_function; udata: pointer) {.
importc, cdecl, impduktapeHdr.}
proc duk_map_string*(ctx: ptr duk_context; idx: duk_idx_t;
callback: duk_map_char_function; udata: pointer) {.importc,
cdecl, impduktapeHdr.}
proc duk_substring*(ctx: ptr duk_context; idx: duk_idx_t;
start_char_offset: duk_size_t; end_char_offset: duk_size_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_trim*(ctx: ptr duk_context; idx: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_char_code_at*(ctx: ptr duk_context; idx: duk_idx_t; char_offset: duk_size_t): duk_codepoint_t {.
importc, cdecl, impduktapeHdr.}
proc duk_equals*(ctx: ptr duk_context; idx1: duk_idx_t; idx2: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_strict_equals*(ctx: ptr duk_context; idx1: duk_idx_t; idx2: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_samevalue*(ctx: ptr duk_context; idx1: duk_idx_t; idx2: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_instanceof*(ctx: ptr duk_context; idx1: duk_idx_t; idx2: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_random*(ctx: ptr duk_context): duk_double_t {.importc, cdecl, impduktapeHdr.}
proc duk_call*(ctx: ptr duk_context; nargs: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_call_method*(ctx: ptr duk_context; nargs: duk_idx_t) {.importc, cdecl,
impduktapeHdr.}
proc duk_call_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t; nargs: duk_idx_t) {.
importc, cdecl, impduktapeHdr.}
proc duk_pcall*(ctx: ptr duk_context; nargs: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_pcall_method*(ctx: ptr duk_context; nargs: duk_idx_t): duk_int_t {.importc,
cdecl, impduktapeHdr.}
proc duk_pcall_prop*(ctx: ptr duk_context; obj_idx: duk_idx_t; nargs: duk_idx_t): duk_int_t {.
importc, cdecl, impduktapeHdr.}
proc duk_new*(ctx: ptr duk_context; nargs: duk_idx_t) {.importc, cdecl, impduktapeHdr.}
proc duk_pnew*(ctx: ptr duk_context; nargs: duk_idx_t): duk_int_t {.importc, cdecl,
impduktapeHdr.}
proc duk_safe_call*(ctx: ptr duk_context; `func`: duk_safe_call_function;
udata: pointer; nargs: duk_idx_t; nrets: duk_idx_t): duk_int_t {.
importc, cdecl, impduktapeHdr.}
proc duk_eval_raw*(ctx: ptr duk_context; src_buffer: cstring; src_length: duk_size_t;
flags: duk_uint_t): duk_int_t {.importc, cdecl, impduktapeHdr.}
proc duk_compile_raw*(ctx: ptr duk_context; src_buffer: cstring;
src_length: duk_size_t; flags: duk_uint_t): duk_int_t {.importc,
cdecl, impduktapeHdr.}
proc duk_dump_function*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_load_function*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_push_context_dump*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_debugger_attach*(ctx: ptr duk_context; read_cb: duk_debug_read_function;
write_cb: duk_debug_write_function;
peek_cb: duk_debug_peek_function;
read_flush_cb: duk_debug_read_flush_function;
write_flush_cb: duk_debug_write_flush_function;
request_cb: duk_debug_request_function;
detached_cb: duk_debug_detached_function; udata: pointer) {.
importc, cdecl, impduktapeHdr.}
proc duk_debugger_detach*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_debugger_cooperate*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_debugger_notify*(ctx: ptr duk_context; nvalues: duk_idx_t): duk_bool_t {.
importc, cdecl, impduktapeHdr.}
proc duk_debugger_pause*(ctx: ptr duk_context) {.importc, cdecl, impduktapeHdr.}
proc duk_get_now*(ctx: ptr duk_context): duk_double_t {.importc, cdecl, impduktapeHdr.}
proc duk_time_to_components*(ctx: ptr duk_context; timeval: duk_double_t;
comp: ptr duk_time_components) {.importc, cdecl,
impduktapeHdr.}
proc duk_components_to_time*(ctx: ptr duk_context; comp: ptr duk_time_components): duk_double_t {.
importc, cdecl, impduktapeHdr.}
{.pop.}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment