In the world of GObject API there are XML files describing the API and so you create two crates one with the FFI stuff and one with the Rust-facing stuff. Clearly all very sensible as that is the way to tools lead you.
For other C APIs I am assuming bindgen is the de facto standard tool for generating the FFI. The question is should this be a standalone crate with any Rust-facing additions in a separate crate. Alternatively, should the FFI bits and the Rust-facing bit all be in the same crate?