[−][src]Crate libffi_sys
Low-level Rust bindings for libffi
The C libffi library provides two main facilities: assembling calls to functions dynamically, and creating closures that can be called as ordinary C functions. This is an undocumented wrapper, generated by bindgen, intended as the basis for higher-level bindings, but you can see the C libffi documentation.
See the libffi crate for a higher-level API.
Usage
libffi-sys can either build its own copy of the libffi C library from
github or it can link against your
system’s C libffi. By default it builds its own because many systems
ship with an old C libffi; this requires that you have a working make,
C compiler, automake, autoconf, and texinfo first. If your system libffi
is up-to-date (v3.2.1 as of October 2019), you can instead enable the
system feature flag to use that. If you want this crate to build
a C libffi for you, add
[dependencies]
libffi-sys = "0.8.0"
to your Cargo.toml. If you want to use your system C libffi, then
[dependencies.libffi-sys]
version = "0.8.0"
features = ["system"]
to your Cargo.toml instead.
This crate supports Rust version 1.32 and later.
Structs
| _ffi_type | |
| ffi_cif | |
| ffi_closure | |
| ffi_java_raw_closure | |
| ffi_raw_closure |
Constants
Statics
Functions
Type Definitions
| FFI_TYPE | |
| ffi_abi | |
| ffi_arg | |
| ffi_java_raw | |
| ffi_sarg | |
| ffi_status | |
| ffi_type | |
| ffi_type_enum | |
| wchar_t |
Unions
| ffi_raw |