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);
ffi_prep_cif_var(3) BSD 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 conven-
tions 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 align-
ment 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. Avail-
able ABIs are defined in <ffitarget.h>
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | library/libffi |
+---------------+------------------+
|Stability | Uncommitted |
+---------------+------------------+
SEE ALSO
ffi(3), ffi_call(3), ffi_prep_cif(3)
NOTES
Source code for open source software components in Oracle Solaris can be
found at https://www.oracle.com/downloads/opensource/solaris-source-code-
downloads.html.
This software was built from source available at https://github.com/ora-
cle/solaris-userland. The original community source was downloaded from
ftp://sources.redhat.com/pub/libffi/libffi-3.2.1.tar.gz.
Further information about this software can be found on the open source
community website at http://sourceware.org/libffi/.
January 25, 2011