Collection of libraries to assist with creating Rust libraries which expose a public-facing C interface via FFI. The goal is not to simply create bindings and types that work across the FFI boundary, but ones which match expected C conventions and produce nicely formatted, human-readable C header files.
- terraffi_ctypes - Provides a number of types specialized for C interop including
CSlice<T>,CVec<T>,CStringPtrandCStringBuffer. - terraffi_macro - Proc macro crate for annotating libraries which produce a C interface.
- terraffi_gen - Header file generation.