Some checks failed
CI / lint (push) Successful in 1m37s
CI / test-python (push) Successful in 1m49s
CI / test-zig (push) Successful in 1m39s
CI / test-wasm (push) Successful in 1m54s
CI / test (push) Successful in 14m44s
CI / miri (push) Successful in 14m18s
CI / build (push) Successful in 1m9s
CI / fuzz-regression (push) Successful in 9m9s
CI / publish (push) Failing after 1m10s
CI / publish-python (push) Failing after 1m46s
CI / publish-wasm (push) Has been cancelled
Signed-off-by: Kamal Tufekcic <kamal@lo.sh>
39 lines
913 B
Markdown
39 lines
913 B
Markdown
# libsoliton_capi
|
|
|
|
C ABI FFI layer for [libsoliton](https://git.lo.sh/lo/libsoliton) — a pure-Rust post-quantum cryptographic library.
|
|
|
|
## API
|
|
|
|
The complete API is defined in [`soliton.h`](soliton.h) (48 exported functions, cbindgen-generated). All functions return `int32_t` error codes; opaque handles are created/freed via matched `_new`/`_free` pairs.
|
|
|
|
## Build
|
|
|
|
```bash
|
|
cargo build --release -p libsoliton_capi
|
|
```
|
|
|
|
Produces:
|
|
- `target/release/libsoliton_capi.so` (Linux) / `.dylib` (macOS) / `.dll` (Windows)
|
|
- `target/release/libsoliton_capi.a` (static)
|
|
|
|
## Link
|
|
|
|
**pkg-config:**
|
|
```bash
|
|
gcc main.c $(pkg-config --cflags --libs libsoliton) -o main
|
|
```
|
|
|
|
**CMake:**
|
|
```cmake
|
|
find_package(Soliton REQUIRED)
|
|
target_link_libraries(myapp Soliton::Soliton)
|
|
```
|
|
|
|
**Direct:**
|
|
```bash
|
|
gcc main.c -I path/to/soliton_capi -L path/to/target/release -lsoliton_capi -o main
|
|
```
|
|
|
|
## License
|
|
|
|
[AGPL-3.0-only](LICENSE.md)
|