Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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

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