1ffi_prep_cif_var(3) BSD Library Functions Manual ffi_prep_cif_var(3)
2
4 ffi_prep_cif_var — Prepare a ffi_cif structure for use with ffi_call for
5 variadic functions.
6
8 #include <ffi.h>
9
10 ffi_status
11 ffi_prep_cif_var(ffi_cif *cif, ffi_abi abi, unsigned int nfixedargs,
12 unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes);
13
15 The ffi_prep_cif_var function prepares a ffi_cif structure for use with
16 ffi_call for variadic functions. abi specifies a set of calling conven‐
17 tions to use. atypes is an array of ntotalargs pointers to ffi_type
18 structs that describe the data type, size and alignment of each argument.
19 rtype points to an ffi_type that describes the data type, size and align‐
20 ment of the return value. nfixedargs must contain the number of fixed
21 (non-variadic) arguments. Note that to call a non-variadic function
22 ffi_prep_cif must be used.
23
25 Upon successful completion, ffi_prep_cif_var returns FFI_OK. It will
26 return FFI_BAD_TYPEDEF if cif is NULL or atypes or rtype is malformed. If
27 abi does not refer to a valid ABI, FFI_BAD_ABI will be returned. Avail‐
28 able ABIs are defined in <ffitarget.h>
29
31 ffi(3), ffi_call(3), ffi_prep_cif(3)
32
33 January 25, 2011