Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ffi (3)

Name

ffi - Foreign Function Interface

Synopsis

#include <ffi.h>

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

void
ffi_prep_cif_var(ffi_cif *cif, ffi_abi abi, unsigned int nfixedargs,
unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes);

void
ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue);

Description

FFI(3)                   BSD Library Functions Manual                   FFI(3)

NAME
     FFI -- Foreign Function Interface

LIBRARY
     libffi, -lffi

SYNOPSIS
     #include <ffi.h>

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

     void
     ffi_prep_cif_var(ffi_cif *cif, ffi_abi abi, unsigned int nfixedargs,
         unsigned int ntotalargs, ffi_type *rtype, ffi_type **atypes);

     void
     ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue);

DESCRIPTION
     The foreign function interface provides a mechanism by which a function
     can generate a call to another function at runtime without requiring
     knowledge of the called function's interface at compile time.


ATTRIBUTES
     See attributes(7) for descriptions of the following attributes:

     +---------------+------------------+
     |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
     +---------------+------------------+
     |Availability   | library/libffi   |
     +---------------+------------------+
     |Stability      | Uncommitted      |
     +---------------+------------------+

SEE ALSO
     ffi_prep_cif(3), ffi_prep_cif_var(3), ffi_call(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