commit | 9dedfbabc015a68fddb90448dda4554fb5d8bf25 | [log] [tgz] |
---|---|---|
author | Ivan Lozano <ivanlozano@google.com> | Thu Apr 30 15:26:32 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Apr 30 15:26:32 2020 +0000 |
tree | 45b69894d3a1e7c6fadbceb06634ab6ab56ba0c7 | |
parent | f1f5e56daff371d87e57d51b41c3fd015cca22a6 [diff] | |
parent | dbbffdc2302668a4bab17c83319d00ea779d5ce7 [diff] |
Only compile libbindgen for the host primary arch. am: dbbffdc230 Change-Id: I9ea49117374970ef475ca512235eb374ffc408e9
bindgen
bindgen
automatically generates Rust FFI bindings to C (and some C++) libraries.
For example, given the C header doggo.h
:
typedef struct Doggo { int many; char wow; } Doggo; void eleven_out_of_ten_majestic_af(Doggo* pupper);
bindgen
produces Rust FFI code allowing you to call into the doggo
library's functions and use its types:
/* automatically generated by rust-bindgen */ #[repr(C)] pub struct Doggo { pub many: ::std::os::raw::c_int, pub wow: ::std::os::raw::c_char, } extern "C" { pub fn eleven_out_of_ten_majestic_af(pupper: *mut Doggo); }
📚 Read the bindgen
users guide here! 📚
API reference documentation is on docs.rs