1. Introduction
  2. Requirements
  3. Library Usage with build.rs
    1. Tutorial
      1. Add bindgen as a Build Dependency
      2. Create a wrapper.h Header
      3. Create a build.rs File
      4. Include the Generated Bindings in src/lib.rs
      5. Write a Sanity Test
      6. Publish Your Crate!
    2. Bindings for non-system libraries
  4. Command Line Usage
  5. Customizing the Generated Bindings
    1. Allowlisting
    2. Blocklisting
    3. Treating a Type as an Opaque Blob of Bytes
    4. Replacing One Type with Another
    5. Preventing the Derivation of Copy and Clone
    6. Preventing the Derivation of Debug
    7. Preventing the Derivation of Default
    8. Annotating types with #[must-use]
    9. Field visibility
    10. Code formatting
  6. Generating Bindings to C++
  7. Generating Bindings to Objective-c
  8. Using Unions
  9. Using Bitfields
  10. Using Flexible Array Members
  11. FAQ