koffi 2.2.3 → 2.2.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.
- package/{ChangeLog.md → CHANGELOG.md} +19 -3
- package/LICENSE.txt +160 -656
- package/README.md +1 -1
- package/doc/calls.md +277 -0
- package/doc/changes.md +1 -1
- package/doc/functions.md +17 -275
- package/doc/index.rst +4 -2
- package/doc/misc.md +97 -0
- package/doc/pointers.md +135 -0
- package/doc/static/custom.css +3 -3
- package/doc/types.md +3 -193
- package/package.json +4 -4
- package/src/cnoke/LICENSE.txt +160 -656
- package/src/cnoke/assets/FindCNoke.cmake +3 -3
- package/src/cnoke/assets/win_delay_hook.c +3 -3
- package/src/cnoke/cnoke.js +3 -3
- package/src/cnoke/package.json +2 -2
- package/src/core/libcc/libcc.cc +4 -4
- package/src/core/libcc/libcc.hh +3 -3
- package/src/koffi/CMakeLists.txt +3 -3
- package/src/koffi/benchmark/CMakeLists.txt +3 -3
- package/src/koffi/benchmark/atoi_koffi.js +3 -3
- package/src/koffi/benchmark/atoi_napi.cc +3 -3
- package/src/koffi/benchmark/atoi_napi.js +3 -3
- package/src/koffi/benchmark/atoi_node_ffi.js +3 -3
- package/src/koffi/benchmark/benchmark.js +3 -3
- package/src/koffi/benchmark/rand_koffi.js +3 -3
- package/src/koffi/benchmark/rand_napi.cc +3 -3
- package/src/koffi/benchmark/rand_napi.js +3 -3
- package/src/koffi/benchmark/rand_node_ffi.js +3 -3
- package/src/koffi/benchmark/raylib_cc.cc +3 -3
- package/src/koffi/benchmark/raylib_cc.js +3 -3
- package/src/koffi/benchmark/raylib_koffi.js +3 -3
- package/src/koffi/benchmark/raylib_node_ffi.js +3 -3
- package/src/koffi/benchmark/raylib_node_raylib.js +3 -3
- package/src/koffi/build/2.2.5/koffi_darwin_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_darwin_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_freebsd_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_freebsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_freebsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_linux_arm32hf.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_linux_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_linux_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_linux_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_openbsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_openbsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_win32_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_win32_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.5/koffi_win32_x64.tar.gz +0 -0
- package/src/koffi/src/abi_arm32.cc +3 -3
- package/src/koffi/src/abi_arm32_fwd.S +3 -3
- package/src/koffi/src/abi_arm64.cc +3 -3
- package/src/koffi/src/abi_arm64_fwd.S +3 -3
- package/src/koffi/src/abi_arm64_fwd.asm +3 -3
- package/src/koffi/src/abi_riscv64.cc +3 -3
- package/src/koffi/src/abi_riscv64_fwd.S +3 -3
- package/src/koffi/src/abi_trampolines.inc +3 -3
- package/src/koffi/src/abi_x64_sysv.cc +3 -3
- package/src/koffi/src/abi_x64_sysv_fwd.S +3 -3
- package/src/koffi/src/abi_x64_win.cc +3 -3
- package/src/koffi/src/abi_x64_win_fwd.asm +3 -3
- package/src/koffi/src/abi_x86.cc +3 -3
- package/src/koffi/src/abi_x86_fwd.S +3 -3
- package/src/koffi/src/abi_x86_fwd.asm +3 -3
- package/src/koffi/src/call.cc +3 -3
- package/src/koffi/src/call.hh +3 -3
- package/src/koffi/src/ffi.cc +5 -5
- package/src/koffi/src/ffi.hh +3 -7
- package/src/koffi/src/index.js +3 -3
- package/src/koffi/src/parser.cc +3 -3
- package/src/koffi/src/parser.hh +3 -3
- package/src/koffi/src/util.cc +3 -3
- package/src/koffi/src/util.hh +3 -3
- package/src/koffi/src/win32.hh +3 -3
- package/src/koffi/test/CMakeLists.txt +3 -3
- package/src/koffi/test/async.js +3 -3
- package/src/koffi/test/callbacks.js +3 -3
- package/src/koffi/test/misc.c +3 -3
- package/src/koffi/test/raylib.js +3 -3
- package/src/koffi/test/sqlite.js +3 -3
- package/src/koffi/test/sync.js +3 -3
- package/src/koffi/test/win32.c +3 -3
- package/src/koffi/test/win32.js +3 -3
- package/src/koffi/tools/qemu.js +4 -4
- package/src/koffi/tools/write_trampolines.py +3 -3
- package/doc/memory.md +0 -33
- package/src/koffi/build/2.2.3/koffi_darwin_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_darwin_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_freebsd_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_freebsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_freebsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_linux_arm32hf.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_linux_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_linux_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_linux_riscv64hf64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_linux_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_openbsd_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_openbsd_x64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_win32_arm64.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_win32_ia32.tar.gz +0 -0
- package/src/koffi/build/2.2.3/koffi_win32_x64.tar.gz +0 -0
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
## History
|
|
4
4
|
|
|
5
|
+
### Koffi 2.2.5
|
|
6
|
+
|
|
7
|
+
**Main changes:**
|
|
8
|
+
|
|
9
|
+
- Relicense Koffi under LGPL 3.0
|
|
10
|
+
|
|
11
|
+
### Koffi 2.2.4
|
|
12
|
+
|
|
13
|
+
**Main fixes:**
|
|
14
|
+
|
|
15
|
+
- Fix memory leak on Windows (in Koffi 2.2.3) when running many async calls
|
|
16
|
+
|
|
17
|
+
**Other changes:**
|
|
18
|
+
|
|
19
|
+
- Reorganize documentation pages
|
|
20
|
+
|
|
5
21
|
### Koffi 2.2.3
|
|
6
22
|
|
|
7
23
|
**Main fixes:**
|
|
@@ -37,7 +53,7 @@
|
|
|
37
53
|
**New features:**
|
|
38
54
|
|
|
39
55
|
- Add [koffi.decode()](callbacks.md#pointer-arguments) for callback pointer arguments
|
|
40
|
-
- Support transparent [output string parameters](
|
|
56
|
+
- Support transparent [output string parameters](calls.md#output-parameters)
|
|
41
57
|
- Add `koffi.offsetof()` utility function
|
|
42
58
|
- Support optional *this* binding in `koffi.register()`
|
|
43
59
|
|
|
@@ -85,7 +101,7 @@
|
|
|
85
101
|
|
|
86
102
|
**Main changes:**
|
|
87
103
|
|
|
88
|
-
- Add [koffi.as()](
|
|
104
|
+
- Add [koffi.as()](calls.md#polymorphic-parameters) to support polymorphic APIs based on `void *` parameters
|
|
89
105
|
- Add [endian-sensitive integer types](types.md#endian-sensitive-types): `intX_le_t`, `intX_be_t`, `uintX_le_t`, `uintX_be_t`
|
|
90
106
|
- Accept typed arrays for `void *` parameters
|
|
91
107
|
- Introduce `koffi.opaque()` to replace `koffi.handle()` (which remains supported until Koffi 3.0)
|
|
@@ -109,7 +125,7 @@
|
|
|
109
125
|
|
|
110
126
|
**Major new features:**
|
|
111
127
|
|
|
112
|
-
- Add [disposable types](
|
|
128
|
+
- Add [disposable types](calls.md#heap-allocated-values) for automatic disposal of C values (such as heap-allocated strings)
|
|
113
129
|
- Add support for [registered callbacks](callbacks.md#registered-callbacks), that can be called after the initial FFI call
|
|
114
130
|
- Support named pointer types
|
|
115
131
|
- Support complex type specifications outside of prototype parser
|