wombatkv/lib.rs
1#![deny(unsafe_code)]
2//! C ABI for `WombatKV`'s KV store. Companion to
3//! `include/wombatkv.h`.
4//!
5//! Build: `cargo build -p wombatkv-cabi --release` produces
6//! `target/release/libwombatkv.dylib` (macOS) or `.so` (Linux).
7//!
8//! All extern "C" functions are wrapped in `catch_unwind` so a Rust
9//! panic on the puffer side never propagates into the C caller.
10//!
11//! All pointer-handling unsafe blocks are isolated to the `ffi`
12//! submodule with audit comments. The rest of this crate is safe code.
13
14pub mod config;
15mod ffi;
16pub use config::CabiConfig;
17pub use ffi::*;