Create a wrapper.h Header - The bindgen User Guide
Description: `bindgen` automatically generates Rust FFI bindings to C and C++ libraries.

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Create a `wrapper.h` Header

The `wrapper.h` file will include all the various headers containing declarations of structs and functions we would like bindings for. In the particular case of `bzip2`, this is pretty easy since the entire public API is contained in a single header. For a project like SpiderMonkey, where the public API is split across multiple header files and grouped by functionality, we’d want to include all those headers we want to bind to in this single `wrapper.h` entry point for `bindgen`.

Here is our `wrapper.h`:

    #include <bzlib.h>

This is also where we would add any replacement types, if we were using some.