DragonFly On-Line Manual Pages

Search: Section:  


FFI(3)                DragonFly 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.

SEE ALSO

ffi_prep_cif(3), ffi_prep_cif_var(3), ffi_call(3) February 15, 2008 ffi_prep_cif(3) DragonFly 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>.

SEE ALSO

ffi(3), ffi_call(3), ffi_prep_cif_var(3) February 15, 2008

Search: Section: