github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libffi/man/ffi_prep_cif.3 (about)

     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. Note that to call a variadic function
    41  .Nm ffi_prep_cif_var
    42  must be used instead.
    43  .Sh RETURN VALUES
    44  Upon successful completion,
    45  .Nm ffi_prep_cif
    46  returns
    47  .Nm FFI_OK .
    48  It will return
    49  .Nm FFI_BAD_TYPEDEF
    50  if
    51  .Fa cif
    52  is
    53  .Nm NULL
    54  or
    55  .Fa atypes
    56  or
    57  .Fa rtype
    58  is malformed. If
    59  .Fa abi
    60  does not refer to a valid ABI,
    61  .Nm FFI_BAD_ABI
    62  will be returned. Available ABIs are
    63  defined in
    64  .Nm <ffitarget.h> .
    65  .Sh SEE ALSO
    66  .Xr ffi 3 ,
    67  .Xr ffi_call 3 ,
    68  .Xr ffi_prep_cif_var 3