Import 'bindgen' package version 0.53.2

* Add OWNERS
* No Android.bp yet
Bug: 152884384
Test: make

Change-Id: I2c8a34b0dc419a19126070a18fc588f7dbeeb099
58 files changed
tree: 7f1e9eff4140bd6c5e2392610f7fe8f0d14e75f3
  1. csmith-fuzzing/
  2. out/
  3. src/
  4. .cargo_vcs_info.json
  5. build.rs
  6. Cargo.lock
  7. Cargo.toml
  8. Cargo.toml.orig
  9. LICENSE
  10. METADATA
  11. MODULE_LICENSE_BSD_LIKE
  12. OWNERS
  13. README.md
README.md

crates.io docs.rs

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);
}

Users Guide

📚 Read the bindgen users guide here! 📚

API Reference

API reference documentation is on docs.rs

Contributing

See CONTRIBUTING.md for hacking on bindgen!