Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ffi_prep_cif (3)

Name

ffi_prep_cif - Prepare a ffi_cif structure for use with ffi_call

Synopsis

#include <ffi.h>

ffi_status
ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
ffi_type *rtype, ffi_type **atypes);

Description

ffi_prep_cif(3)          BSD Library Functions Manual          ffi_prep_cif(3)

NAME
     ffi_prep_cif -- Prepare a ffi_cif structure for use with ffi_call

SYNOPSIS
     #include <ffi.h>

     ffi_status
     ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs,
         ffi_type *rtype, ffi_type **atypes);

DESCRIPTION
     The ffi_prep_cif function prepares a ffi_cif structure for use with
     ffi_call abi specifies a set of calling conventions to use.  atypes is an
     array of nargs 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. Note
     that to call a variadic function ffi_prep_cif_var must be used instead.

RETURN VALUES
     Upon successful completion, ffi_prep_cif 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>.


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_var(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/.

                               February 15, 2008