Crate bindgen

Source
Expand description

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 ParseCallbacks implementation 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-Copy unions should be translated.
RustEdition
Represents Rust Edition for the generated bindings

Constants§

CargoCallbacksDeprecated
Create a new CargoCallbacks value with CargoCallbacks::rerun_on_header_files disabled.
DEFAULT_ANON_FIELDS_PREFIX
Default prefix for the anon fields.
LATEST_STABLE_RUST
Latest stable release of Rust that is supported by bindgen

Functions§

builder
Construct a new Builder.
clang_version
Get the major and the minor semver numbers of Clang’s version