DragonFly On-Line Manual Pages
FFI(3) DragonFly Library Functions Manual FFI(3)
NAME
FFI - Foreign Function Interface
LIBRARY
libffi, -lffi
SYNOPSIS
#include <ffi.h>
ffi_status
ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
ffi_type *rtype, ffi_type **atypes);
void
ffi_prep_cif_var(ffi_cif *cif, ffi_abi abi, unsigned int nfixedargs,
unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes);
void
ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue);
DESCRIPTION
The foreign function interface provides a mechanism by which a function
can generate a call to another function at runtime without requiring
knowledge of the called function's interface at compile time.
SEE ALSO
ffi_prep_cif(3), ffi_prep_cif_var(3), ffi_call(3)
February 15, 2008
ffi_prep_cif_var(3) DragonFly Library Functions Manual ffi_prep_cif_var(3)
NAME
ffi_prep_cif_var - Prepare a ffi_cif structure for use with ffi_call for
variadic functions.
SYNOPSIS
#include <ffi.h>
ffi_status
ffi_prep_cif_var(ffi_cif *cif, ffi_abi abi, unsigned int nfixedargs,
unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes);
DESCRIPTION
The ffi_prep_cif_var function prepares a ffi_cif structure for use with
ffi_call for variadic functions. abi specifies a set of calling
conventions to use. atypes is an array of ntotalargs pointers to
ffi_type structs that describe the data type, size and alignment of each
argument. rtype points to an ffi_type that describes the data type, size
and alignment of the return value. nfixedargs must contain the number of
fixed (non-variadic) arguments. Note that to call a non-variadic
function ffi_prep_cif must be used.
RETURN VALUES
Upon successful completion, ffi_prep_cif_var returns FFI_OK. It will
return FFI_BAD_TYPEDEF if cif is NULL or atypes or rtype is malformed. If
abi does not refer to a valid ABI, FFI_BAD_ABI will be returned.
Available ABIs are defined in <ffitarget.h>
SEE ALSO
ffi(3), ffi_call(3), ffi_prep_cif(3)
January 25, 2011