Home | History | Annotate | Download | only in man
      1 .Dd February 15, 2008
      2 .Dt ffi_prep_cif 3
      3 .Sh NAME
      4 .Nm ffi_prep_cif
      5 .Nd Prepare a
      6 .Nm ffi_cif
      7 structure for use with
      8 .Nm ffi_call 
      9 .
     10 .Sh SYNOPSIS
     11 .In ffi.h
     12 .Ft ffi_status
     13 .Fo ffi_prep_cif
     14 .Fa "ffi_cif *cif"
     15 .Fa "ffi_abi abi"
     16 .Fa "unsigned int nargs"
     17 .Fa "ffi_type *rtype"
     18 .Fa "ffi_type **atypes"
     19 .Fc
     20 .Sh DESCRIPTION
     21 The
     22 .Nm ffi_prep_cif
     23 function prepares a
     24 .Nm ffi_cif
     25 structure for use with 
     26 .Nm ffi_call
     27 .
     28 .Fa abi
     29 specifies a set of calling conventions to use.
     30 .Fa atypes
     31 is an array of
     32 .Fa nargs
     33 pointers to
     34 .Nm ffi_type
     35 structs that describe the data type, size and alignment of each argument.
     36 .Fa rtype
     37 points to an
     38 .Nm ffi_type
     39 that describes the data type, size and alignment of the
     40 return value.
     41 .Sh RETURN VALUES
     42 Upon successful completion,
     43 .Nm ffi_prep_cif
     44 returns
     45 .Nm FFI_OK .
     46 It will return
     47 .Nm FFI_BAD_TYPEDEF
     48 if
     49 .Fa cif
     50 is
     51 .Nm NULL
     52 or
     53 .Fa atypes
     54 or
     55 .Fa rtype
     56 is malformed. If
     57 .Fa abi
     58 does not refer to a valid ABI,
     59 .Nm FFI_BAD_ABI
     60 will be returned. Available ABIs are
     61 defined in
     62 .Nm <ffitarget.h>
     63 .
     64 .Sh SEE ALSO
     65 .Xr ffi 3 ,
     66 .Xr ffi_call 3 
     67