<commit_before># `bindgen`

**`bindgen` automatically generates Rust FFI bindings to C and C++ libraries.**

For example, given the C header `cool.h`:

```c
typedef struct CoolStruct {
    int x;
    int y;
} CoolStruct;

void cool_function(int i, char c, CoolStruct* cs);
```

`bindgen` produces Rust FFI code allowing you to call into the `cool` library's
functions and use its types:

```rust
/* automatically generated by rust-bindgen */

#[repr(C)]
pub struct CoolStruct {
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
}

extern "C" {
    pub fn cool_function(i: ::std::os::raw::c_int,
                         c: ::std::os::raw::c_char,
                         cs: *mut CoolStruct);
}
```

## Users Guide

[📚 Read the `bindgen` users guide here! 📚](https://servo.github.io/rust-bindgen)

## API Reference

[API reference documentation is on docs.rs](https://docs.rs/bindgen)

## Contributing

[See `CONTRIBUTING.md` for hacking on `bindgen`!](./CONTRIBUTING.md)<commit_msg>Auto merge of #813 - fitzgen:we-need-lots-more-fun-around-here, r=emilio<commit_after># `bindgen`

**`bindgen` automatically generates Rust FFI bindings to C and C++ libraries.**

For example, given the C header `doggo.h`:

```c
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:

```rust
/* 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! 📚](https://servo.github.io/rust-bindgen)

## API Reference

[API reference documentation is on docs.rs](https://docs.rs/bindgen)

## Contributing

[See `CONTRIBUTING.md` for hacking on `bindgen`!](./CONTRIBUTING.md)
{'fraction_non_alphanumeric': 0.1514690982776089, 'fraction_numerical': 0.001519756838905775, 'mean_word_length': 3.9623115577889445, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7400617', 'n_tokens_mistral': 736, 'n_tokens_neox': 691, 'n_words': 206}