[go: up one dir, main page]

Module low

Module low 

Source
Expand description

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
A struct used by libffi to describe a function’s ABI and type signature.
ffi_closure
A struct used by libffi to describe and manage closures.
ffi_type
A struct used by libffi to describe types and their memory layout.

Enums§

Error
The errors reported by libffi.

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 Aliases§

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 std::result::Result type specialized for libffi Errors.
ffi_abi
The type used to convey the ABI of a function.
ffi_arg
The smallest unsigned integer type returned by ffi_call.
ffi_sarg
The smallest signed integer type returned by ffi_call.
ffi_status
The return type of libffi’s functions that may return an error.