gecko-dev/third_party/rust/bindgen
Emilio Cobos Álvarez ab7a52626a Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway.
MANUAL PUSH: Cherry-picking upstream stuff, with reviewers that are not on phabricator.
2019-10-09 13:42:36 +02:00
..
csmith-fuzzing Bug 1581742: Bump Cranelift to 9c6f8feb0f28f50434c0cf67f3f7c07486a42b7e; r=jseward 2019-09-18 09:08:59 +00:00
src Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway. 2019-10-09 13:42:36 +02:00
.cargo-checksum.json Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway. 2019-10-09 13:42:36 +02:00
build.rs Bug 1583471: Update bindgen to 0.51.1 througout the tree; r=emilio 2019-09-25 09:50:10 +00:00
Cargo.lock Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway. 2019-10-09 13:42:36 +02:00
Cargo.toml Bug 1587368 - Stop using -oldsyn bindgen version now that we pull newer syn and proc_macro versions anyway. 2019-10-09 13:42:36 +02:00
LICENSE
README.md Bug 1552329 - Update bindgen to v0.49.1. r=froydnj 2019-05-16 22:23:59 +00:00

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!