Module libffi::low [] [src]

A low-level wrapping of libffi, this layer makes no attempts at safety, but tries to provide a somewhat more idiomatic interface.

This module also re-exports types and constants necessary for using the library, so it should not be generally necessary to use the raw module. While this is a bit “Rustier” than raw, I’ve avoided drastic renaming in favor of hewing close to the libffi API. See middle for an easier-to-use approach.

Modules

type_tag

Type tags used in constructing and inspecting ffi_types.

types

Re-exports the ffi_type objects used to describe the types of arguments and results.

Structs

CodePtr

Wraps a function pointer of unknown type.

ffi_cif
ffi_closure
ffi_type

Enums

Error

The two kinds of errors reported by libffi.

ffi_abi
ffi_status

Constants

ffi_abi_FFI_DEFAULT_ABI

Functions

call

Calls a C function as specified by a CIF.

closure_alloc

Allocates a closure.

closure_free

Frees a closure.

prep_cif

Initalizes a CIF (Call Interface) with the given ABI and types.

prep_cif_var

Initalizes a CIF (Call Interface) for a varargs function.

prep_closure

Initializes a closure with a callback function and userdata.

prep_closure_mut

Initializes a mutable closure with a callback function and (mutable) userdata.

Type Definitions

Callback

The type of function called by a closure.

CallbackMut

The type of function called by a mutable closure.

RawCallback

The callback type expected by raw::ffi_prep_closure_loc.

Result

The Result type specialized for libffi Errors.