Crate bindgen
Generate Rust bindings for C and C++ libraries.
Provide a C/C++ header file, receive Rust FFI code to call into C/C++ functions and use types defined in the header.
See the Builder struct for usage.
See the Users Guide for additional documentation.
Modules
- callbacks A public API for more fine-grained customization of bindgen behavior.
Structs
- Bindings Generated Rust bindings.
- Builder Configure and generate Rust bindings for a C/C++ header.
-
CargoCallbacks
A
ParseCallbacksimplementation that will act on file includes by echoing a rerun-if-changed line and on env variable usage by echoing a rerun-if-env-changed line - ClangVersion Extracted Clang version data
- CodegenConfig A type used to indicate which kind of items we have to generate.
- RustTarget Represents the version of the Rust language to target.
Enums
- Abi A valid rust ABI.
- AliasVariation Enum for how aliases should be translated.
- BindgenError Error type for rust-bindgen.
- EnumVariation A helper type that represents different enum variations.
- FieldVisibilityKind What kind of visibility modifier should be used for a struct or field?
- Formatter Formatting tools that can be used to format the bindings
- MacroTypeVariation Enum for the default type of macro constants.
-
NonCopyUnionStyle
Enum for how non-
Copyunions should be translated. - RustEdition Represents Rust Edition for the generated bindings
Functions
-
builder
Construct a new
Builder. - clang_version Get the major and the minor semver numbers of Clang's version
Constants
-
CargoCallbacks
Create a new
CargoCallbacksvalue withCargoCallbacks::rerun_on_header_filesdisabled. - DEFAULT_ANON_FIELDS_PREFIX Default prefix for the anon fields.
- LATEST_STABLE_RUST Latest stable release of Rust that is supported by bindgen