koffi 2.1.3 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/ChangeLog.md +17 -0
  2. package/doc/contribute.md +5 -5
  3. package/doc/index.rst +1 -1
  4. package/doc/memory.md +1 -0
  5. package/doc/templates/badges.html +1 -1
  6. package/package.json +44 -68
  7. package/src/cnoke/LICENSE.txt +661 -0
  8. package/src/cnoke/README.md +97 -0
  9. package/src/cnoke/assets/FindCNoke.cmake +71 -0
  10. package/src/cnoke/assets/win_delay_hook.c +34 -0
  11. package/src/cnoke/cnoke.js +968 -0
  12. package/src/cnoke/package.json +25 -0
  13. package/{vendor → src/core}/libcc/libcc.cc +38 -11
  14. package/{vendor → src/core}/libcc/libcc.hh +4 -2
  15. package/{CMakeLists.txt → src/koffi/CMakeLists.txt} +3 -3
  16. package/{benchmark → src/koffi/benchmark}/CMakeLists.txt +9 -6
  17. package/{benchmark → src/koffi/benchmark}/atoi_koffi.js +0 -0
  18. package/{benchmark → src/koffi/benchmark}/atoi_napi.cc +1 -1
  19. package/{benchmark → src/koffi/benchmark}/atoi_napi.js +0 -0
  20. package/{benchmark → src/koffi/benchmark}/atoi_node_ffi.js +0 -0
  21. package/src/koffi/benchmark/benchmark.js +118 -0
  22. package/src/koffi/benchmark/rand_koffi.js +52 -0
  23. package/src/koffi/benchmark/rand_napi.cc +69 -0
  24. package/src/koffi/benchmark/rand_napi.js +47 -0
  25. package/src/koffi/benchmark/rand_node_ffi.js +55 -0
  26. package/{benchmark → src/koffi/benchmark}/raylib_cc.cc +2 -2
  27. package/{benchmark → src/koffi/benchmark}/raylib_cc.js +0 -0
  28. package/{benchmark → src/koffi/benchmark}/raylib_koffi.js +0 -0
  29. package/{benchmark → src/koffi/benchmark}/raylib_node_ffi.js +0 -0
  30. package/{benchmark → src/koffi/benchmark}/raylib_node_raylib.js +0 -0
  31. package/src/koffi/build/2.1.5/koffi_darwin_arm64.tar.gz +0 -0
  32. package/src/koffi/build/2.1.5/koffi_darwin_x64.tar.gz +0 -0
  33. package/src/koffi/build/2.1.5/koffi_freebsd_arm64.tar.gz +0 -0
  34. package/src/koffi/build/2.1.5/koffi_freebsd_ia32.tar.gz +0 -0
  35. package/src/koffi/build/2.1.5/koffi_freebsd_x64.tar.gz +0 -0
  36. package/src/koffi/build/2.1.5/koffi_linux_arm32hf.tar.gz +0 -0
  37. package/src/koffi/build/2.1.5/koffi_linux_arm64.tar.gz +0 -0
  38. package/src/koffi/build/2.1.5/koffi_linux_ia32.tar.gz +0 -0
  39. package/src/koffi/build/2.1.5/koffi_linux_riscv64hf64.tar.gz +0 -0
  40. package/src/koffi/build/2.1.5/koffi_linux_x64.tar.gz +0 -0
  41. package/src/koffi/build/2.1.5/koffi_openbsd_ia32.tar.gz +0 -0
  42. package/src/koffi/build/2.1.5/koffi_openbsd_x64.tar.gz +0 -0
  43. package/src/koffi/build/2.1.5/koffi_win32_arm64.tar.gz +0 -0
  44. package/src/koffi/build/2.1.5/koffi_win32_ia32.tar.gz +0 -0
  45. package/src/koffi/build/2.1.5/koffi_win32_x64.tar.gz +0 -0
  46. package/src/koffi/qemu/qemu/.gitkeep +0 -0
  47. package/{qemu → src/koffi/qemu}/qemu.js +227 -133
  48. package/{qemu → src/koffi/qemu}/registry/machines.json +24 -0
  49. package/{qemu → src/koffi/qemu}/registry/sha256sum.txt +0 -0
  50. package/src/{abi_arm32.cc → koffi/src/abi_arm32.cc} +1 -1
  51. package/src/{abi_arm32_fwd.S → koffi/src/abi_arm32_fwd.S} +0 -0
  52. package/src/{abi_arm64.cc → koffi/src/abi_arm64.cc} +1 -1
  53. package/src/{abi_arm64_fwd.S → koffi/src/abi_arm64_fwd.S} +0 -0
  54. package/src/{abi_arm64_fwd.asm → koffi/src/abi_arm64_fwd.asm} +0 -0
  55. package/src/{abi_riscv64.cc → koffi/src/abi_riscv64.cc} +1 -1
  56. package/src/{abi_riscv64_fwd.S → koffi/src/abi_riscv64_fwd.S} +0 -0
  57. package/src/{abi_x64_sysv.cc → koffi/src/abi_x64_sysv.cc} +1 -1
  58. package/src/{abi_x64_sysv_fwd.S → koffi/src/abi_x64_sysv_fwd.S} +0 -0
  59. package/src/{abi_x64_win.cc → koffi/src/abi_x64_win.cc} +1 -1
  60. package/src/{abi_x64_win_fwd.asm → koffi/src/abi_x64_win_fwd.asm} +0 -0
  61. package/src/{abi_x86.cc → koffi/src/abi_x86.cc} +1 -1
  62. package/src/{abi_x86_fwd.S → koffi/src/abi_x86_fwd.S} +0 -0
  63. package/src/{abi_x86_fwd.asm → koffi/src/abi_x86_fwd.asm} +0 -0
  64. package/src/{call.cc → koffi/src/call.cc} +1 -1
  65. package/src/{call.hh → koffi/src/call.hh} +2 -2
  66. package/src/{ffi.cc → koffi/src/ffi.cc} +34 -18
  67. package/src/{ffi.hh → koffi/src/ffi.hh} +5 -3
  68. package/src/{index.js → koffi/src/index.js} +0 -0
  69. package/src/{parser.cc → koffi/src/parser.cc} +1 -1
  70. package/src/{parser.hh → koffi/src/parser.hh} +1 -1
  71. package/src/{util.cc → koffi/src/util.cc} +1 -1
  72. package/src/{util.hh → koffi/src/util.hh} +1 -1
  73. package/{test → src/koffi/test}/CMakeLists.txt +14 -15
  74. package/{test → src/koffi/test}/async.js +0 -0
  75. package/{test → src/koffi/test}/callbacks.js +0 -0
  76. package/{test → src/koffi/test}/misc.c +13 -0
  77. package/{test → src/koffi/test}/misc.def +0 -0
  78. package/{test → src/koffi/test}/raylib.js +0 -0
  79. package/{test → src/koffi/test}/sqlite.js +1 -1
  80. package/{test → src/koffi/test}/sync.js +17 -0
  81. package/vendor/brotli/BUILD +144 -0
  82. package/vendor/brotli/CMakeLists.txt +421 -0
  83. package/vendor/brotli/CONTRIBUTING.md +27 -0
  84. package/vendor/brotli/LICENSE +19 -0
  85. package/vendor/brotli/MANIFEST.in +17 -0
  86. package/vendor/brotli/Makefile +55 -0
  87. package/vendor/brotli/Makefile.am +38 -0
  88. package/vendor/brotli/README +15 -0
  89. package/vendor/brotli/README.md +104 -0
  90. package/vendor/brotli/WORKSPACE +21 -0
  91. package/vendor/brotli/bootstrap +35 -0
  92. package/vendor/brotli/c/common/constants.c +15 -0
  93. package/vendor/brotli/c/common/constants.h +200 -0
  94. package/vendor/brotli/c/common/context.c +156 -0
  95. package/vendor/brotli/c/common/context.h +113 -0
  96. package/vendor/brotli/c/common/dictionary.c +5914 -0
  97. package/vendor/brotli/c/common/dictionary.h +64 -0
  98. package/vendor/brotli/c/common/platform.c +22 -0
  99. package/vendor/brotli/c/common/platform.h +594 -0
  100. package/vendor/brotli/c/common/transform.c +291 -0
  101. package/vendor/brotli/c/common/transform.h +85 -0
  102. package/vendor/brotli/c/common/version.h +26 -0
  103. package/vendor/brotli/c/dec/bit_reader.c +76 -0
  104. package/vendor/brotli/c/dec/bit_reader.h +351 -0
  105. package/vendor/brotli/c/dec/decode.c +2608 -0
  106. package/vendor/brotli/c/dec/huffman.c +339 -0
  107. package/vendor/brotli/c/dec/huffman.h +121 -0
  108. package/vendor/brotli/c/dec/prefix.h +732 -0
  109. package/vendor/brotli/c/dec/state.c +159 -0
  110. package/vendor/brotli/c/dec/state.h +365 -0
  111. package/vendor/brotli/c/enc/backward_references.c +145 -0
  112. package/vendor/brotli/c/enc/backward_references.h +39 -0
  113. package/vendor/brotli/c/enc/backward_references_hq.c +843 -0
  114. package/vendor/brotli/c/enc/backward_references_hq.h +95 -0
  115. package/vendor/brotli/c/enc/backward_references_inc.h +163 -0
  116. package/vendor/brotli/c/enc/bit_cost.c +35 -0
  117. package/vendor/brotli/c/enc/bit_cost.h +63 -0
  118. package/vendor/brotli/c/enc/bit_cost_inc.h +127 -0
  119. package/vendor/brotli/c/enc/block_encoder_inc.h +34 -0
  120. package/vendor/brotli/c/enc/block_splitter.c +194 -0
  121. package/vendor/brotli/c/enc/block_splitter.h +51 -0
  122. package/vendor/brotli/c/enc/block_splitter_inc.h +440 -0
  123. package/vendor/brotli/c/enc/brotli_bit_stream.c +1314 -0
  124. package/vendor/brotli/c/enc/brotli_bit_stream.h +84 -0
  125. package/vendor/brotli/c/enc/cluster.c +56 -0
  126. package/vendor/brotli/c/enc/cluster.h +48 -0
  127. package/vendor/brotli/c/enc/cluster_inc.h +320 -0
  128. package/vendor/brotli/c/enc/command.c +28 -0
  129. package/vendor/brotli/c/enc/command.h +190 -0
  130. package/vendor/brotli/c/enc/compress_fragment.c +790 -0
  131. package/vendor/brotli/c/enc/compress_fragment.h +61 -0
  132. package/vendor/brotli/c/enc/compress_fragment_two_pass.c +645 -0
  133. package/vendor/brotli/c/enc/compress_fragment_two_pass.h +54 -0
  134. package/vendor/brotli/c/enc/dictionary_hash.c +1846 -0
  135. package/vendor/brotli/c/enc/dictionary_hash.h +25 -0
  136. package/vendor/brotli/c/enc/encode.c +1927 -0
  137. package/vendor/brotli/c/enc/encoder_dict.c +33 -0
  138. package/vendor/brotli/c/enc/encoder_dict.h +43 -0
  139. package/vendor/brotli/c/enc/entropy_encode.c +503 -0
  140. package/vendor/brotli/c/enc/entropy_encode.h +122 -0
  141. package/vendor/brotli/c/enc/entropy_encode_static.h +539 -0
  142. package/vendor/brotli/c/enc/fast_log.c +105 -0
  143. package/vendor/brotli/c/enc/fast_log.h +66 -0
  144. package/vendor/brotli/c/enc/find_match_length.h +79 -0
  145. package/vendor/brotli/c/enc/hash.h +488 -0
  146. package/vendor/brotli/c/enc/hash_composite_inc.h +125 -0
  147. package/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +293 -0
  148. package/vendor/brotli/c/enc/hash_longest_match64_inc.h +267 -0
  149. package/vendor/brotli/c/enc/hash_longest_match_inc.h +262 -0
  150. package/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +266 -0
  151. package/vendor/brotli/c/enc/hash_rolling_inc.h +212 -0
  152. package/vendor/brotli/c/enc/hash_to_binary_tree_inc.h +329 -0
  153. package/vendor/brotli/c/enc/histogram.c +100 -0
  154. package/vendor/brotli/c/enc/histogram.h +63 -0
  155. package/vendor/brotli/c/enc/histogram_inc.h +51 -0
  156. package/vendor/brotli/c/enc/literal_cost.c +175 -0
  157. package/vendor/brotli/c/enc/literal_cost.h +30 -0
  158. package/vendor/brotli/c/enc/memory.c +170 -0
  159. package/vendor/brotli/c/enc/memory.h +114 -0
  160. package/vendor/brotli/c/enc/metablock.c +663 -0
  161. package/vendor/brotli/c/enc/metablock.h +105 -0
  162. package/vendor/brotli/c/enc/metablock_inc.h +183 -0
  163. package/vendor/brotli/c/enc/params.h +46 -0
  164. package/vendor/brotli/c/enc/prefix.h +53 -0
  165. package/vendor/brotli/c/enc/quality.h +165 -0
  166. package/vendor/brotli/c/enc/ringbuffer.h +167 -0
  167. package/vendor/brotli/c/enc/static_dict.c +486 -0
  168. package/vendor/brotli/c/enc/static_dict.h +40 -0
  169. package/vendor/brotli/c/enc/static_dict_lut.h +5864 -0
  170. package/vendor/brotli/c/enc/utf8_util.c +85 -0
  171. package/vendor/brotli/c/enc/utf8_util.h +32 -0
  172. package/vendor/brotli/c/enc/write_bits.h +87 -0
  173. package/vendor/brotli/c/include/brotli/decode.h +344 -0
  174. package/vendor/brotli/c/include/brotli/encode.h +448 -0
  175. package/vendor/brotli/c/include/brotli/port.h +288 -0
  176. package/vendor/brotli/c/include/brotli/types.h +83 -0
  177. package/vendor/brotli/c/tools/brotli.c +1116 -0
  178. package/vendor/brotli/c/tools/brotli.md +107 -0
  179. package/vendor/brotli/compiler_config_setting.bzl +28 -0
  180. package/vendor/brotli/configure +8 -0
  181. package/vendor/brotli/configure-cmake +318 -0
  182. package/vendor/brotli/configure.ac +14 -0
  183. package/vendor/brotli/docs/brotli.1 +132 -0
  184. package/vendor/brotli/docs/constants.h.3 +47 -0
  185. package/vendor/brotli/docs/decode.h.3 +415 -0
  186. package/vendor/brotli/docs/encode.h.3 +586 -0
  187. package/vendor/brotli/docs/types.h.3 +117 -0
  188. package/vendor/brotli/premake5.lua +78 -0
  189. package/vendor/brotli/python/Makefile +57 -0
  190. package/vendor/brotli/python/README.md +54 -0
  191. package/vendor/brotli/python/_brotli.cc +753 -0
  192. package/vendor/brotli/python/bro.py +160 -0
  193. package/vendor/brotli/python/brotli.py +56 -0
  194. package/vendor/brotli/python/tests/__init__.py +0 -0
  195. package/vendor/brotli/python/tests/_test_utils.py +112 -0
  196. package/vendor/brotli/python/tests/bro_test.py +102 -0
  197. package/vendor/brotli/python/tests/compress_test.py +41 -0
  198. package/vendor/brotli/python/tests/compressor_test.py +94 -0
  199. package/vendor/brotli/python/tests/decompress_test.py +42 -0
  200. package/vendor/brotli/python/tests/decompressor_test.py +59 -0
  201. package/vendor/brotli/scripts/libbrotlicommon.pc.in +11 -0
  202. package/vendor/brotli/scripts/libbrotlidec.pc.in +12 -0
  203. package/vendor/brotli/scripts/libbrotlienc.pc.in +12 -0
  204. package/vendor/brotli/scripts/sources.lst +104 -0
  205. package/vendor/brotli/setup.cfg +5 -0
  206. package/vendor/brotli/setup.py +293 -0
  207. package/vendor/brotli/tests/Makefile +17 -0
  208. package/vendor/brotli/tests/compatibility_test.sh +25 -0
  209. package/vendor/brotli/tests/roundtrip_test.sh +36 -0
  210. package/vendor/brotli/tests/run-compatibility-test.cmake +31 -0
  211. package/vendor/brotli/tests/run-roundtrip-test.cmake +36 -0
  212. package/vendor/brotli/tests/testdata/empty +0 -0
  213. package/vendor/brotli/tests/testdata/empty.compressed +1 -0
  214. package/vendor/brotli/tests/testdata/ukkonooa +1 -0
  215. package/vendor/brotli/tests/testdata/ukkonooa.compressed +0 -0
  216. package/vendor/miniz/ChangeLog.md +235 -0
  217. package/vendor/miniz/LICENSE +22 -0
  218. package/vendor/miniz/examples/example1.c +105 -0
  219. package/vendor/miniz/examples/example2.c +164 -0
  220. package/vendor/miniz/examples/example3.c +269 -0
  221. package/vendor/miniz/examples/example4.c +102 -0
  222. package/vendor/miniz/examples/example5.c +327 -0
  223. package/vendor/miniz/examples/example6.c +166 -0
  224. package/vendor/miniz/miniz.c +7835 -0
  225. package/vendor/miniz/miniz.h +1422 -0
  226. package/vendor/miniz/readme.md +46 -0
  227. package/vendor/{sqlite3 → sqlite3mc}/sqlite3ext.h +18 -2
  228. package/vendor/{sqlite3/sqlite3.c → sqlite3mc/sqlite3mc.c} +60872 -4890
  229. package/vendor/sqlite3mc/sqlite3mc.def +312 -0
  230. package/vendor/{sqlite3/sqlite3.h → sqlite3mc/sqlite3mc.h} +480 -36
  231. package/build/qemu/2.1.3/koffi_darwin_arm64.tar.gz +0 -0
  232. package/build/qemu/2.1.3/koffi_darwin_x64.tar.gz +0 -0
  233. package/build/qemu/2.1.3/koffi_freebsd_arm64.tar.gz +0 -0
  234. package/build/qemu/2.1.3/koffi_freebsd_ia32.tar.gz +0 -0
  235. package/build/qemu/2.1.3/koffi_freebsd_x64.tar.gz +0 -0
  236. package/build/qemu/2.1.3/koffi_linux_arm32hf.tar.gz +0 -0
  237. package/build/qemu/2.1.3/koffi_linux_arm64.tar.gz +0 -0
  238. package/build/qemu/2.1.3/koffi_linux_ia32.tar.gz +0 -0
  239. package/build/qemu/2.1.3/koffi_linux_riscv64hf64.tar.gz +0 -0
  240. package/build/qemu/2.1.3/koffi_linux_x64.tar.gz +0 -0
  241. package/build/qemu/2.1.3/koffi_openbsd_ia32.tar.gz +0 -0
  242. package/build/qemu/2.1.3/koffi_openbsd_x64.tar.gz +0 -0
  243. package/build/qemu/2.1.3/koffi_win32_arm64.tar.gz +0 -0
  244. package/build/qemu/2.1.3/koffi_win32_ia32.tar.gz +0 -0
  245. package/build/qemu/2.1.3/koffi_win32_x64.tar.gz +0 -0
  246. package/vendor/_patches/glfw_001_fix_openbsd_xlib_soname.patch +0 -145
  247. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +0 -226
  248. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +0 -10
  249. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +0 -4
  250. package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +0 -75
  251. package/vendor/raylib/projects/VS2022/examples/audio_module_playing.vcxproj +0 -390
  252. package/vendor/raylib/projects/VS2022/examples/audio_multichannel_sound.vcxproj +0 -390
  253. package/vendor/raylib/projects/VS2022/examples/audio_music_stream.vcxproj +0 -390
  254. package/vendor/raylib/projects/VS2022/examples/audio_raw_stream.vcxproj +0 -390
  255. package/vendor/raylib/projects/VS2022/examples/audio_sound_loading.vcxproj +0 -390
  256. package/vendor/raylib/projects/VS2022/examples/audio_stream_effects.vcxproj +0 -390
  257. package/vendor/raylib/projects/VS2022/examples/core_2d_camera.vcxproj +0 -390
  258. package/vendor/raylib/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj +0 -390
  259. package/vendor/raylib/projects/VS2022/examples/core_2d_camera_platformer.vcxproj +0 -390
  260. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_first_person.vcxproj +0 -390
  261. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_free.vcxproj +0 -390
  262. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_mode.vcxproj +0 -390
  263. package/vendor/raylib/projects/VS2022/examples/core_3d_picking.vcxproj +0 -390
  264. package/vendor/raylib/projects/VS2022/examples/core_basic_screen_manager.vcxproj +0 -390
  265. package/vendor/raylib/projects/VS2022/examples/core_basic_window.vcxproj +0 -390
  266. package/vendor/raylib/projects/VS2022/examples/core_custom_frame_control.vcxproj +0 -390
  267. package/vendor/raylib/projects/VS2022/examples/core_custom_logging.vcxproj +0 -390
  268. package/vendor/raylib/projects/VS2022/examples/core_drop_files.vcxproj +0 -390
  269. package/vendor/raylib/projects/VS2022/examples/core_input_gamepad.vcxproj +0 -387
  270. package/vendor/raylib/projects/VS2022/examples/core_input_gestures.vcxproj +0 -387
  271. package/vendor/raylib/projects/VS2022/examples/core_input_keys.vcxproj +0 -387
  272. package/vendor/raylib/projects/VS2022/examples/core_input_mouse.vcxproj +0 -387
  273. package/vendor/raylib/projects/VS2022/examples/core_input_mouse_wheel.vcxproj +0 -387
  274. package/vendor/raylib/projects/VS2022/examples/core_input_multitouch.vcxproj +0 -387
  275. package/vendor/raylib/projects/VS2022/examples/core_loading_thread.vcxproj +0 -387
  276. package/vendor/raylib/projects/VS2022/examples/core_random_values.vcxproj +0 -387
  277. package/vendor/raylib/projects/VS2022/examples/core_scissor_test.vcxproj +0 -387
  278. package/vendor/raylib/projects/VS2022/examples/core_split_screen.vcxproj +0 -387
  279. package/vendor/raylib/projects/VS2022/examples/core_storage_values.vcxproj +0 -387
  280. package/vendor/raylib/projects/VS2022/examples/core_vr_simulator.vcxproj +0 -387
  281. package/vendor/raylib/projects/VS2022/examples/core_window_flags.vcxproj +0 -387
  282. package/vendor/raylib/projects/VS2022/examples/core_window_letterbox.vcxproj +0 -387
  283. package/vendor/raylib/projects/VS2022/examples/core_window_should_close.vcxproj +0 -390
  284. package/vendor/raylib/projects/VS2022/examples/core_world_screen.vcxproj +0 -387
  285. package/vendor/raylib/projects/VS2022/examples/easings_testbed.vcxproj +0 -387
  286. package/vendor/raylib/projects/VS2022/examples/embedded_files_loading.vcxproj +0 -387
  287. package/vendor/raylib/projects/VS2022/examples/models_animation.vcxproj +0 -387
  288. package/vendor/raylib/projects/VS2022/examples/models_billboard.vcxproj +0 -387
  289. package/vendor/raylib/projects/VS2022/examples/models_box_collisions.vcxproj +0 -387
  290. package/vendor/raylib/projects/VS2022/examples/models_cubicmap.vcxproj +0 -387
  291. package/vendor/raylib/projects/VS2022/examples/models_first_person_maze.vcxproj +0 -387
  292. package/vendor/raylib/projects/VS2022/examples/models_geometric_shapes.vcxproj +0 -387
  293. package/vendor/raylib/projects/VS2022/examples/models_heightmap.vcxproj +0 -387
  294. package/vendor/raylib/projects/VS2022/examples/models_loading.vcxproj +0 -387
  295. package/vendor/raylib/projects/VS2022/examples/models_loading_gltf.vcxproj +0 -387
  296. package/vendor/raylib/projects/VS2022/examples/models_loading_vox.vcxproj +0 -387
  297. package/vendor/raylib/projects/VS2022/examples/models_mesh_generation.vcxproj +0 -387
  298. package/vendor/raylib/projects/VS2022/examples/models_mesh_picking.vcxproj +0 -387
  299. package/vendor/raylib/projects/VS2022/examples/models_orthographic_projection.vcxproj +0 -387
  300. package/vendor/raylib/projects/VS2022/examples/models_rlgl_solar_system.vcxproj +0 -387
  301. package/vendor/raylib/projects/VS2022/examples/models_skybox.vcxproj +0 -387
  302. package/vendor/raylib/projects/VS2022/examples/models_waving_cubes.vcxproj +0 -387
  303. package/vendor/raylib/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj +0 -387
  304. package/vendor/raylib/projects/VS2022/examples/rlgl_compute_shaders.vcxproj +0 -391
  305. package/vendor/raylib/projects/VS2022/examples/rlgl_standalone.vcxproj +0 -391
  306. package/vendor/raylib/projects/VS2022/examples/shaders_basic_lighting.vcxproj +0 -387
  307. package/vendor/raylib/projects/VS2022/examples/shaders_custom_uniform.vcxproj +0 -387
  308. package/vendor/raylib/projects/VS2022/examples/shaders_eratosthenes.vcxproj +0 -387
  309. package/vendor/raylib/projects/VS2022/examples/shaders_fog.vcxproj +0 -387
  310. package/vendor/raylib/projects/VS2022/examples/shaders_hot_reloading.vcxproj +0 -387
  311. package/vendor/raylib/projects/VS2022/examples/shaders_julia_set.vcxproj +0 -387
  312. package/vendor/raylib/projects/VS2022/examples/shaders_mesh_instancing.vcxproj +0 -387
  313. package/vendor/raylib/projects/VS2022/examples/shaders_model_shader.vcxproj +0 -387
  314. package/vendor/raylib/projects/VS2022/examples/shaders_multi_sample2d.vcxproj +0 -387
  315. package/vendor/raylib/projects/VS2022/examples/shaders_palette_switch.vcxproj +0 -387
  316. package/vendor/raylib/projects/VS2022/examples/shaders_postprocessing.vcxproj +0 -387
  317. package/vendor/raylib/projects/VS2022/examples/shaders_raymarching.vcxproj +0 -387
  318. package/vendor/raylib/projects/VS2022/examples/shaders_shapes_textures.vcxproj +0 -387
  319. package/vendor/raylib/projects/VS2022/examples/shaders_simple_mask.vcxproj +0 -387
  320. package/vendor/raylib/projects/VS2022/examples/shaders_spotlight.vcxproj +0 -387
  321. package/vendor/raylib/projects/VS2022/examples/shaders_texture_drawing.vcxproj +0 -387
  322. package/vendor/raylib/projects/VS2022/examples/shaders_texture_waves.vcxproj +0 -387
  323. package/vendor/raylib/projects/VS2022/examples/shapes_basic_shapes.vcxproj +0 -387
  324. package/vendor/raylib/projects/VS2022/examples/shapes_bouncing_ball.vcxproj +0 -387
  325. package/vendor/raylib/projects/VS2022/examples/shapes_collision_area.vcxproj +0 -387
  326. package/vendor/raylib/projects/VS2022/examples/shapes_colors_palette.vcxproj +0 -387
  327. package/vendor/raylib/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj +0 -387
  328. package/vendor/raylib/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj +0 -387
  329. package/vendor/raylib/projects/VS2022/examples/shapes_draw_ring.vcxproj +0 -387
  330. package/vendor/raylib/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj +0 -387
  331. package/vendor/raylib/projects/VS2022/examples/shapes_easings_box_anim.vcxproj +0 -387
  332. package/vendor/raylib/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj +0 -387
  333. package/vendor/raylib/projects/VS2022/examples/shapes_following_eyes.vcxproj +0 -387
  334. package/vendor/raylib/projects/VS2022/examples/shapes_lines_bezier.vcxproj +0 -387
  335. package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib.vcxproj +0 -387
  336. package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj +0 -387
  337. package/vendor/raylib/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj +0 -387
  338. package/vendor/raylib/projects/VS2022/examples/text_codepoints_loading.vcxproj +0 -387
  339. package/vendor/raylib/projects/VS2022/examples/text_draw_3d.vcxproj +0 -387
  340. package/vendor/raylib/projects/VS2022/examples/text_font_filters.vcxproj +0 -387
  341. package/vendor/raylib/projects/VS2022/examples/text_font_loading.vcxproj +0 -387
  342. package/vendor/raylib/projects/VS2022/examples/text_font_sdf.vcxproj +0 -387
  343. package/vendor/raylib/projects/VS2022/examples/text_font_spritefont.vcxproj +0 -387
  344. package/vendor/raylib/projects/VS2022/examples/text_format_text.vcxproj +0 -387
  345. package/vendor/raylib/projects/VS2022/examples/text_input_box.vcxproj +0 -387
  346. package/vendor/raylib/projects/VS2022/examples/text_raylib_fonts.vcxproj +0 -387
  347. package/vendor/raylib/projects/VS2022/examples/text_rectangle_bounds.vcxproj +0 -387
  348. package/vendor/raylib/projects/VS2022/examples/text_unicode.vcxproj +0 -387
  349. package/vendor/raylib/projects/VS2022/examples/text_writing_anim.vcxproj +0 -387
  350. package/vendor/raylib/projects/VS2022/examples/textures_background_scrolling.vcxproj +0 -387
  351. package/vendor/raylib/projects/VS2022/examples/textures_blend_modes.vcxproj +0 -387
  352. package/vendor/raylib/projects/VS2022/examples/textures_bunnymark.vcxproj +0 -387
  353. package/vendor/raylib/projects/VS2022/examples/textures_draw_tiled.vcxproj +0 -387
  354. package/vendor/raylib/projects/VS2022/examples/textures_fog_of_war.vcxproj +0 -387
  355. package/vendor/raylib/projects/VS2022/examples/textures_gif_player.vcxproj +0 -387
  356. package/vendor/raylib/projects/VS2022/examples/textures_image_drawing.vcxproj +0 -387
  357. package/vendor/raylib/projects/VS2022/examples/textures_image_generation.vcxproj +0 -387
  358. package/vendor/raylib/projects/VS2022/examples/textures_image_loading.vcxproj +0 -387
  359. package/vendor/raylib/projects/VS2022/examples/textures_image_processing.vcxproj +0 -387
  360. package/vendor/raylib/projects/VS2022/examples/textures_image_text.vcxproj +0 -387
  361. package/vendor/raylib/projects/VS2022/examples/textures_logo_raylib.vcxproj +0 -387
  362. package/vendor/raylib/projects/VS2022/examples/textures_mouse_painting.vcxproj +0 -387
  363. package/vendor/raylib/projects/VS2022/examples/textures_npatch_drawing.vcxproj +0 -387
  364. package/vendor/raylib/projects/VS2022/examples/textures_particles_blending.vcxproj +0 -387
  365. package/vendor/raylib/projects/VS2022/examples/textures_polygon.vcxproj +0 -387
  366. package/vendor/raylib/projects/VS2022/examples/textures_raw_data.vcxproj +0 -387
  367. package/vendor/raylib/projects/VS2022/examples/textures_sprite_anim.vcxproj +0 -387
  368. package/vendor/raylib/projects/VS2022/examples/textures_sprite_button.vcxproj +0 -387
  369. package/vendor/raylib/projects/VS2022/examples/textures_sprite_explosion.vcxproj +0 -387
  370. package/vendor/raylib/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj +0 -387
  371. package/vendor/raylib/projects/VS2022/examples/textures_to_image.vcxproj +0 -387
  372. package/vendor/raylib/projects/VS2022/raylib/raylib.vcxproj +0 -340
  373. package/vendor/raylib/projects/VS2022/raylib.sln +0 -2347
  374. package/vendor/sqlite3/shell.c +0 -23496
@@ -1,4 +1,50 @@
1
1
  /*
2
+ ** Name: sqlite3mc.h
3
+ ** Purpose: Header file for SQLite3 Multiple Ciphers support
4
+ ** Author: Ulrich Telle
5
+ ** Created: 2020-03-01
6
+ ** Copyright: (c) 2019-2022 Ulrich Telle
7
+ ** License: MIT
8
+ */
9
+
10
+ #ifndef SQLITE3MC_H_
11
+ #define SQLITE3MC_H_
12
+
13
+ /*
14
+ ** Define SQLite3 Multiple Ciphers version information
15
+ */
16
+ /* #include "sqlite3mc_version.h" */
17
+ /*** Begin of #include "sqlite3mc_version.h" ***/
18
+ /*
19
+ ** Name: sqlite3mc_version.h
20
+ ** Purpose: SQLite3 Multiple Ciphers version numbers
21
+ ** Author: Ulrich Telle
22
+ ** Created: 2020-08-05
23
+ ** Copyright: (c) 2020-2022 Ulrich Telle
24
+ ** License: MIT
25
+ */
26
+
27
+ /// \file sqlite3mc_version.h Version information for the SQLite3 Multiple Ciphers library
28
+
29
+ #ifndef SQLITE3MC_VERSION_H_
30
+ #define SQLITE3MC_VERSION_H_
31
+
32
+ #define SQLITE3MC_VERSION_MAJOR 1
33
+ #define SQLITE3MC_VERSION_MINOR 5
34
+ #define SQLITE3MC_VERSION_RELEASE 4
35
+ #define SQLITE3MC_VERSION_SUBRELEASE 0
36
+ #define SQLITE3MC_VERSION_STRING "SQLite3 Multiple Ciphers 1.5.4"
37
+
38
+ #endif /* SQLITE3MC_VERSION_H_ */
39
+ /*** End of #include "sqlite3mc_version.h" ***/
40
+
41
+
42
+ /*
43
+ ** Define SQLite3 API
44
+ */
45
+ /* #include "sqlite3.h" */
46
+ /*** Begin of #include "sqlite3.h" ***/
47
+ /*
2
48
  ** 2001-09-15
3
49
  **
4
50
  ** The author disclaims copyright to this source code. In place of
@@ -146,9 +192,9 @@ extern "C" {
146
192
  ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
147
193
  ** [sqlite_version()] and [sqlite_source_id()].
148
194
  */
149
- #define SQLITE_VERSION "3.38.3"
150
- #define SQLITE_VERSION_NUMBER 3038003
151
- #define SQLITE_SOURCE_ID "2022-04-27 12:03:15 9547e2c38a1c6f751a77d4d796894dec4dc5d8f5d79b1cd39e1ffc50df7b3be4"
195
+ #define SQLITE_VERSION "3.40.0"
196
+ #define SQLITE_VERSION_NUMBER 3040000
197
+ #define SQLITE_SOURCE_ID "2022-11-16 12:10:08 89c459e766ea7e9165d0beeb124708b955a4950d0f4792f457465d71b158d318"
152
198
 
153
199
  /*
154
200
  ** CAPI3REF: Run-Time Library Version Numbers
@@ -670,13 +716,17 @@ SQLITE_API int sqlite3_exec(
670
716
  **
671
717
  ** SQLite uses one of these integer values as the second
672
718
  ** argument to calls it makes to the xLock() and xUnlock() methods
673
- ** of an [sqlite3_io_methods] object.
719
+ ** of an [sqlite3_io_methods] object. These values are ordered from
720
+ ** lest restrictive to most restrictive.
721
+ **
722
+ ** The argument to xLock() is always SHARED or higher. The argument to
723
+ ** xUnlock is either SHARED or NONE.
674
724
  */
675
- #define SQLITE_LOCK_NONE 0
676
- #define SQLITE_LOCK_SHARED 1
677
- #define SQLITE_LOCK_RESERVED 2
678
- #define SQLITE_LOCK_PENDING 3
679
- #define SQLITE_LOCK_EXCLUSIVE 4
725
+ #define SQLITE_LOCK_NONE 0 /* xUnlock() only */
726
+ #define SQLITE_LOCK_SHARED 1 /* xLock() or xUnlock() */
727
+ #define SQLITE_LOCK_RESERVED 2 /* xLock() only */
728
+ #define SQLITE_LOCK_PENDING 3 /* xLock() only */
729
+ #define SQLITE_LOCK_EXCLUSIVE 4 /* xLock() only */
680
730
 
681
731
  /*
682
732
  ** CAPI3REF: Synchronization Type Flags
@@ -754,7 +804,14 @@ struct sqlite3_file {
754
804
  ** <li> [SQLITE_LOCK_PENDING], or
755
805
  ** <li> [SQLITE_LOCK_EXCLUSIVE].
756
806
  ** </ul>
757
- ** xLock() increases the lock. xUnlock() decreases the lock.
807
+ ** xLock() upgrades the database file lock. In other words, xLock() moves the
808
+ ** database file lock in the direction NONE toward EXCLUSIVE. The argument to
809
+ ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never
810
+ ** SQLITE_LOCK_NONE. If the database file lock is already at or above the
811
+ ** requested lock, then the call to xLock() is a no-op.
812
+ ** xUnlock() downgrades the database file lock to either SHARED or NONE.
813
+ * If the lock is already at or below the requested lock state, then the call
814
+ ** to xUnlock() is a no-op.
758
815
  ** The xCheckReservedLock() method checks whether any database connection,
759
816
  ** either in this process or in some other process, is holding a RESERVED,
760
817
  ** PENDING, or EXCLUSIVE lock on the file. It returns true
@@ -859,9 +916,8 @@ struct sqlite3_io_methods {
859
916
  ** opcode causes the xFileControl method to write the current state of
860
917
  ** the lock (one of [SQLITE_LOCK_NONE], [SQLITE_LOCK_SHARED],
861
918
  ** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE])
862
- ** into an integer that the pArg argument points to. This capability
863
- ** is used during testing and is only available when the SQLITE_TEST
864
- ** compile-time option is used.
919
+ ** into an integer that the pArg argument points to.
920
+ ** This capability is only available if SQLite is compiled with [SQLITE_DEBUG].
865
921
  **
866
922
  ** <li>[[SQLITE_FCNTL_SIZE_HINT]]
867
923
  ** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS
@@ -1253,6 +1309,26 @@ typedef struct sqlite3_mutex sqlite3_mutex;
1253
1309
  */
1254
1310
  typedef struct sqlite3_api_routines sqlite3_api_routines;
1255
1311
 
1312
+ /*
1313
+ ** CAPI3REF: File Name
1314
+ **
1315
+ ** Type [sqlite3_filename] is used by SQLite to pass filenames to the
1316
+ ** xOpen method of a [VFS]. It may be cast to (const char*) and treated
1317
+ ** as a normal, nul-terminated, UTF-8 buffer containing the filename, but
1318
+ ** may also be passed to special APIs such as:
1319
+ **
1320
+ ** <ul>
1321
+ ** <li> sqlite3_filename_database()
1322
+ ** <li> sqlite3_filename_journal()
1323
+ ** <li> sqlite3_filename_wal()
1324
+ ** <li> sqlite3_uri_parameter()
1325
+ ** <li> sqlite3_uri_boolean()
1326
+ ** <li> sqlite3_uri_int64()
1327
+ ** <li> sqlite3_uri_key()
1328
+ ** </ul>
1329
+ */
1330
+ typedef const char *sqlite3_filename;
1331
+
1256
1332
  /*
1257
1333
  ** CAPI3REF: OS Interface Object
1258
1334
  **
@@ -1431,7 +1507,7 @@ struct sqlite3_vfs {
1431
1507
  sqlite3_vfs *pNext; /* Next registered VFS */
1432
1508
  const char *zName; /* Name of this virtual file system */
1433
1509
  void *pAppData; /* Pointer to application-specific data */
1434
- int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*,
1510
+ int (*xOpen)(sqlite3_vfs*, sqlite3_filename zName, sqlite3_file*,
1435
1511
  int flags, int *pOutFlags);
1436
1512
  int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir);
1437
1513
  int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut);
@@ -2309,6 +2385,7 @@ struct sqlite3_mem_methods {
2309
2385
  ** <ul>
2310
2386
  ** <li> The [PRAGMA writable_schema=ON] statement.
2311
2387
  ** <li> The [PRAGMA journal_mode=OFF] statement.
2388
+ ** <li> The [PRAGMA schema_version=N] statement.
2312
2389
  ** <li> Writes to the [sqlite_dbpage] virtual table.
2313
2390
  ** <li> Direct writes to [shadow tables].
2314
2391
  ** </ul>
@@ -3424,6 +3501,9 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
3424
3501
  ** <dd>The database is opened [shared cache] enabled, overriding
3425
3502
  ** the default shared cache setting provided by
3426
3503
  ** [sqlite3_enable_shared_cache()].)^
3504
+ ** The [use of shared cache mode is discouraged] and hence shared cache
3505
+ ** capabilities may be omitted from many builds of SQLite. In such cases,
3506
+ ** this option is a no-op.
3427
3507
  **
3428
3508
  ** ^(<dt>[SQLITE_OPEN_PRIVATECACHE]</dt>
3429
3509
  ** <dd>The database is opened [shared cache] disabled, overriding
@@ -3439,7 +3519,7 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
3439
3519
  ** to return an extended result code.</dd>
3440
3520
  **
3441
3521
  ** [[OPEN_NOFOLLOW]] ^(<dt>[SQLITE_OPEN_NOFOLLOW]</dt>
3442
- ** <dd>The database filename is not allowed to be a symbolic link</dd>
3522
+ ** <dd>The database filename is not allowed to contain a symbolic link</dd>
3443
3523
  ** </dl>)^
3444
3524
  **
3445
3525
  ** If the 3rd parameter to sqlite3_open_v2() is not one of the
@@ -3698,10 +3778,10 @@ SQLITE_API int sqlite3_open_v2(
3698
3778
  **
3699
3779
  ** See the [URI filename] documentation for additional information.
3700
3780
  */
3701
- SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam);
3702
- SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault);
3703
- SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64);
3704
- SQLITE_API const char *sqlite3_uri_key(const char *zFilename, int N);
3781
+ SQLITE_API const char *sqlite3_uri_parameter(sqlite3_filename z, const char *zParam);
3782
+ SQLITE_API int sqlite3_uri_boolean(sqlite3_filename z, const char *zParam, int bDefault);
3783
+ SQLITE_API sqlite3_int64 sqlite3_uri_int64(sqlite3_filename, const char*, sqlite3_int64);
3784
+ SQLITE_API const char *sqlite3_uri_key(sqlite3_filename z, int N);
3705
3785
 
3706
3786
  /*
3707
3787
  ** CAPI3REF: Translate filenames
@@ -3730,9 +3810,9 @@ SQLITE_API const char *sqlite3_uri_key(const char *zFilename, int N);
3730
3810
  ** return value from [sqlite3_db_filename()], then the result is
3731
3811
  ** undefined and is likely a memory access violation.
3732
3812
  */
3733
- SQLITE_API const char *sqlite3_filename_database(const char*);
3734
- SQLITE_API const char *sqlite3_filename_journal(const char*);
3735
- SQLITE_API const char *sqlite3_filename_wal(const char*);
3813
+ SQLITE_API const char *sqlite3_filename_database(sqlite3_filename);
3814
+ SQLITE_API const char *sqlite3_filename_journal(sqlite3_filename);
3815
+ SQLITE_API const char *sqlite3_filename_wal(sqlite3_filename);
3736
3816
 
3737
3817
  /*
3738
3818
  ** CAPI3REF: Database File Corresponding To A Journal
@@ -3798,14 +3878,14 @@ SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*);
3798
3878
  ** then the corresponding [sqlite3_module.xClose() method should also be
3799
3879
  ** invoked prior to calling sqlite3_free_filename(Y).
3800
3880
  */
3801
- SQLITE_API char *sqlite3_create_filename(
3881
+ SQLITE_API sqlite3_filename sqlite3_create_filename(
3802
3882
  const char *zDatabase,
3803
3883
  const char *zJournal,
3804
3884
  const char *zWal,
3805
3885
  int nParam,
3806
3886
  const char **azParam
3807
3887
  );
3808
- SQLITE_API void sqlite3_free_filename(char*);
3888
+ SQLITE_API void sqlite3_free_filename(sqlite3_filename);
3809
3889
 
3810
3890
  /*
3811
3891
  ** CAPI3REF: Error Codes And Messages
@@ -5508,6 +5588,16 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6
5508
5588
  ** then the conversion is performed. Otherwise no conversion occurs.
5509
5589
  ** The [SQLITE_INTEGER | datatype] after conversion is returned.)^
5510
5590
  **
5591
+ ** ^(The sqlite3_value_encoding(X) interface returns one of [SQLITE_UTF8],
5592
+ ** [SQLITE_UTF16BE], or [SQLITE_UTF16LE] according to the current encoding
5593
+ ** of the value X, assuming that X has type TEXT.)^ If sqlite3_value_type(X)
5594
+ ** returns something other than SQLITE_TEXT, then the return value from
5595
+ ** sqlite3_value_encoding(X) is meaningless. ^Calls to
5596
+ ** sqlite3_value_text(X), sqlite3_value_text16(X), sqlite3_value_text16be(X),
5597
+ ** sqlite3_value_text16le(X), sqlite3_value_bytes(X), or
5598
+ ** sqlite3_value_bytes16(X) might change the encoding of the value X and
5599
+ ** thus change the return from subsequent calls to sqlite3_value_encoding(X).
5600
+ **
5511
5601
  ** ^Within the [xUpdate] method of a [virtual table], the
5512
5602
  ** sqlite3_value_nochange(X) interface returns true if and only if
5513
5603
  ** the column corresponding to X is unchanged by the UPDATE operation
@@ -5572,6 +5662,7 @@ SQLITE_API int sqlite3_value_type(sqlite3_value*);
5572
5662
  SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*);
5573
5663
  SQLITE_API int sqlite3_value_nochange(sqlite3_value*);
5574
5664
  SQLITE_API int sqlite3_value_frombind(sqlite3_value*);
5665
+ SQLITE_API int sqlite3_value_encoding(sqlite3_value*);
5575
5666
 
5576
5667
  /*
5577
5668
  ** CAPI3REF: Finding The Subtype Of SQL Values
@@ -5593,7 +5684,8 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*);
5593
5684
  ** object D and returns a pointer to that copy. ^The [sqlite3_value] returned
5594
5685
  ** is a [protected sqlite3_value] object even if the input is not.
5595
5686
  ** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
5596
- ** memory allocation fails.
5687
+ ** memory allocation fails. ^If V is a [pointer value], then the result
5688
+ ** of sqlite3_value_dup(V) is a NULL value.
5597
5689
  **
5598
5690
  ** ^The sqlite3_value_free(V) interface frees an [sqlite3_value] object
5599
5691
  ** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer
@@ -5624,7 +5716,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);
5624
5716
  **
5625
5717
  ** ^The sqlite3_aggregate_context(C,N) routine returns a NULL pointer
5626
5718
  ** when first called if N is less than or equal to zero or if a memory
5627
- ** allocate error occurs.
5719
+ ** allocation error occurs.
5628
5720
  **
5629
5721
  ** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is
5630
5722
  ** determined by the N parameter on first successful call. Changing the
@@ -5829,9 +5921,10 @@ typedef void (*sqlite3_destructor_type)(void*);
5829
5921
  ** of [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE].
5830
5922
  ** ^SQLite takes the text result from the application from
5831
5923
  ** the 2nd parameter of the sqlite3_result_text* interfaces.
5832
- ** ^If the 3rd parameter to the sqlite3_result_text* interfaces
5833
- ** is negative, then SQLite takes result text from the 2nd parameter
5834
- ** through the first zero character.
5924
+ ** ^If the 3rd parameter to any of the sqlite3_result_text* interfaces
5925
+ ** other than sqlite3_result_text64() is negative, then SQLite computes
5926
+ ** the string length itself by searching the 2nd parameter for the first
5927
+ ** zero character.
5835
5928
  ** ^If the 3rd parameter to the sqlite3_result_text* interfaces
5836
5929
  ** is non-negative, then as many bytes (not characters) of the text
5837
5930
  ** pointed to by the 2nd parameter are taken as the application-defined
@@ -6275,6 +6368,28 @@ SQLITE_API int sqlite3_get_autocommit(sqlite3*);
6275
6368
  */
6276
6369
  SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
6277
6370
 
6371
+ /*
6372
+ ** CAPI3REF: Return The Schema Name For A Database Connection
6373
+ ** METHOD: sqlite3
6374
+ **
6375
+ ** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name
6376
+ ** for the N-th database on database connection D, or a NULL pointer of N is
6377
+ ** out of range. An N value of 0 means the main database file. An N of 1 is
6378
+ ** the "temp" schema. Larger values of N correspond to various ATTACH-ed
6379
+ ** databases.
6380
+ **
6381
+ ** Space to hold the string that is returned by sqlite3_db_name() is managed
6382
+ ** by SQLite itself. The string might be deallocated by any operation that
6383
+ ** changes the schema, including [ATTACH] or [DETACH] or calls to
6384
+ ** [sqlite3_serialize()] or [sqlite3_deserialize()], even operations that
6385
+ ** occur on a different thread. Applications that need to
6386
+ ** remember the string long-term should make their own copy. Applications that
6387
+ ** are accessing the same database connection simultaneously on multiple
6388
+ ** threads should mutex-protect calls to this API and should make their own
6389
+ ** private copy of the result prior to releasing the mutex.
6390
+ */
6391
+ SQLITE_API const char *sqlite3_db_name(sqlite3 *db, int N);
6392
+
6278
6393
  /*
6279
6394
  ** CAPI3REF: Return The Filename For A Database Connection
6280
6395
  ** METHOD: sqlite3
@@ -6305,7 +6420,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
6305
6420
  ** <li> [sqlite3_filename_wal()]
6306
6421
  ** </ul>
6307
6422
  */
6308
- SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName);
6423
+ SQLITE_API sqlite3_filename sqlite3_db_filename(sqlite3 *db, const char *zDbName);
6309
6424
 
6310
6425
  /*
6311
6426
  ** CAPI3REF: Determine if a database is read-only
@@ -6442,7 +6557,7 @@ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);
6442
6557
  ** function C that is invoked prior to each autovacuum of the database
6443
6558
  ** file. ^The callback is passed a copy of the generic data pointer (P),
6444
6559
  ** the schema-name of the attached database that is being autovacuumed,
6445
- ** the the size of the database file in pages, the number of free pages,
6560
+ ** the size of the database file in pages, the number of free pages,
6446
6561
  ** and the number of bytes per page, respectively. The callback should
6447
6562
  ** return the number of free pages that should be removed by the
6448
6563
  ** autovacuum. ^If the callback returns zero, then no autovacuum happens.
@@ -6563,6 +6678,11 @@ SQLITE_API void *sqlite3_update_hook(
6563
6678
  ** to the same database. Sharing is enabled if the argument is true
6564
6679
  ** and disabled if the argument is false.)^
6565
6680
  **
6681
+ ** This interface is omitted if SQLite is compiled with
6682
+ ** [-DSQLITE_OMIT_SHARED_CACHE]. The [-DSQLITE_OMIT_SHARED_CACHE]
6683
+ ** compile-time option is recommended because the
6684
+ ** [use of shared cache mode is discouraged].
6685
+ **
6566
6686
  ** ^Cache sharing is enabled and disabled for an entire process.
6567
6687
  ** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]).
6568
6688
  ** In prior versions of SQLite,
@@ -6661,7 +6781,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
6661
6781
  ** ^The soft heap limit may not be greater than the hard heap limit.
6662
6782
  ** ^If the hard heap limit is enabled and if sqlite3_soft_heap_limit(N)
6663
6783
  ** is invoked with a value of N that is greater than the hard heap limit,
6664
- ** the the soft heap limit is set to the value of the hard heap limit.
6784
+ ** the soft heap limit is set to the value of the hard heap limit.
6665
6785
  ** ^The soft heap limit is automatically enabled whenever the hard heap
6666
6786
  ** limit is enabled. ^When sqlite3_hard_heap_limit64(N) is invoked and
6667
6787
  ** the soft heap limit is outside the range of 1..N, then the soft heap
@@ -8956,7 +9076,7 @@ typedef struct sqlite3_backup sqlite3_backup;
8956
9076
  ** if the application incorrectly accesses the destination [database connection]
8957
9077
  ** and so no error code is reported, but the operations may malfunction
8958
9078
  ** nevertheless. Use of the destination database connection while a
8959
- ** backup is in progress might also also cause a mutex deadlock.
9079
+ ** backup is in progress might also cause a mutex deadlock.
8960
9080
  **
8961
9081
  ** If running in [shared cache mode], the application must
8962
9082
  ** guarantee that the shared cache used by the destination database
@@ -9384,7 +9504,7 @@ SQLITE_API int sqlite3_wal_checkpoint_v2(
9384
9504
  */
9385
9505
  #define SQLITE_CHECKPOINT_PASSIVE 0 /* Do as much as possible w/o blocking */
9386
9506
  #define SQLITE_CHECKPOINT_FULL 1 /* Wait for writers, then checkpoint */
9387
- #define SQLITE_CHECKPOINT_RESTART 2 /* Like FULL but wait for for readers */
9507
+ #define SQLITE_CHECKPOINT_RESTART 2 /* Like FULL but wait for readers */
9388
9508
  #define SQLITE_CHECKPOINT_TRUNCATE 3 /* Like RESTART but also truncate WAL */
9389
9509
 
9390
9510
  /*
@@ -9554,8 +9674,8 @@ SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_
9554
9674
  ** of a [virtual table] implementation. The result of calling this
9555
9675
  ** interface from outside of xBestIndex() is undefined and probably harmful.
9556
9676
  **
9557
- ** ^The sqlite3_vtab_distinct() interface returns an integer that is
9558
- ** either 0, 1, or 2. The integer returned by sqlite3_vtab_distinct()
9677
+ ** ^The sqlite3_vtab_distinct() interface returns an integer between 0 and
9678
+ ** 3. The integer returned by sqlite3_vtab_distinct()
9559
9679
  ** gives the virtual table additional information about how the query
9560
9680
  ** planner wants the output to be ordered. As long as the virtual table
9561
9681
  ** can meet the ordering requirements of the query planner, it may set
@@ -9587,6 +9707,13 @@ SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_
9587
9707
  ** that have the same value for all columns identified by "aOrderBy".
9588
9708
  ** ^However omitting the extra rows is optional.
9589
9709
  ** This mode is used for a DISTINCT query.
9710
+ ** <li value="3"><p>
9711
+ ** ^(If the sqlite3_vtab_distinct() interface returns 3, that means
9712
+ ** that the query planner needs only distinct rows but it does need the
9713
+ ** rows to be sorted.)^ ^The virtual table implementation is free to omit
9714
+ ** rows that are identical in all aOrderBy columns, if it wants to, but
9715
+ ** it is not required to omit any rows. This mode is used for queries
9716
+ ** that have both DISTINCT and ORDER BY clauses.
9590
9717
  ** </ol>
9591
9718
  **
9592
9719
  ** ^For the purposes of comparing virtual table output values to see if the
@@ -12804,3 +12931,320 @@ struct fts5_api {
12804
12931
  #endif /* _FTS5_H */
12805
12932
 
12806
12933
  /******** End of fts5.h *********/
12934
+ /*** End of #include "sqlite3.h" ***/
12935
+
12936
+
12937
+ #ifdef SQLITE_USER_AUTHENTICATION
12938
+ /* #include "sqlite3userauth.h" */
12939
+ /*** Begin of #include "sqlite3userauth.h" ***/
12940
+ /*
12941
+ ** 2014-09-08
12942
+ **
12943
+ ** The author disclaims copyright to this source code. In place of
12944
+ ** a legal notice, here is a blessing:
12945
+ **
12946
+ ** May you do good and not evil.
12947
+ ** May you find forgiveness for yourself and forgive others.
12948
+ ** May you share freely, never taking more than you give.
12949
+ **
12950
+ *************************************************************************
12951
+ **
12952
+ ** This file contains the application interface definitions for the
12953
+ ** user-authentication extension feature.
12954
+ **
12955
+ ** To compile with the user-authentication feature, append this file to
12956
+ ** end of an SQLite amalgamation header file ("sqlite3.h"), then add
12957
+ ** the SQLITE_USER_AUTHENTICATION compile-time option. See the
12958
+ ** user-auth.txt file in the same source directory as this file for
12959
+ ** additional information.
12960
+ */
12961
+ #ifdef SQLITE_USER_AUTHENTICATION
12962
+
12963
+ #ifdef __cplusplus
12964
+ extern "C" {
12965
+ #endif
12966
+
12967
+ /*
12968
+ ** If a database contains the SQLITE_USER table, then the
12969
+ ** sqlite3_user_authenticate() interface must be invoked with an
12970
+ ** appropriate username and password prior to enable read and write
12971
+ ** access to the database.
12972
+ **
12973
+ ** Return SQLITE_OK on success or SQLITE_ERROR if the username/password
12974
+ ** combination is incorrect or unknown.
12975
+ **
12976
+ ** If the SQLITE_USER table is not present in the database file, then
12977
+ ** this interface is a harmless no-op returnning SQLITE_OK.
12978
+ */
12979
+ int sqlite3_user_authenticate(
12980
+ sqlite3 *db, /* The database connection */
12981
+ const char *zUsername, /* Username */
12982
+ const char *aPW, /* Password or credentials */
12983
+ int nPW /* Number of bytes in aPW[] */
12984
+ );
12985
+
12986
+ /*
12987
+ ** The sqlite3_user_add() interface can be used (by an admin user only)
12988
+ ** to create a new user. When called on a no-authentication-required
12989
+ ** database, this routine converts the database into an authentication-
12990
+ ** required database, automatically makes the added user an
12991
+ ** administrator, and logs in the current connection as that user.
12992
+ ** The sqlite3_user_add() interface only works for the "main" database, not
12993
+ ** for any ATTACH-ed databases. Any call to sqlite3_user_add() by a
12994
+ ** non-admin user results in an error.
12995
+ */
12996
+ int sqlite3_user_add(
12997
+ sqlite3 *db, /* Database connection */
12998
+ const char *zUsername, /* Username to be added */
12999
+ const char *aPW, /* Password or credentials */
13000
+ int nPW, /* Number of bytes in aPW[] */
13001
+ int isAdmin /* True to give new user admin privilege */
13002
+ );
13003
+
13004
+ /*
13005
+ ** The sqlite3_user_change() interface can be used to change a users
13006
+ ** login credentials or admin privilege. Any user can change their own
13007
+ ** login credentials. Only an admin user can change another users login
13008
+ ** credentials or admin privilege setting. No user may change their own
13009
+ ** admin privilege setting.
13010
+ */
13011
+ int sqlite3_user_change(
13012
+ sqlite3 *db, /* Database connection */
13013
+ const char *zUsername, /* Username to change */
13014
+ const char *aPW, /* New password or credentials */
13015
+ int nPW, /* Number of bytes in aPW[] */
13016
+ int isAdmin /* Modified admin privilege for the user */
13017
+ );
13018
+
13019
+ /*
13020
+ ** The sqlite3_user_delete() interface can be used (by an admin user only)
13021
+ ** to delete a user. The currently logged-in user cannot be deleted,
13022
+ ** which guarantees that there is always an admin user and hence that
13023
+ ** the database cannot be converted into a no-authentication-required
13024
+ ** database.
13025
+ */
13026
+ int sqlite3_user_delete(
13027
+ sqlite3 *db, /* Database connection */
13028
+ const char *zUsername /* Username to remove */
13029
+ );
13030
+
13031
+ #ifdef __cplusplus
13032
+ } /* end of the 'extern "C"' block */
13033
+ #endif
13034
+
13035
+ #endif /* SQLITE_USER_AUTHENTICATION */
13036
+ /*** End of #include "sqlite3userauth.h" ***/
13037
+
13038
+ #endif
13039
+
13040
+ /*
13041
+ ** Symbols for ciphers
13042
+ */
13043
+ #define CODEC_TYPE_UNKNOWN 0
13044
+ #define CODEC_TYPE_AES128 1
13045
+ #define CODEC_TYPE_AES256 2
13046
+ #define CODEC_TYPE_CHACHA20 3
13047
+ #define CODEC_TYPE_SQLCIPHER 4
13048
+ #define CODEC_TYPE_RC4 5
13049
+ #define CODEC_TYPE_MAX_BUILTIN 5
13050
+
13051
+ /*
13052
+ ** Definition of API functions
13053
+ */
13054
+
13055
+ /*
13056
+ ** Define Windows specific SQLite API functions (not defined in sqlite3.h)
13057
+ */
13058
+ #if SQLITE_OS_WIN == 1
13059
+
13060
+ #ifdef __cplusplus
13061
+ extern "C" {
13062
+ #endif
13063
+
13064
+ SQLITE_API int sqlite3_win32_set_directory(unsigned long type, void* zValue);
13065
+
13066
+ #ifdef __cplusplus
13067
+ }
13068
+ #endif
13069
+
13070
+ #endif
13071
+
13072
+ #ifdef __cplusplus
13073
+ extern "C" {
13074
+ #endif
13075
+
13076
+ /*
13077
+ ** Specify the key for an encrypted database.
13078
+ ** This routine should be called right after sqlite3_open().
13079
+ **
13080
+ ** Arguments:
13081
+ ** db - Database to be encrypted
13082
+ ** zDbName - Name of the database (e.g. "main")
13083
+ ** pKey - Passphrase
13084
+ ** nKey - Length of passphrase
13085
+ */
13086
+ SQLITE_API int sqlite3_key(sqlite3* db, const void* pKey, int nKey);
13087
+ SQLITE_API int sqlite3_key_v2(sqlite3* db, const char* zDbName, const void* pKey, int nKey);
13088
+
13089
+ /*
13090
+ ** Change the key on an open database.
13091
+ ** If the current database is not encrypted, this routine will encrypt
13092
+ ** it. If pNew==0 or nNew==0, the database is decrypted.
13093
+ **
13094
+ ** Arguments:
13095
+ ** db - Database to be encrypted
13096
+ ** zDbName - Name of the database (e.g. "main")
13097
+ ** pKey - Passphrase
13098
+ ** nKey - Length of passphrase
13099
+ */
13100
+ SQLITE_API int sqlite3_rekey(sqlite3* db, const void* pKey, int nKey);
13101
+ SQLITE_API int sqlite3_rekey_v2(sqlite3* db, const char* zDbName, const void* pKey, int nKey);
13102
+
13103
+ /*
13104
+ ** Specify the activation key for a SEE database.
13105
+ ** Unless activated, none of the SEE routines will work.
13106
+ **
13107
+ ** Arguments:
13108
+ ** zPassPhrase - Activation phrase
13109
+ **
13110
+ ** Note: Provided only for API compatibility with SEE.
13111
+ ** Encryption support of SQLite3 Multi Cipher is always enabled.
13112
+ */
13113
+ SQLITE_API void sqlite3_activate_see(const char* zPassPhrase);
13114
+
13115
+ /*
13116
+ ** Define functions for the configuration of the wxSQLite3 encryption extension
13117
+ */
13118
+ SQLITE_API int sqlite3mc_cipher_count();
13119
+ SQLITE_API int sqlite3mc_cipher_index(const char* cipherName);
13120
+ SQLITE_API const char* sqlite3mc_cipher_name(int cipherIndex);
13121
+ SQLITE_API int sqlite3mc_config(sqlite3* db, const char* paramName, int newValue);
13122
+ SQLITE_API int sqlite3mc_config_cipher(sqlite3* db, const char* cipherName, const char* paramName, int newValue);
13123
+ SQLITE_API unsigned char* sqlite3mc_codec_data(sqlite3* db, const char* zDbName, const char* paramName);
13124
+ SQLITE_API const char* sqlite3mc_version();
13125
+
13126
+ #ifdef SQLITE3MC_WXSQLITE3_COMPATIBLE
13127
+ SQLITE_API int wxsqlite3_config(sqlite3* db, const char* paramName, int newValue);
13128
+ SQLITE_API int wxsqlite3_config_cipher(sqlite3* db, const char* cipherName, const char* paramName, int newValue);
13129
+ SQLITE_API unsigned char* wxsqlite3_codec_data(sqlite3* db, const char* zDbName, const char* paramName);
13130
+ #endif
13131
+
13132
+ /*
13133
+ ** Structures and functions to dynamically register a cipher
13134
+ */
13135
+
13136
+ /*
13137
+ ** Structure for a single cipher configuration parameter
13138
+ **
13139
+ ** Components:
13140
+ ** m_name - name of parameter (1st char = alpha, rest = alphanumeric or underscore, max 63 characters)
13141
+ ** m_value - current/transient parameter value
13142
+ ** m_default - default parameter value
13143
+ ** m_minValue - minimum valid parameter value
13144
+ ** m_maxValue - maximum valid parameter value
13145
+ */
13146
+ typedef struct _CipherParams
13147
+ {
13148
+ char* m_name;
13149
+ int m_value;
13150
+ int m_default;
13151
+ int m_minValue;
13152
+ int m_maxValue;
13153
+ } CipherParams;
13154
+
13155
+ /*
13156
+ ** Structure for a cipher API
13157
+ **
13158
+ ** Components:
13159
+ ** m_name - name of cipher (1st char = alpha, rest = alphanumeric or underscore, max 63 characters)
13160
+ ** m_allocateCipher - Function pointer for function AllocateCipher
13161
+ ** m_freeCipher - Function pointer for function FreeCipher
13162
+ ** m_cloneCipher - Function pointer for function CloneCipher
13163
+ ** m_getLegacy - Function pointer for function GetLegacy
13164
+ ** m_getPageSize - Function pointer for function GetPageSize
13165
+ ** m_getReserved - Function pointer for function GetReserved
13166
+ ** m_getSalt - Function pointer for function GetSalt
13167
+ ** m_generateKey - Function pointer for function GenerateKey
13168
+ ** m_encryptPage - Function pointer for function EncryptPage
13169
+ ** m_decryptPage - Function pointer for function DecryptPage
13170
+ */
13171
+
13172
+ typedef struct BtShared BtSharedMC;
13173
+
13174
+ typedef void* (*AllocateCipher_t)(sqlite3* db);
13175
+ typedef void (*FreeCipher_t)(void* cipher);
13176
+ typedef void (*CloneCipher_t)(void* cipherTo, void* cipherFrom);
13177
+ typedef int (*GetLegacy_t)(void* cipher);
13178
+ typedef int (*GetPageSize_t)(void* cipher);
13179
+ typedef int (*GetReserved_t)(void* cipher);
13180
+ typedef unsigned char* (*GetSalt_t)(void* cipher);
13181
+ typedef void (*GenerateKey_t)(void* cipher, BtSharedMC* pBt, char* userPassword, int passwordLength, int rekey, unsigned char* cipherSalt);
13182
+ typedef int (*EncryptPage_t)(void* cipher, int page, unsigned char* data, int len, int reserved);
13183
+ typedef int (*DecryptPage_t)(void* cipher, int page, unsigned char* data, int len, int reserved, int hmacCheck);
13184
+
13185
+ typedef struct _CipherDescriptor
13186
+ {
13187
+ char* m_name;
13188
+ AllocateCipher_t m_allocateCipher;
13189
+ FreeCipher_t m_freeCipher;
13190
+ CloneCipher_t m_cloneCipher;
13191
+ GetLegacy_t m_getLegacy;
13192
+ GetPageSize_t m_getPageSize;
13193
+ GetReserved_t m_getReserved;
13194
+ GetSalt_t m_getSalt;
13195
+ GenerateKey_t m_generateKey;
13196
+ EncryptPage_t m_encryptPage;
13197
+ DecryptPage_t m_decryptPage;
13198
+ } CipherDescriptor;
13199
+
13200
+ /*
13201
+ ** Register a cipher
13202
+ **
13203
+ ** Arguments:
13204
+ ** desc - Cipher descriptor structure
13205
+ ** params - Cipher configuration parameter table
13206
+ ** makeDefault - flag whether to make the cipher the default cipher
13207
+ **
13208
+ ** Returns:
13209
+ ** SQLITE_OK - the cipher could be registered successfully
13210
+ ** SQLITE_ERROR - the cipher could not be registered
13211
+ */
13212
+ SQLITE_API int sqlite3mc_register_cipher(const CipherDescriptor* desc, const CipherParams* params, int makeDefault);
13213
+
13214
+ #ifdef __cplusplus
13215
+ }
13216
+ #endif
13217
+
13218
+ /*
13219
+ ** Define public SQLite3 Multiple Ciphers VFS interface
13220
+ */
13221
+ /* #include "sqlite3mc_vfs.h" */
13222
+ /*** Begin of #include "sqlite3mc_vfs.h" ***/
13223
+ /*
13224
+ ** Name: sqlite3mc_vfs.h
13225
+ ** Purpose: Header file for VFS of SQLite3 Multiple Ciphers support
13226
+ ** Author: Ulrich Telle
13227
+ ** Created: 2020-03-01
13228
+ ** Copyright: (c) 2020 Ulrich Telle
13229
+ ** License: MIT
13230
+ */
13231
+
13232
+ #ifndef SQLITE3MC_VFS_H_
13233
+
13234
+ #ifdef __cplusplus
13235
+ extern "C" {
13236
+ #endif
13237
+
13238
+ SQLITE_API int sqlite3mc_vfs_create(const char* zVfsReal, int makeDefault);
13239
+ SQLITE_API void sqlite3mc_vfs_destroy(const char* zName);
13240
+ SQLITE_API void sqlite3mc_vfs_shutdown();
13241
+
13242
+ #ifdef __cplusplus
13243
+ }
13244
+ #endif
13245
+
13246
+ #endif /* SQLITE3MC_VFS_H_ */
13247
+ /*** End of #include "sqlite3mc_vfs.h" ***/
13248
+
13249
+
13250
+ #endif