OSDN Git Service

2009-06-08 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / libffi / man / ffi_prep_cif.3
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