JSPluginExports.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. #pragma once
  2. #include <Duktape/duktape.h>
  3. namespace Atomic
  4. {
  5. #define ATOMIC_JSPLUGIN_VERSION 1
  6. // MUST MATCH AtomicPlugin.h definitions exactly (typedefs and JSVMImports struct layout)
  7. extern "C"
  8. {
  9. typedef duk_context* (*__duk_create_heap)(duk_alloc_function alloc_func,
  10. duk_realloc_function realloc_func,
  11. duk_free_function free_func,
  12. void *heap_udata,
  13. duk_fatal_function fatal_handler);
  14. typedef void(*__duk_destroy_heap)(duk_context *ctx);
  15. typedef void* (*__duk_alloc_raw)(duk_context *ctx, duk_size_t size);
  16. typedef void(*__duk_free_raw)(duk_context *ctx, void *ptr);
  17. typedef void* (*__duk_realloc_raw)(duk_context *ctx, void *ptr, duk_size_t size);
  18. typedef void* (*__duk_alloc)(duk_context *ctx, duk_size_t size);
  19. typedef void(*__duk_free)(duk_context *ctx, void *ptr);
  20. typedef void* (*__duk_realloc)(duk_context *ctx, void *ptr, duk_size_t size);
  21. typedef void(*__duk_get_memory_functions)(duk_context *ctx, duk_memory_functions *out_funcs);
  22. typedef void(*__duk_gc)(duk_context *ctx, duk_uint_t flags);
  23. typedef void(*__duk_throw)(duk_context *ctx);
  24. typedef void(*__duk_fatal)(duk_context *ctx, duk_errcode_t err_code, const char *err_msg);
  25. typedef void(*__duk_error_raw)(duk_context *ctx, duk_errcode_t err_code, const char *filename, duk_int_t line, const char *fmt, ...);
  26. typedef void(*__duk_error_va_raw)(duk_context *ctx, duk_errcode_t err_code, const char *filename, duk_int_t line, const char *fmt, va_list ap);
  27. typedef duk_bool_t(*__duk_is_strict_call)(duk_context *ctx);
  28. typedef duk_bool_t(*__duk_is_constructor_call)(duk_context *ctx);
  29. typedef duk_idx_t(*__duk_normalize_index)(duk_context *ctx, duk_idx_t index);
  30. typedef duk_idx_t(*__duk_require_normalize_index)(duk_context *ctx, duk_idx_t index);
  31. typedef duk_bool_t(*__duk_is_valid_index)(duk_context *ctx, duk_idx_t index);
  32. typedef void(*__duk_require_valid_index)(duk_context *ctx, duk_idx_t index);
  33. typedef duk_idx_t(*__duk_get_top)(duk_context *ctx);
  34. typedef void(*__duk_set_top)(duk_context *ctx, duk_idx_t index);
  35. typedef duk_idx_t(*__duk_get_top_index)(duk_context *ctx);
  36. typedef duk_idx_t(*__duk_require_top_index)(duk_context *ctx);
  37. typedef duk_bool_t(*__duk_check_stack)(duk_context *ctx, duk_idx_t extra);
  38. typedef void(*__duk_require_stack)(duk_context *ctx, duk_idx_t extra);
  39. typedef duk_bool_t(*__duk_check_stack_top)(duk_context *ctx, duk_idx_t top);
  40. typedef void(*__duk_require_stack_top)(duk_context *ctx, duk_idx_t top);
  41. typedef void(*__duk_swap)(duk_context *ctx, duk_idx_t index1, duk_idx_t index2);
  42. typedef void(*__duk_swap_top)(duk_context *ctx, duk_idx_t index);
  43. typedef void(*__duk_dup)(duk_context *ctx, duk_idx_t from_index);
  44. typedef void(*__duk_dup_top)(duk_context *ctx);
  45. typedef void(*__duk_insert)(duk_context *ctx, duk_idx_t to_index);
  46. typedef void(*__duk_replace)(duk_context *ctx, duk_idx_t to_index);
  47. typedef void(*__duk_copy)(duk_context *ctx, duk_idx_t from_index, duk_idx_t to_index);
  48. typedef void(*__duk_remove)(duk_context *ctx, duk_idx_t index);
  49. typedef void(*__duk_xcopymove_raw)(duk_context *to_ctx, duk_context *from_ctx, duk_idx_t count, duk_bool_t is_copy);
  50. typedef void(*__duk_push_undefined)(duk_context *ctx);
  51. typedef void(*__duk_push_null)(duk_context *ctx);
  52. typedef void(*__duk_push_boolean)(duk_context *ctx, duk_bool_t val);
  53. typedef void(*__duk_push_true)(duk_context *ctx);
  54. typedef void(*__duk_push_false)(duk_context *ctx);
  55. typedef void(*__duk_push_number)(duk_context *ctx, duk_double_t val);
  56. typedef void(*__duk_push_nan)(duk_context *ctx);
  57. typedef void(*__duk_push_int)(duk_context *ctx, duk_int_t val);
  58. typedef void(*__duk_push_uint)(duk_context *ctx, duk_uint_t val);
  59. typedef const char* (*__duk_push_string)(duk_context *ctx, const char *str);
  60. typedef const char* (*__duk_push_lstring)(duk_context *ctx, const char *str, duk_size_t len);
  61. typedef void(*__duk_push_pointer)(duk_context *ctx, void *p);
  62. typedef const char* (*__duk_push_sprintf)(duk_context *ctx, const char *fmt, ...);
  63. typedef const char* (*__duk_push_vsprintf)(duk_context *ctx, const char *fmt, va_list ap);
  64. typedef const char* (*__duk_push_string_file_raw)(duk_context *ctx, const char *path, duk_uint_t flags);
  65. typedef void(*__duk_push_this)(duk_context *ctx);
  66. typedef void(*__duk_push_current_function)(duk_context *ctx);
  67. typedef void(*__duk_push_current_thread)(duk_context *ctx);
  68. typedef void(*__duk_push_global_object)(duk_context *ctx);
  69. typedef void(*__duk_push_heap_stash)(duk_context *ctx);
  70. typedef void(*__duk_push_global_stash)(duk_context *ctx);
  71. typedef void(*__duk_push_thread_stash)(duk_context *ctx, duk_context *target_ctx);
  72. typedef duk_idx_t(*__duk_push_object)(duk_context *ctx);
  73. typedef duk_idx_t(*__duk_push_array)(duk_context *ctx);
  74. typedef duk_idx_t(*__duk_push_c_function)(duk_context *ctx, duk_c_function func, duk_idx_t nargs);
  75. typedef 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);
  76. typedef duk_idx_t(*__duk_push_thread_raw)(duk_context *ctx, duk_uint_t flags);
  77. typedef 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, ...);
  78. typedef 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);
  79. typedef void* (*__duk_push_buffer_raw)(duk_context *ctx, duk_size_t size, duk_small_uint_t flags);
  80. typedef duk_idx_t(*__duk_push_heapptr)(duk_context *ctx, void *ptr);
  81. typedef void(*__duk_pop)(duk_context *ctx);
  82. typedef void(*__duk_pop_n)(duk_context *ctx, duk_idx_t count);
  83. typedef void(*__duk_pop_2)(duk_context *ctx);
  84. typedef void(*__duk_pop_3)(duk_context *ctx);
  85. typedef duk_int_t(*__duk_get_type)(duk_context *ctx, duk_idx_t index);
  86. typedef duk_bool_t(*__duk_check_type)(duk_context *ctx, duk_idx_t index, duk_int_t type);
  87. typedef duk_uint_t(*__duk_get_type_mask)(duk_context *ctx, duk_idx_t index);
  88. typedef duk_bool_t(*__duk_check_type_mask)(duk_context *ctx, duk_idx_t index, duk_uint_t mask);
  89. typedef duk_bool_t(*__duk_is_undefined)(duk_context *ctx, duk_idx_t index);
  90. typedef duk_bool_t(*__duk_is_null)(duk_context *ctx, duk_idx_t index);
  91. typedef duk_bool_t(*__duk_is_null_or_undefined)(duk_context *ctx, duk_idx_t index);
  92. typedef duk_bool_t(*__duk_is_boolean)(duk_context *ctx, duk_idx_t index);
  93. typedef duk_bool_t(*__duk_is_number)(duk_context *ctx, duk_idx_t index);
  94. typedef duk_bool_t(*__duk_is_nan)(duk_context *ctx, duk_idx_t index);
  95. typedef duk_bool_t(*__duk_is_string)(duk_context *ctx, duk_idx_t index);
  96. typedef duk_bool_t(*__duk_is_object)(duk_context *ctx, duk_idx_t index);
  97. typedef duk_bool_t(*__duk_is_buffer)(duk_context *ctx, duk_idx_t index);
  98. typedef duk_bool_t(*__duk_is_pointer)(duk_context *ctx, duk_idx_t index);
  99. typedef duk_bool_t(*__duk_is_lightfunc)(duk_context *ctx, duk_idx_t index);
  100. typedef duk_bool_t(*__duk_is_array)(duk_context *ctx, duk_idx_t index);
  101. typedef duk_bool_t(*__duk_is_function)(duk_context *ctx, duk_idx_t index);
  102. typedef duk_bool_t(*__duk_is_c_function)(duk_context *ctx, duk_idx_t index);
  103. typedef duk_bool_t(*__duk_is_ecmascript_function)(duk_context *ctx, duk_idx_t index);
  104. typedef duk_bool_t(*__duk_is_bound_function)(duk_context *ctx, duk_idx_t index);
  105. typedef duk_bool_t(*__duk_is_thread)(duk_context *ctx, duk_idx_t index);
  106. typedef duk_bool_t(*__duk_is_callable)(duk_context *ctx, duk_idx_t index);
  107. typedef duk_bool_t(*__duk_is_dynamic_buffer)(duk_context *ctx, duk_idx_t index);
  108. typedef duk_bool_t(*__duk_is_fixed_buffer)(duk_context *ctx, duk_idx_t index);
  109. typedef duk_bool_t(*__duk_is_primitive)(duk_context *ctx, duk_idx_t index);
  110. typedef duk_errcode_t(*__duk_get_error_code)(duk_context *ctx, duk_idx_t index);
  111. typedef duk_bool_t(*__duk_get_boolean)(duk_context *ctx, duk_idx_t index);
  112. typedef duk_double_t(*__duk_get_number)(duk_context *ctx, duk_idx_t index);
  113. typedef duk_int_t(*__duk_get_int)(duk_context *ctx, duk_idx_t index);
  114. typedef duk_uint_t(*__duk_get_uint)(duk_context *ctx, duk_idx_t index);
  115. typedef const char *(*__duk_get_string)(duk_context *ctx, duk_idx_t index);
  116. typedef const char *(*__duk_get_lstring)(duk_context *ctx, duk_idx_t index, duk_size_t *out_len);
  117. typedef void *(*__duk_get_buffer)(duk_context *ctx, duk_idx_t index, duk_size_t *out_size);
  118. typedef void *(*__duk_get_pointer)(duk_context *ctx, duk_idx_t index);
  119. typedef duk_c_function(*__duk_get_c_function)(duk_context *ctx, duk_idx_t index);
  120. typedef duk_context *(*__duk_get_context)(duk_context *ctx, duk_idx_t index);
  121. typedef void *(*__duk_get_heapptr)(duk_context *ctx, duk_idx_t index);
  122. typedef duk_size_t(*__duk_get_length)(duk_context *ctx, duk_idx_t index);
  123. typedef void(*__duk_require_undefined)(duk_context *ctx, duk_idx_t index);
  124. typedef void(*__duk_require_null)(duk_context *ctx, duk_idx_t index);
  125. typedef duk_bool_t(*__duk_require_boolean)(duk_context *ctx, duk_idx_t index);
  126. typedef duk_double_t(*__duk_require_number)(duk_context *ctx, duk_idx_t index);
  127. typedef duk_int_t(*__duk_require_int)(duk_context *ctx, duk_idx_t index);
  128. typedef duk_uint_t(*__duk_require_uint)(duk_context *ctx, duk_idx_t index);
  129. typedef const char *(*__duk_require_string)(duk_context *ctx, duk_idx_t index);
  130. typedef const char *(*__duk_require_lstring)(duk_context *ctx, duk_idx_t index, duk_size_t *out_len);
  131. typedef void *(*__duk_require_buffer)(duk_context *ctx, duk_idx_t index, duk_size_t *out_size);
  132. typedef void *(*__duk_require_pointer)(duk_context *ctx, duk_idx_t index);
  133. typedef duk_c_function(*__duk_require_c_function)(duk_context *ctx, duk_idx_t index);
  134. typedef duk_context *(*__duk_require_context)(duk_context *ctx, duk_idx_t index);
  135. typedef void *(*__duk_require_heapptr)(duk_context *ctx, duk_idx_t index);
  136. typedef void(*__duk_to_undefined)(duk_context *ctx, duk_idx_t index);
  137. typedef void(*__duk_to_null)(duk_context *ctx, duk_idx_t index);
  138. typedef duk_bool_t(*__duk_to_boolean)(duk_context *ctx, duk_idx_t index);
  139. typedef duk_double_t(*__duk_to_number)(duk_context *ctx, duk_idx_t index);
  140. typedef duk_int_t(*__duk_to_int)(duk_context *ctx, duk_idx_t index);
  141. typedef duk_uint_t(*__duk_to_uint)(duk_context *ctx, duk_idx_t index);
  142. typedef duk_int32_t(*__duk_to_int32)(duk_context *ctx, duk_idx_t index);
  143. typedef duk_uint32_t(*__duk_to_uint32)(duk_context *ctx, duk_idx_t index);
  144. typedef duk_uint16_t(*__duk_to_uint16)(duk_context *ctx, duk_idx_t index);
  145. typedef const char *(*__duk_to_string)(duk_context *ctx, duk_idx_t index);
  146. typedef const char *(*__duk_to_lstring)(duk_context *ctx, duk_idx_t index, duk_size_t *out_len);
  147. typedef void *(*__duk_to_buffer_raw)(duk_context *ctx, duk_idx_t index, duk_size_t *out_size, duk_uint_t flags);
  148. typedef void *(*__duk_to_pointer)(duk_context *ctx, duk_idx_t index);
  149. typedef void(*__duk_to_object)(duk_context *ctx, duk_idx_t index);
  150. typedef void(*__duk_to_defaultvalue)(duk_context *ctx, duk_idx_t index, duk_int_t hint);
  151. typedef void(*__duk_to_primitive)(duk_context *ctx, duk_idx_t index, duk_int_t hint);
  152. typedef const char *(*__duk_safe_to_lstring)(duk_context *ctx, duk_idx_t index, duk_size_t *out_len);
  153. typedef const char *(*__duk_base64_encode)(duk_context *ctx, duk_idx_t index);
  154. typedef void(*__duk_base64_decode)(duk_context *ctx, duk_idx_t index);
  155. typedef const char *(*__duk_hex_encode)(duk_context *ctx, duk_idx_t index);
  156. typedef void(*__duk_hex_decode)(duk_context *ctx, duk_idx_t index);
  157. typedef const char *(*__duk_json_encode)(duk_context *ctx, duk_idx_t index);
  158. typedef void(*__duk_json_decode)(duk_context *ctx, duk_idx_t index);
  159. typedef void *(*__duk_resize_buffer)(duk_context *ctx, duk_idx_t index, duk_size_t new_size);
  160. typedef duk_bool_t(*__duk_get_prop)(duk_context *ctx, duk_idx_t obj_index);
  161. typedef duk_bool_t(*__duk_get_prop_string)(duk_context *ctx, duk_idx_t obj_index, const char *key);
  162. typedef duk_bool_t(*__duk_get_prop_index)(duk_context *ctx, duk_idx_t obj_index, duk_uarridx_t arr_index);
  163. typedef duk_bool_t(*__duk_put_prop)(duk_context *ctx, duk_idx_t obj_index);
  164. typedef duk_bool_t(*__duk_put_prop_string)(duk_context *ctx, duk_idx_t obj_index, const char *key);
  165. typedef duk_bool_t(*__duk_put_prop_index)(duk_context *ctx, duk_idx_t obj_index, duk_uarridx_t arr_index);
  166. typedef duk_bool_t(*__duk_del_prop)(duk_context *ctx, duk_idx_t obj_index);
  167. typedef duk_bool_t(*__duk_del_prop_string)(duk_context *ctx, duk_idx_t obj_index, const char *key);
  168. typedef duk_bool_t(*__duk_del_prop_index)(duk_context *ctx, duk_idx_t obj_index, duk_uarridx_t arr_index);
  169. typedef duk_bool_t(*__duk_has_prop)(duk_context *ctx, duk_idx_t obj_index);
  170. typedef duk_bool_t(*__duk_has_prop_string)(duk_context *ctx, duk_idx_t obj_index, const char *key);
  171. typedef duk_bool_t(*__duk_has_prop_index)(duk_context *ctx, duk_idx_t obj_index, duk_uarridx_t arr_index);
  172. typedef void(*__duk_def_prop)(duk_context *ctx, duk_idx_t obj_index, duk_uint_t flags);
  173. typedef duk_bool_t(*__duk_get_global_string)(duk_context *ctx, const char *key);
  174. typedef duk_bool_t(*__duk_put_global_string)(duk_context *ctx, const char *key);
  175. typedef void(*__duk_get_prototype)(duk_context *ctx, duk_idx_t index);
  176. typedef void(*__duk_set_prototype)(duk_context *ctx, duk_idx_t index);
  177. typedef void(*__duk_get_finalizer)(duk_context *ctx, duk_idx_t index);
  178. typedef void(*__duk_set_finalizer)(duk_context *ctx, duk_idx_t index);
  179. typedef void(*__duk_set_global_object)(duk_context *ctx);
  180. typedef duk_int_t(*__duk_get_magic)(duk_context *ctx, duk_idx_t index);
  181. typedef void(*__duk_set_magic)(duk_context *ctx, duk_idx_t index, duk_int_t magic);
  182. typedef duk_int_t(*__duk_get_current_magic)(duk_context *ctx);
  183. typedef void(*__duk_put_function_list)(duk_context *ctx, duk_idx_t obj_index, const duk_function_list_entry *funcs);
  184. typedef void(*__duk_put_number_list)(duk_context *ctx, duk_idx_t obj_index, const duk_number_list_entry *numbers);
  185. typedef void(*__duk_compact)(duk_context *ctx, duk_idx_t obj_index);
  186. typedef void(*__duk_enum)(duk_context *ctx, duk_idx_t obj_index, duk_uint_t enum_flags);
  187. typedef duk_bool_t(*__duk_next)(duk_context *ctx, duk_idx_t enum_index, duk_bool_t get_value);
  188. typedef void(*__duk_concat)(duk_context *ctx, duk_idx_t count);
  189. typedef void(*__duk_join)(duk_context *ctx, duk_idx_t count);
  190. typedef void(*__duk_decode_string)(duk_context *ctx, duk_idx_t index, duk_decode_char_function callback, void *udata);
  191. typedef void(*__duk_map_string)(duk_context *ctx, duk_idx_t index, duk_map_char_function callback, void *udata);
  192. typedef void(*__duk_substring)(duk_context *ctx, duk_idx_t index, duk_size_t start_char_offset, duk_size_t end_char_offset);
  193. typedef void(*__duk_trim)(duk_context *ctx, duk_idx_t index);
  194. typedef duk_codepoint_t(*__duk_char_code_at)(duk_context *ctx, duk_idx_t index, duk_size_t char_offset);
  195. typedef duk_bool_t(*__duk_equals)(duk_context *ctx, duk_idx_t index1, duk_idx_t index2);
  196. typedef duk_bool_t(*__duk_strict_equals)(duk_context *ctx, duk_idx_t index1, duk_idx_t index2);
  197. typedef void(*__duk_call)(duk_context *ctx, duk_idx_t nargs);
  198. typedef void(*__duk_call_method)(duk_context *ctx, duk_idx_t nargs);
  199. typedef void(*__duk_call_prop)(duk_context *ctx, duk_idx_t obj_index, duk_idx_t nargs);
  200. typedef duk_int_t(*__duk_pcall)(duk_context *ctx, duk_idx_t nargs);
  201. typedef duk_int_t(*__duk_pcall_method)(duk_context *ctx, duk_idx_t nargs);
  202. typedef duk_int_t(*__duk_pcall_prop)(duk_context *ctx, duk_idx_t obj_index, duk_idx_t nargs);
  203. typedef void(*__duk_new)(duk_context *ctx, duk_idx_t nargs);
  204. typedef duk_int_t(*__duk_safe_call)(duk_context *ctx, duk_safe_call_function func, duk_idx_t nargs, duk_idx_t nrets);
  205. typedef duk_int_t(*__duk_eval_raw)(duk_context *ctx, const char *src_buffer, duk_size_t src_length, duk_uint_t flags);
  206. typedef duk_int_t(*__duk_compile_raw)(duk_context *ctx, const char *src_buffer, duk_size_t src_length, duk_uint_t flags);
  207. typedef void(*__duk_log)(duk_context *ctx, duk_int_t level, const char *fmt, ...);
  208. typedef void(*__duk_log_va)(duk_context *ctx, duk_int_t level, const char *fmt, va_list ap);
  209. typedef void(*__duk_push_context_dump)(duk_context *ctx);
  210. typedef void(*__duk_debugger_attach)(duk_context *ctx,
  211. duk_debug_read_function read_cb,
  212. duk_debug_write_function write_cb,
  213. duk_debug_peek_function peek_cb,
  214. duk_debug_read_flush_function read_flush_cb,
  215. duk_debug_write_flush_function write_flush_cb,
  216. duk_debug_detached_function detached_cb,
  217. void *udata);
  218. typedef void(*__duk_debugger_detach)(duk_context *ctx);
  219. typedef void(*__duk_debugger_cooperate)(duk_context *ctx);
  220. struct JSVMImports
  221. {
  222. __duk_create_heap duk_create_heap;
  223. __duk_destroy_heap duk_destroy_heap;
  224. __duk_alloc_raw duk_alloc_raw;
  225. __duk_free_raw duk_free_raw;
  226. __duk_realloc_raw duk_realloc_raw;
  227. __duk_alloc duk_alloc;
  228. __duk_free duk_free;
  229. __duk_realloc duk_realloc;
  230. __duk_get_memory_functions duk_get_memory_functions;
  231. __duk_gc duk_gc;
  232. __duk_throw duk_throw;
  233. __duk_fatal duk_fatal;
  234. __duk_error_raw duk_error_raw;
  235. __duk_error_va_raw duk_error_va_raw;
  236. __duk_is_strict_call duk_is_strict_call;
  237. __duk_is_constructor_call duk_is_constructor_call;
  238. __duk_normalize_index duk_normalize_index;
  239. __duk_require_normalize_index duk_require_normalize_index;
  240. __duk_is_valid_index duk_is_valid_index;
  241. __duk_require_valid_index duk_require_valid_index;
  242. __duk_get_top duk_get_top;
  243. __duk_set_top duk_set_top;
  244. __duk_get_top_index duk_get_top_index;
  245. __duk_require_top_index duk_require_top_index;
  246. __duk_check_stack duk_check_stack;
  247. __duk_require_stack duk_require_stack;
  248. __duk_check_stack_top duk_check_stack_top;
  249. __duk_require_stack_top duk_require_stack_top;
  250. __duk_swap duk_swap;
  251. __duk_swap_top duk_swap_top;
  252. __duk_dup duk_dup;
  253. __duk_dup_top duk_dup_top;
  254. __duk_insert duk_insert;
  255. __duk_replace duk_replace;
  256. __duk_copy duk_copy;
  257. __duk_remove duk_remove;
  258. __duk_xcopymove_raw duk_xcopymove_raw;
  259. __duk_push_undefined duk_push_undefined;
  260. __duk_push_null duk_push_null;
  261. __duk_push_boolean duk_push_boolean;
  262. __duk_push_true duk_push_true;
  263. __duk_push_false duk_push_false;
  264. __duk_push_number duk_push_number;
  265. __duk_push_nan duk_push_nan;
  266. __duk_push_int duk_push_int;
  267. __duk_push_uint duk_push_uint;
  268. __duk_push_string duk_push_string;
  269. __duk_push_lstring duk_push_lstring;
  270. __duk_push_pointer duk_push_pointer;
  271. __duk_push_sprintf duk_push_sprintf;
  272. __duk_push_vsprintf duk_push_vsprintf;
  273. __duk_push_string_file_raw duk_push_string_file_raw;
  274. __duk_push_this duk_push_this;
  275. __duk_push_current_function duk_push_current_function;
  276. __duk_push_current_thread duk_push_current_thread;
  277. __duk_push_global_object duk_push_global_object;
  278. __duk_push_heap_stash duk_push_heap_stash;
  279. __duk_push_global_stash duk_push_global_stash;
  280. __duk_push_thread_stash duk_push_thread_stash;
  281. __duk_push_object duk_push_object;
  282. __duk_push_array duk_push_array;
  283. __duk_push_c_function duk_push_c_function;
  284. __duk_push_c_lightfunc duk_push_c_lightfunc;
  285. __duk_push_thread_raw duk_push_thread_raw;
  286. __duk_push_error_object_raw duk_push_error_object_raw;
  287. __duk_push_error_object_va_raw duk_push_error_object_va_raw;
  288. __duk_push_buffer_raw duk_push_buffer_raw;
  289. __duk_push_heapptr duk_push_heapptr;
  290. __duk_pop duk_pop;
  291. __duk_pop_n duk_pop_n;
  292. __duk_pop_2 duk_pop_2;
  293. __duk_pop_3 duk_pop_3;
  294. __duk_get_type duk_get_type;
  295. __duk_check_type duk_check_type;
  296. __duk_get_type_mask duk_get_type_mask;
  297. __duk_check_type_mask duk_check_type_mask;
  298. __duk_is_undefined duk_is_undefined;
  299. __duk_is_null duk_is_null;
  300. __duk_is_null_or_undefined duk_is_null_or_undefined;
  301. __duk_is_boolean duk_is_boolean;
  302. __duk_is_number duk_is_number;
  303. __duk_is_nan duk_is_nan;
  304. __duk_is_string duk_is_string;
  305. __duk_is_object duk_is_object;
  306. __duk_is_buffer duk_is_buffer;
  307. __duk_is_pointer duk_is_pointer;
  308. __duk_is_lightfunc duk_is_lightfunc;
  309. __duk_is_array duk_is_array;
  310. __duk_is_function duk_is_function;
  311. __duk_is_c_function duk_is_c_function;
  312. __duk_is_ecmascript_function duk_is_ecmascript_function;
  313. __duk_is_bound_function duk_is_bound_function;
  314. __duk_is_thread duk_is_thread;
  315. __duk_is_callable duk_is_callable;
  316. __duk_is_dynamic_buffer duk_is_dynamic_buffer;
  317. __duk_is_fixed_buffer duk_is_fixed_buffer;
  318. __duk_is_primitive duk_is_primitive;
  319. __duk_get_error_code duk_get_error_code;
  320. __duk_get_boolean duk_get_boolean;
  321. __duk_get_number duk_get_number;
  322. __duk_get_int duk_get_int;
  323. __duk_get_uint duk_get_uint;
  324. __duk_get_string duk_get_string;
  325. __duk_get_lstring duk_get_lstring;
  326. __duk_get_buffer duk_get_buffer;
  327. __duk_get_pointer duk_get_pointer;
  328. __duk_get_c_function duk_get_c_function;
  329. __duk_get_context duk_get_context;
  330. __duk_get_heapptr duk_get_heapptr;
  331. __duk_get_length duk_get_length;
  332. __duk_require_undefined duk_require_undefined;
  333. __duk_require_null duk_require_null;
  334. __duk_require_boolean duk_require_boolean;
  335. __duk_require_number duk_require_number;
  336. __duk_require_int duk_require_int;
  337. __duk_require_uint duk_require_uint;
  338. __duk_require_string duk_require_string;
  339. __duk_require_lstring duk_require_lstring;
  340. __duk_require_buffer duk_require_buffer;
  341. __duk_require_pointer duk_require_pointer;
  342. __duk_require_c_function duk_require_c_function;
  343. __duk_require_context duk_require_context;
  344. __duk_require_heapptr duk_require_heapptr;
  345. __duk_to_undefined duk_to_undefined;
  346. __duk_to_null duk_to_null;
  347. __duk_to_boolean duk_to_boolean;
  348. __duk_to_number duk_to_number;
  349. __duk_to_int duk_to_int;
  350. __duk_to_uint duk_to_uint;
  351. __duk_to_int32 duk_to_int32;
  352. __duk_to_uint32 duk_to_uint32;
  353. __duk_to_uint16 duk_to_uint16;
  354. __duk_to_string duk_to_string;
  355. __duk_to_lstring duk_to_lstring;
  356. __duk_to_buffer_raw duk_to_buffer_raw;
  357. __duk_to_pointer duk_to_pointer;
  358. __duk_to_object duk_to_object;
  359. __duk_to_defaultvalue duk_to_defaultvalue;
  360. __duk_to_primitive duk_to_primitive;
  361. __duk_safe_to_lstring duk_safe_to_lstring;
  362. __duk_base64_encode duk_base64_encode;
  363. __duk_base64_decode duk_base64_decode;
  364. __duk_hex_encode duk_hex_encode;
  365. __duk_hex_decode duk_hex_decode;
  366. __duk_json_encode duk_json_encode;
  367. __duk_json_decode duk_json_decode;
  368. __duk_resize_buffer duk_resize_buffer;
  369. __duk_get_prop duk_get_prop;
  370. __duk_get_prop_string duk_get_prop_string;
  371. __duk_get_prop_index duk_get_prop_index;
  372. __duk_put_prop duk_put_prop;
  373. __duk_put_prop_string duk_put_prop_string;
  374. __duk_put_prop_index duk_put_prop_index;
  375. __duk_del_prop duk_del_prop;
  376. __duk_del_prop_string duk_del_prop_string;
  377. __duk_del_prop_index duk_del_prop_index;
  378. __duk_has_prop duk_has_prop;
  379. __duk_has_prop_string duk_has_prop_string;
  380. __duk_has_prop_index duk_has_prop_index;
  381. __duk_def_prop duk_def_prop;
  382. __duk_get_global_string duk_get_global_string;
  383. __duk_put_global_string duk_put_global_string;
  384. __duk_get_prototype duk_get_prototype;
  385. __duk_set_prototype duk_set_prototype;
  386. __duk_get_finalizer duk_get_finalizer;
  387. __duk_set_finalizer duk_set_finalizer;
  388. __duk_set_global_object duk_set_global_object;
  389. __duk_get_magic duk_get_magic;
  390. __duk_set_magic duk_set_magic;
  391. __duk_get_current_magic duk_get_current_magic;
  392. __duk_put_function_list duk_put_function_list;
  393. __duk_put_number_list duk_put_number_list;
  394. __duk_compact duk_compact;
  395. __duk_enum duk_enum;
  396. __duk_next duk_next;
  397. __duk_concat duk_concat;
  398. __duk_join duk_join;
  399. __duk_decode_string duk_decode_string;
  400. __duk_map_string duk_map_string;
  401. __duk_substring duk_substring;
  402. __duk_trim duk_trim;
  403. __duk_char_code_at duk_char_code_at;
  404. __duk_equals duk_equals;
  405. __duk_strict_equals duk_strict_equals;
  406. __duk_call duk_call;
  407. __duk_call_method duk_call_method;
  408. __duk_call_prop duk_call_prop;
  409. __duk_pcall duk_pcall;
  410. __duk_pcall_method duk_pcall_method;
  411. __duk_pcall_prop duk_pcall_prop;
  412. __duk_new duk_new;
  413. __duk_safe_call duk_safe_call;
  414. __duk_eval_raw duk_eval_raw;
  415. __duk_compile_raw duk_compile_raw;
  416. __duk_log duk_log;
  417. __duk_log_va duk_log_va;
  418. __duk_push_context_dump duk_push_context_dump;
  419. __duk_debugger_attach duk_debugger_attach;
  420. __duk_debugger_detach duk_debugger_detach;
  421. __duk_debugger_cooperate duk_debugger_cooperate;
  422. JSVMImports()
  423. {
  424. memset(this, 0, sizeof(this));
  425. }
  426. };
  427. }
  428. }