FreeBSD manual

download PDF document: ffi_prep_cif_var.3.pdf

ffi_prep_cif_var(3) FreeBSD 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