ffi_prep_cif_var
—
Prepare a ffi_cif
structure for use with
ffi_call
for variadic functions.
#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);
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.
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>