libsoliton/soliton_capi/README.md
Kamal Tufekcic d73755a275
initial commit
Signed-off-by: Kamal Tufekcic <kamal@lo.sh>
2026-04-23 15:51:07 +03:00

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)