Actually, one of the first tools to appear in the Rust ecosystem was a port of the "bindgen" program written for the Clay language, which has been solving the problem of parsing C headers for years now:
https://github.com/crabtw/rust-bindgen/
There are also long-term plans for adopting this into the compiler itself:
https://github.com/mozilla/rust/issues/2124