koffi 2.1.2 → 2.1.4
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.
- package/package.json +44 -68
- package/{LICENSE.txt → src/cnoke/LICENSE.txt} +0 -0
- package/src/cnoke/README.md +97 -0
- package/src/cnoke/assets/FindCNoke.cmake +71 -0
- package/src/cnoke/assets/win_delay_hook.c +34 -0
- package/src/cnoke/cnoke.js +968 -0
- package/src/cnoke/package.json +25 -0
- package/{vendor → src/core}/libcc/libcc.cc +38 -11
- package/{vendor → src/core}/libcc/libcc.hh +4 -2
- package/{CMakeLists.txt → src/koffi/CMakeLists.txt} +3 -3
- package/{ChangeLog.md → src/koffi/ChangeLog.md} +17 -0
- package/src/koffi/LICENSE.txt +661 -0
- package/{README.md → src/koffi/README.md} +0 -0
- package/{benchmark → src/koffi/benchmark}/CMakeLists.txt +9 -6
- package/{benchmark → src/koffi/benchmark}/atoi_koffi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/atoi_napi.cc +1 -1
- package/{benchmark → src/koffi/benchmark}/atoi_napi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/atoi_node_ffi.js +0 -0
- package/src/koffi/benchmark/benchmark.js +118 -0
- package/src/koffi/benchmark/rand_koffi.js +52 -0
- package/src/koffi/benchmark/rand_napi.cc +69 -0
- package/src/koffi/benchmark/rand_napi.js +47 -0
- package/src/koffi/benchmark/rand_node_ffi.js +55 -0
- package/{benchmark → src/koffi/benchmark}/raylib_cc.cc +2 -2
- package/{benchmark → src/koffi/benchmark}/raylib_cc.js +0 -0
- package/{benchmark → src/koffi/benchmark}/raylib_koffi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/raylib_node_ffi.js +0 -0
- package/{benchmark → src/koffi/benchmark}/raylib_node_raylib.js +0 -0
- package/src/koffi/build/2.1.4/koffi_darwin_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_darwin_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_freebsd_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_freebsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_freebsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_arm32hf.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_linux_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_openbsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_openbsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_win32_arm64.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_win32_ia32.tar.gz +0 -0
- package/src/koffi/build/2.1.4/koffi_win32_x64.tar.gz +0 -0
- package/{doc → src/koffi/doc}/Makefile +0 -0
- package/{doc → src/koffi/doc}/benchmarks.md +0 -0
- package/{doc → src/koffi/doc}/benchmarks.xlsx +0 -0
- package/{doc → src/koffi/doc}/changes.md +0 -0
- package/{doc → src/koffi/doc}/conf.py +0 -0
- package/{doc → src/koffi/doc}/contribute.md +5 -5
- package/{doc → src/koffi/doc}/functions.md +0 -0
- package/{doc → src/koffi/doc}/index.rst +1 -1
- package/{doc → src/koffi/doc}/make.bat +0 -0
- package/{doc → src/koffi/doc}/memory.md +1 -0
- package/{doc → src/koffi/doc}/platforms.md +0 -0
- package/{doc → src/koffi/doc}/poetry.lock +0 -0
- package/{doc → src/koffi/doc}/pyproject.toml +0 -0
- package/{doc → src/koffi/doc}/start.md +0 -0
- package/{doc → src/koffi/doc}/static/bench_linux.png +0 -0
- package/{doc → src/koffi/doc}/static/bench_windows.png +0 -0
- package/{doc → src/koffi/doc}/static/custom.css +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220623.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220623_2.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220627.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220628.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_linux_20220812.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220623.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220623_2.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220627.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220628.png +0 -0
- package/{doc → src/koffi/doc}/static/perf_windows_20220812.png +0 -0
- package/{doc → src/koffi/doc}/templates/badges.html +1 -1
- package/{doc → src/koffi/doc}/types.md +0 -0
- package/src/koffi/qemu/qemu/.gitkeep +0 -0
- package/{qemu → src/koffi/qemu}/qemu.js +217 -131
- package/{qemu → src/koffi/qemu}/registry/machines.json +24 -0
- package/{qemu → src/koffi/qemu}/registry/sha256sum.txt +0 -0
- package/src/{abi_arm32.cc → koffi/src/abi_arm32.cc} +1 -1
- package/src/{abi_arm32_fwd.S → koffi/src/abi_arm32_fwd.S} +0 -0
- package/src/{abi_arm64.cc → koffi/src/abi_arm64.cc} +1 -1
- package/src/{abi_arm64_fwd.S → koffi/src/abi_arm64_fwd.S} +0 -0
- package/src/{abi_arm64_fwd.asm → koffi/src/abi_arm64_fwd.asm} +0 -0
- package/src/{abi_riscv64.cc → koffi/src/abi_riscv64.cc} +1 -1
- package/src/{abi_riscv64_fwd.S → koffi/src/abi_riscv64_fwd.S} +0 -0
- package/src/{abi_x64_sysv.cc → koffi/src/abi_x64_sysv.cc} +1 -1
- package/src/{abi_x64_sysv_fwd.S → koffi/src/abi_x64_sysv_fwd.S} +0 -0
- package/src/{abi_x64_win.cc → koffi/src/abi_x64_win.cc} +1 -1
- package/src/{abi_x64_win_fwd.asm → koffi/src/abi_x64_win_fwd.asm} +0 -0
- package/src/{abi_x86.cc → koffi/src/abi_x86.cc} +1 -1
- package/src/{abi_x86_fwd.S → koffi/src/abi_x86_fwd.S} +0 -0
- package/src/{abi_x86_fwd.asm → koffi/src/abi_x86_fwd.asm} +0 -0
- package/src/{call.cc → koffi/src/call.cc} +1 -1
- package/src/{call.hh → koffi/src/call.hh} +2 -2
- package/src/{ffi.cc → koffi/src/ffi.cc} +36 -20
- package/src/{ffi.hh → koffi/src/ffi.hh} +6 -4
- package/src/{index.js → koffi/src/index.js} +0 -0
- package/src/{parser.cc → koffi/src/parser.cc} +1 -1
- package/src/{parser.hh → koffi/src/parser.hh} +1 -1
- package/src/{util.cc → koffi/src/util.cc} +1 -1
- package/src/{util.hh → koffi/src/util.hh} +1 -1
- package/{test → src/koffi/test}/CMakeLists.txt +14 -15
- package/{test → src/koffi/test}/async.js +0 -0
- package/{test → src/koffi/test}/callbacks.js +0 -0
- package/{test → src/koffi/test}/misc.c +13 -0
- package/{test → src/koffi/test}/misc.def +0 -0
- package/{test → src/koffi/test}/raylib.js +0 -0
- package/{test → src/koffi/test}/sqlite.js +1 -1
- package/{test → src/koffi/test}/sync.js +17 -0
- package/vendor/brotli/BUILD +144 -0
- package/vendor/brotli/CMakeLists.txt +421 -0
- package/vendor/brotli/CONTRIBUTING.md +27 -0
- package/vendor/brotli/LICENSE +19 -0
- package/vendor/brotli/MANIFEST.in +17 -0
- package/vendor/brotli/Makefile +55 -0
- package/vendor/brotli/Makefile.am +38 -0
- package/vendor/brotli/README +15 -0
- package/vendor/brotli/README.md +104 -0
- package/vendor/brotli/WORKSPACE +21 -0
- package/vendor/brotli/bootstrap +35 -0
- package/vendor/brotli/c/common/constants.c +15 -0
- package/vendor/brotli/c/common/constants.h +200 -0
- package/vendor/brotli/c/common/context.c +156 -0
- package/vendor/brotli/c/common/context.h +113 -0
- package/vendor/brotli/c/common/dictionary.c +5914 -0
- package/vendor/brotli/c/common/dictionary.h +64 -0
- package/vendor/brotli/c/common/platform.c +22 -0
- package/vendor/brotli/c/common/platform.h +594 -0
- package/vendor/brotli/c/common/transform.c +291 -0
- package/vendor/brotli/c/common/transform.h +85 -0
- package/vendor/brotli/c/common/version.h +26 -0
- package/vendor/brotli/c/dec/bit_reader.c +76 -0
- package/vendor/brotli/c/dec/bit_reader.h +351 -0
- package/vendor/brotli/c/dec/decode.c +2608 -0
- package/vendor/brotli/c/dec/huffman.c +339 -0
- package/vendor/brotli/c/dec/huffman.h +121 -0
- package/vendor/brotli/c/dec/prefix.h +732 -0
- package/vendor/brotli/c/dec/state.c +159 -0
- package/vendor/brotli/c/dec/state.h +365 -0
- package/vendor/brotli/c/enc/backward_references.c +145 -0
- package/vendor/brotli/c/enc/backward_references.h +39 -0
- package/vendor/brotli/c/enc/backward_references_hq.c +843 -0
- package/vendor/brotli/c/enc/backward_references_hq.h +95 -0
- package/vendor/brotli/c/enc/backward_references_inc.h +163 -0
- package/vendor/brotli/c/enc/bit_cost.c +35 -0
- package/vendor/brotli/c/enc/bit_cost.h +63 -0
- package/vendor/brotli/c/enc/bit_cost_inc.h +127 -0
- package/vendor/brotli/c/enc/block_encoder_inc.h +34 -0
- package/vendor/brotli/c/enc/block_splitter.c +194 -0
- package/vendor/brotli/c/enc/block_splitter.h +51 -0
- package/vendor/brotli/c/enc/block_splitter_inc.h +440 -0
- package/vendor/brotli/c/enc/brotli_bit_stream.c +1314 -0
- package/vendor/brotli/c/enc/brotli_bit_stream.h +84 -0
- package/vendor/brotli/c/enc/cluster.c +56 -0
- package/vendor/brotli/c/enc/cluster.h +48 -0
- package/vendor/brotli/c/enc/cluster_inc.h +320 -0
- package/vendor/brotli/c/enc/command.c +28 -0
- package/vendor/brotli/c/enc/command.h +190 -0
- package/vendor/brotli/c/enc/compress_fragment.c +790 -0
- package/vendor/brotli/c/enc/compress_fragment.h +61 -0
- package/vendor/brotli/c/enc/compress_fragment_two_pass.c +645 -0
- package/vendor/brotli/c/enc/compress_fragment_two_pass.h +54 -0
- package/vendor/brotli/c/enc/dictionary_hash.c +1846 -0
- package/vendor/brotli/c/enc/dictionary_hash.h +25 -0
- package/vendor/brotli/c/enc/encode.c +1927 -0
- package/vendor/brotli/c/enc/encoder_dict.c +33 -0
- package/vendor/brotli/c/enc/encoder_dict.h +43 -0
- package/vendor/brotli/c/enc/entropy_encode.c +503 -0
- package/vendor/brotli/c/enc/entropy_encode.h +122 -0
- package/vendor/brotli/c/enc/entropy_encode_static.h +539 -0
- package/vendor/brotli/c/enc/fast_log.c +105 -0
- package/vendor/brotli/c/enc/fast_log.h +66 -0
- package/vendor/brotli/c/enc/find_match_length.h +79 -0
- package/vendor/brotli/c/enc/hash.h +488 -0
- package/vendor/brotli/c/enc/hash_composite_inc.h +125 -0
- package/vendor/brotli/c/enc/hash_forgetful_chain_inc.h +293 -0
- package/vendor/brotli/c/enc/hash_longest_match64_inc.h +267 -0
- package/vendor/brotli/c/enc/hash_longest_match_inc.h +262 -0
- package/vendor/brotli/c/enc/hash_longest_match_quickly_inc.h +266 -0
- package/vendor/brotli/c/enc/hash_rolling_inc.h +212 -0
- package/vendor/brotli/c/enc/hash_to_binary_tree_inc.h +329 -0
- package/vendor/brotli/c/enc/histogram.c +100 -0
- package/vendor/brotli/c/enc/histogram.h +63 -0
- package/vendor/brotli/c/enc/histogram_inc.h +51 -0
- package/vendor/brotli/c/enc/literal_cost.c +175 -0
- package/vendor/brotli/c/enc/literal_cost.h +30 -0
- package/vendor/brotli/c/enc/memory.c +170 -0
- package/vendor/brotli/c/enc/memory.h +114 -0
- package/vendor/brotli/c/enc/metablock.c +663 -0
- package/vendor/brotli/c/enc/metablock.h +105 -0
- package/vendor/brotli/c/enc/metablock_inc.h +183 -0
- package/vendor/brotli/c/enc/params.h +46 -0
- package/vendor/brotli/c/enc/prefix.h +53 -0
- package/vendor/brotli/c/enc/quality.h +165 -0
- package/vendor/brotli/c/enc/ringbuffer.h +167 -0
- package/vendor/brotli/c/enc/static_dict.c +486 -0
- package/vendor/brotli/c/enc/static_dict.h +40 -0
- package/vendor/brotli/c/enc/static_dict_lut.h +5864 -0
- package/vendor/brotli/c/enc/utf8_util.c +85 -0
- package/vendor/brotli/c/enc/utf8_util.h +32 -0
- package/vendor/brotli/c/enc/write_bits.h +87 -0
- package/vendor/brotli/c/include/brotli/decode.h +344 -0
- package/vendor/brotli/c/include/brotli/encode.h +448 -0
- package/vendor/brotli/c/include/brotli/port.h +288 -0
- package/vendor/brotli/c/include/brotli/types.h +83 -0
- package/vendor/brotli/c/tools/brotli.c +1116 -0
- package/vendor/brotli/c/tools/brotli.md +107 -0
- package/vendor/brotli/compiler_config_setting.bzl +28 -0
- package/vendor/brotli/configure +8 -0
- package/vendor/brotli/configure-cmake +318 -0
- package/vendor/brotli/configure.ac +14 -0
- package/vendor/brotli/docs/brotli.1 +132 -0
- package/vendor/brotli/docs/constants.h.3 +47 -0
- package/vendor/brotli/docs/decode.h.3 +415 -0
- package/vendor/brotli/docs/encode.h.3 +586 -0
- package/vendor/brotli/docs/types.h.3 +117 -0
- package/vendor/brotli/premake5.lua +78 -0
- package/vendor/brotli/python/Makefile +57 -0
- package/vendor/brotli/python/README.md +54 -0
- package/vendor/brotli/python/_brotli.cc +753 -0
- package/vendor/brotli/python/bro.py +160 -0
- package/vendor/brotli/python/brotli.py +56 -0
- package/vendor/brotli/python/tests/__init__.py +0 -0
- package/vendor/brotli/python/tests/_test_utils.py +112 -0
- package/vendor/brotli/python/tests/bro_test.py +102 -0
- package/vendor/brotli/python/tests/compress_test.py +41 -0
- package/vendor/brotli/python/tests/compressor_test.py +94 -0
- package/vendor/brotli/python/tests/decompress_test.py +42 -0
- package/vendor/brotli/python/tests/decompressor_test.py +59 -0
- package/vendor/brotli/scripts/libbrotlicommon.pc.in +11 -0
- package/vendor/brotli/scripts/libbrotlidec.pc.in +12 -0
- package/vendor/brotli/scripts/libbrotlienc.pc.in +12 -0
- package/vendor/brotli/scripts/sources.lst +104 -0
- package/vendor/brotli/setup.cfg +5 -0
- package/vendor/brotli/setup.py +293 -0
- package/vendor/brotli/tests/Makefile +17 -0
- package/vendor/brotli/tests/compatibility_test.sh +25 -0
- package/vendor/brotli/tests/roundtrip_test.sh +36 -0
- package/vendor/brotli/tests/run-compatibility-test.cmake +31 -0
- package/vendor/brotli/tests/run-roundtrip-test.cmake +36 -0
- package/vendor/brotli/tests/testdata/empty +0 -0
- package/vendor/brotli/tests/testdata/empty.compressed +1 -0
- package/vendor/brotli/tests/testdata/ukkonooa +1 -0
- package/vendor/brotli/tests/testdata/ukkonooa.compressed +0 -0
- package/vendor/miniz/ChangeLog.md +235 -0
- package/vendor/miniz/LICENSE +22 -0
- package/vendor/miniz/examples/example1.c +105 -0
- package/vendor/miniz/examples/example2.c +164 -0
- package/vendor/miniz/examples/example3.c +269 -0
- package/vendor/miniz/examples/example4.c +102 -0
- package/vendor/miniz/examples/example5.c +327 -0
- package/vendor/miniz/examples/example6.c +166 -0
- package/vendor/miniz/miniz.c +7835 -0
- package/vendor/miniz/miniz.h +1422 -0
- package/vendor/miniz/readme.md +46 -0
- package/vendor/{sqlite3 → sqlite3mc}/sqlite3ext.h +18 -2
- package/vendor/{sqlite3/sqlite3.c → sqlite3mc/sqlite3mc.c} +60872 -4890
- package/vendor/sqlite3mc/sqlite3mc.def +312 -0
- package/vendor/{sqlite3/sqlite3.h → sqlite3mc/sqlite3mc.h} +480 -36
- package/build/qemu/2.1.2/koffi_darwin_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_arm32hf.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_win32_arm64.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/2.1.2/koffi_win32_x64.tar.gz +0 -0
- package/vendor/_patches/glfw_001_fix_openbsd_xlib_soname.patch +0 -145
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +0 -226
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +0 -10
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +0 -4
- package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +0 -75
- package/vendor/raylib/projects/VS2022/examples/audio_module_playing.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_multichannel_sound.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_music_stream.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_raw_stream.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_sound_loading.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/audio_stream_effects.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_2d_camera.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_2d_camera_platformer.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_camera_first_person.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_camera_free.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_camera_mode.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_3d_picking.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_basic_screen_manager.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_basic_window.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_custom_frame_control.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_custom_logging.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_drop_files.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_input_gamepad.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_gestures.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_keys.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_mouse.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_mouse_wheel.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_input_multitouch.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_loading_thread.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_random_values.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_scissor_test.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_split_screen.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_storage_values.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_vr_simulator.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_window_flags.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_window_letterbox.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/core_window_should_close.vcxproj +0 -390
- package/vendor/raylib/projects/VS2022/examples/core_world_screen.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/easings_testbed.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/embedded_files_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_animation.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_billboard.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_box_collisions.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_cubicmap.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_first_person_maze.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_geometric_shapes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_heightmap.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_loading_gltf.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_loading_vox.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_mesh_generation.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_mesh_picking.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_orthographic_projection.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_rlgl_solar_system.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_skybox.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_waving_cubes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/rlgl_compute_shaders.vcxproj +0 -391
- package/vendor/raylib/projects/VS2022/examples/rlgl_standalone.vcxproj +0 -391
- package/vendor/raylib/projects/VS2022/examples/shaders_basic_lighting.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_custom_uniform.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_eratosthenes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_fog.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_hot_reloading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_julia_set.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_mesh_instancing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_model_shader.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_multi_sample2d.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_palette_switch.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_postprocessing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_raymarching.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_shapes_textures.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_simple_mask.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_spotlight.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_texture_drawing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shaders_texture_waves.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_basic_shapes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_bouncing_ball.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_collision_area.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_colors_palette.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_draw_ring.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_easings_box_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_following_eyes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_lines_bezier.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_codepoints_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_draw_3d.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_filters.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_sdf.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_font_spritefont.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_format_text.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_input_box.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_raylib_fonts.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_rectangle_bounds.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_unicode.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/text_writing_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_background_scrolling.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_blend_modes.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_bunnymark.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_draw_tiled.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_fog_of_war.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_gif_player.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_drawing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_generation.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_loading.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_processing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_image_text.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_logo_raylib.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_mouse_painting.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_npatch_drawing.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_particles_blending.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_polygon.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_raw_data.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_sprite_anim.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_sprite_button.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_sprite_explosion.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/examples/textures_to_image.vcxproj +0 -387
- package/vendor/raylib/projects/VS2022/raylib/raylib.vcxproj +0 -340
- package/vendor/raylib/projects/VS2022/raylib.sln +0 -2347
- 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.
|
|
150
|
-
#define SQLITE_VERSION_NUMBER
|
|
151
|
-
#define SQLITE_SOURCE_ID "2022-
|
|
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()
|
|
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.
|
|
863
|
-
** is
|
|
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*,
|
|
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
|
|
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(
|
|
3702
|
-
SQLITE_API int sqlite3_uri_boolean(
|
|
3703
|
-
SQLITE_API sqlite3_int64 sqlite3_uri_int64(
|
|
3704
|
-
SQLITE_API const char *sqlite3_uri_key(
|
|
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(
|
|
3734
|
-
SQLITE_API const char *sqlite3_filename_journal(
|
|
3735
|
-
SQLITE_API const char *sqlite3_filename_wal(
|
|
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
|
|
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(
|
|
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
|
-
**
|
|
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
|
|
5834
|
-
**
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
9558
|
-
**
|
|
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
|