112a9d9c8Sopenharmony_ci# Create a `wrapper.h` Header 212a9d9c8Sopenharmony_ci 312a9d9c8Sopenharmony_ciThe `wrapper.h` file will include all the various headers containing 412a9d9c8Sopenharmony_cideclarations of structs and functions we would like bindings for. In the 512a9d9c8Sopenharmony_ciparticular case of `bzip2`, this is pretty easy since the entire public API is 612a9d9c8Sopenharmony_cicontained in a single header. For a project like [SpiderMonkey][spidermonkey], 712a9d9c8Sopenharmony_ciwhere the public API is split across multiple header files and grouped by 812a9d9c8Sopenharmony_cifunctionality, we'd want to include all those headers we want to bind to in this 912a9d9c8Sopenharmony_cisingle `wrapper.h` entry point for `bindgen`. 1012a9d9c8Sopenharmony_ci 1112a9d9c8Sopenharmony_ciHere is our `wrapper.h`: 1212a9d9c8Sopenharmony_ci 1312a9d9c8Sopenharmony_ci```c 1412a9d9c8Sopenharmony_ci#include <bzlib.h> 1512a9d9c8Sopenharmony_ci``` 1612a9d9c8Sopenharmony_ci 1712a9d9c8Sopenharmony_ciThis is also where we would add any [replacement types](./replacing-types.md), 1812a9d9c8Sopenharmony_ciif we were using some. 1912a9d9c8Sopenharmony_ci 2012a9d9c8Sopenharmony_ci[spidermonkey]: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/How_to_embed_the_JavaScript_engine 21