Crate libffi_sys [] [src]

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

Building libffi-sys will build the libffi C library from github, which requires that you have a working make, C compiler, automake, autoconf, and texinfo first. It’s on crates.io, so you can add

[dependencies]
libffi-sys = "0.6.1"

to your Cargo.toml and

extern crate libffi_sys;

to your crate root.

This crate supports Rust version 1.20 and later.

Structs

_ffi_type
ffi_cif
ffi_closure
ffi_java_raw_closure
ffi_raw_closure

Constants

AIO_PRIO_DELTA_MAX
ARG_MAX
BC_BASE_MAX
BC_DIM_MAX
BC_SCALE_MAX
BC_STRING_MAX
CHARCLASS_NAME_MAX
COLL_WEIGHTS_MAX
DELAYTIMER_MAX
EXPR_NEST_MAX
FFI_64_BIT_MAX
FFI_CLOSURES
FFI_NATIVE_RAW_API
FFI_SIZEOF_ARG
FFI_SIZEOF_JAVA_RAW
FFI_TRAMPOLINE_SIZE
FFI_TYPE_COMPLEX
FFI_TYPE_DOUBLE
FFI_TYPE_FLOAT
FFI_TYPE_INT
FFI_TYPE_LAST
FFI_TYPE_LONGDOUBLE
FFI_TYPE_POINTER
FFI_TYPE_SINT8
FFI_TYPE_SINT16
FFI_TYPE_SINT32
FFI_TYPE_SINT64
FFI_TYPE_STRUCT
FFI_TYPE_UINT8
FFI_TYPE_UINT16
FFI_TYPE_UINT32
FFI_TYPE_UINT64
FFI_TYPE_VOID
HOST_NAME_MAX
LINE_MAX
LINK_MAX
LOGIN_NAME_MAX
MAX_CANON
MAX_INPUT
MB_LEN_MAX
MQ_PRIO_MAX
NAME_MAX
NGROUPS_MAX
NR_OPEN
PATH_MAX
PIPE_BUF
PTHREAD_DESTRUCTOR_ITERATIONS
PTHREAD_KEYS_MAX
PTHREAD_STACK_MIN
RE_DUP_MAX
RTSIG_MAX
SEM_VALUE_MAX
TTY_NAME_MAX
XATTR_LIST_MAX
XATTR_NAME_MAX
XATTR_SIZE_MAX
_ATFILE_SOURCE
_BITS_POSIX1_LIM_H
_BITS_POSIX2_LIM_H
_DEFAULT_SOURCE
_FEATURES_H
_LIBC_LIMITS_H_
_POSIX2_BC_BASE_MAX
_POSIX2_BC_DIM_MAX
_POSIX2_BC_SCALE_MAX
_POSIX2_BC_STRING_MAX
_POSIX2_CHARCLASS_NAME_MAX
_POSIX2_COLL_WEIGHTS_MAX
_POSIX2_EXPR_NEST_MAX
_POSIX2_LINE_MAX
_POSIX2_RE_DUP_MAX
_POSIX_AIO_LISTIO_MAX
_POSIX_AIO_MAX
_POSIX_ARG_MAX
_POSIX_CHILD_MAX
_POSIX_CLOCKRES_MIN
_POSIX_C_SOURCE
_POSIX_DELAYTIMER_MAX
_POSIX_HOST_NAME_MAX
_POSIX_LINK_MAX
_POSIX_LOGIN_NAME_MAX
_POSIX_MAX_CANON
_POSIX_MAX_INPUT
_POSIX_MQ_OPEN_MAX
_POSIX_MQ_PRIO_MAX
_POSIX_NAME_MAX
_POSIX_NGROUPS_MAX
_POSIX_OPEN_MAX
_POSIX_PATH_MAX
_POSIX_PIPE_BUF
_POSIX_RE_DUP_MAX
_POSIX_RTSIG_MAX
_POSIX_SEM_NSEMS_MAX
_POSIX_SEM_VALUE_MAX
_POSIX_SIGQUEUE_MAX
_POSIX_SOURCE
_POSIX_SSIZE_MAX
_POSIX_STREAM_MAX
_POSIX_SYMLINK_MAX
_POSIX_SYMLOOP_MAX
_POSIX_THREAD_DESTRUCTOR_ITERATIONS
_POSIX_THREAD_KEYS_MAX
_POSIX_THREAD_THREADS_MAX
_POSIX_TIMER_MAX
_POSIX_TTY_NAME_MAX
_POSIX_TZNAME_MAX
_STDC_PREDEF_H
_SYS_CDEFS_H
__GLIBC_MINOR__
__GLIBC__
__GNU_LIBRARY__
__STDC_IEC_559_COMPLEX__
__STDC_IEC_559__
__STDC_ISO_10646__
__STDC_NO_THREADS__
__SYSCALL_WORDSIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
ffi_abi_FFI_DEFAULT_ABI
ffi_abi_FFI_FASTCALL
ffi_abi_FFI_FIRST_ABI
ffi_abi_FFI_LAST_ABI
ffi_abi_FFI_PASCAL
ffi_abi_FFI_REGISTER
ffi_abi_FFI_STDCALL
ffi_abi_FFI_SYSV
ffi_abi_FFI_THISCALL
ffi_abi_FFI_UNIX64
ffi_status_FFI_BAD_ABI
ffi_status_FFI_BAD_TYPEDEF
ffi_status_FFI_OK
ffi_type_enum_COMPLEX
ffi_type_enum_STRUCT

Statics

ffi_type_complex_double
ffi_type_complex_float
ffi_type_complex_longdouble
ffi_type_double
ffi_type_float
ffi_type_longdouble
ffi_type_pointer
ffi_type_sint8
ffi_type_sint16
ffi_type_sint32
ffi_type_sint64
ffi_type_uint8
ffi_type_uint16
ffi_type_uint32
ffi_type_uint64
ffi_type_void

Functions

ffi_call
ffi_closure_alloc
ffi_closure_free
ffi_java_ptrarray_to_raw
ffi_java_raw_call
ffi_java_raw_size
ffi_java_raw_to_ptrarray
ffi_prep_cif
ffi_prep_cif_core
ffi_prep_cif_var
ffi_prep_closure
ffi_prep_closure_loc
ffi_prep_java_raw_closure
ffi_prep_java_raw_closure_loc
ffi_prep_raw_closure
ffi_prep_raw_closure_loc
ffi_ptrarray_to_raw
ffi_raw_call
ffi_raw_size
ffi_raw_to_ptrarray

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