xref: /aosp_15_r20/external/libffi/man/ffi_prep_cif.3 (revision 1fd5a2e1d639cd1ddf29dd0c484c123bbd850c21)
1*1fd5a2e1SPrashanth Swaminathan.Dd February 15, 2008
2*1fd5a2e1SPrashanth Swaminathan.Dt ffi_prep_cif 3
3*1fd5a2e1SPrashanth Swaminathan.Sh NAME
4*1fd5a2e1SPrashanth Swaminathan.Nm ffi_prep_cif
5*1fd5a2e1SPrashanth Swaminathan.Nd Prepare a
6*1fd5a2e1SPrashanth Swaminathan.Nm ffi_cif
7*1fd5a2e1SPrashanth Swaminathanstructure for use with
8*1fd5a2e1SPrashanth Swaminathan.Nm ffi_call
9*1fd5a2e1SPrashanth Swaminathan.
10*1fd5a2e1SPrashanth Swaminathan.Sh SYNOPSIS
11*1fd5a2e1SPrashanth Swaminathan.In ffi.h
12*1fd5a2e1SPrashanth Swaminathan.Ft ffi_status
13*1fd5a2e1SPrashanth Swaminathan.Fo ffi_prep_cif
14*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_cif *cif"
15*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_abi abi"
16*1fd5a2e1SPrashanth Swaminathan.Fa "unsigned int nargs"
17*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_type *rtype"
18*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_type **atypes"
19*1fd5a2e1SPrashanth Swaminathan.Fc
20*1fd5a2e1SPrashanth Swaminathan.Sh DESCRIPTION
21*1fd5a2e1SPrashanth SwaminathanThe
22*1fd5a2e1SPrashanth Swaminathan.Nm ffi_prep_cif
23*1fd5a2e1SPrashanth Swaminathanfunction prepares a
24*1fd5a2e1SPrashanth Swaminathan.Nm ffi_cif
25*1fd5a2e1SPrashanth Swaminathanstructure for use with
26*1fd5a2e1SPrashanth Swaminathan.Nm ffi_call
27*1fd5a2e1SPrashanth Swaminathan.
28*1fd5a2e1SPrashanth Swaminathan.Fa abi
29*1fd5a2e1SPrashanth Swaminathanspecifies a set of calling conventions to use.
30*1fd5a2e1SPrashanth Swaminathan.Fa atypes
31*1fd5a2e1SPrashanth Swaminathanis an array of
32*1fd5a2e1SPrashanth Swaminathan.Fa nargs
33*1fd5a2e1SPrashanth Swaminathanpointers to
34*1fd5a2e1SPrashanth Swaminathan.Nm ffi_type
35*1fd5a2e1SPrashanth Swaminathanstructs that describe the data type, size and alignment of each argument.
36*1fd5a2e1SPrashanth Swaminathan.Fa rtype
37*1fd5a2e1SPrashanth Swaminathanpoints to an
38*1fd5a2e1SPrashanth Swaminathan.Nm ffi_type
39*1fd5a2e1SPrashanth Swaminathanthat describes the data type, size and alignment of the
40*1fd5a2e1SPrashanth Swaminathanreturn value. Note that to call a variadic function
41*1fd5a2e1SPrashanth Swaminathan.Nm ffi_prep_cif_var
42*1fd5a2e1SPrashanth Swaminathanmust be used instead.
43*1fd5a2e1SPrashanth Swaminathan.Sh RETURN VALUES
44*1fd5a2e1SPrashanth SwaminathanUpon successful completion,
45*1fd5a2e1SPrashanth Swaminathan.Nm ffi_prep_cif
46*1fd5a2e1SPrashanth Swaminathanreturns
47*1fd5a2e1SPrashanth Swaminathan.Nm FFI_OK .
48*1fd5a2e1SPrashanth SwaminathanIt will return
49*1fd5a2e1SPrashanth Swaminathan.Nm FFI_BAD_TYPEDEF
50*1fd5a2e1SPrashanth Swaminathanif
51*1fd5a2e1SPrashanth Swaminathan.Fa cif
52*1fd5a2e1SPrashanth Swaminathanis
53*1fd5a2e1SPrashanth Swaminathan.Nm NULL
54*1fd5a2e1SPrashanth Swaminathanor
55*1fd5a2e1SPrashanth Swaminathan.Fa atypes
56*1fd5a2e1SPrashanth Swaminathanor
57*1fd5a2e1SPrashanth Swaminathan.Fa rtype
58*1fd5a2e1SPrashanth Swaminathanis malformed. If
59*1fd5a2e1SPrashanth Swaminathan.Fa abi
60*1fd5a2e1SPrashanth Swaminathandoes not refer to a valid ABI,
61*1fd5a2e1SPrashanth Swaminathan.Nm FFI_BAD_ABI
62*1fd5a2e1SPrashanth Swaminathanwill be returned. Available ABIs are
63*1fd5a2e1SPrashanth Swaminathandefined in
64*1fd5a2e1SPrashanth Swaminathan.Nm <ffitarget.h> .
65*1fd5a2e1SPrashanth Swaminathan.Sh SEE ALSO
66*1fd5a2e1SPrashanth Swaminathan.Xr ffi 3 ,
67*1fd5a2e1SPrashanth Swaminathan.Xr ffi_call 3 ,
68*1fd5a2e1SPrashanth Swaminathan.Xr ffi_prep_cif_var 3
69