[][src]Crate ffishim

The backend for the ffishim_derive procedural macro.

This crate provides:

  • The C types used by the "ffi shim" layer such as FFIVec and FFIResult for example.
  • The logic for generating a "ffi shim" layer around your API. See the ffishim_derive macro for more documentation on that.

You most likely should not use this API directly, and rely on the ffishim_derive procedural macro for all your ffi shim needs.

Modules

library

Types to be used by the FFI shim in the target programs.

types

Definition of accepted types and their behavior.

Structs

Data

Entry point of the ffishim crate.

Field

A FFIShim field as loaded by darling.

Free

Derived from Data to generate the free_name function.

From

Derived from Data to generate the FFIName::from(Name) conversion.

Function

Derived from an ItemFn to generate its equivalent wrapper function.

News

Derived from Data to generate the new_name function.

TryInto

Derived from Data to generate the FFIName::try_into(Name) conversion.

Variant

A FFIShim variant as loaded by darling.

Functions

shim_allocator_setting

TokenStream which, when executed, sets the allocator to a known default.