|
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> |
||
|---|---|---|
| .. | ||
| cmake | ||
| fuzz | ||
| src | ||
| tests | ||
| build.rs | ||
| Cargo.toml | ||
| cbindgen.toml | ||
| LICENSE.md | ||
| README.md | ||
| soliton.h | ||
| soliton.pc.in | ||
libsoliton_capi
C ABI FFI layer for libsoliton — a pure-Rust post-quantum cryptographic library.
API
The complete API is defined in 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
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:
gcc main.c $(pkg-config --cflags --libs libsoliton) -o main
CMake:
find_package(Soliton REQUIRED)
target_link_libraries(myapp Soliton::Soliton)
Direct:
gcc main.c -I path/to/soliton_capi -L path/to/target/release -lsoliton_capi -o main