github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libffi/man/ffi_prep_cif_var.3 (about) 1 .Dd January 25, 2011 2 .Dt ffi_prep_cif_var 3 3 .Sh NAME 4 .Nm ffi_prep_cif_var 5 .Nd Prepare a 6 .Nm ffi_cif 7 structure for use with 8 .Nm ffi_call 9 for variadic functions. 10 .Sh SYNOPSIS 11 .In ffi.h 12 .Ft ffi_status 13 .Fo ffi_prep_cif_var 14 .Fa "ffi_cif *cif" 15 .Fa "ffi_abi abi" 16 .Fa "unsigned int nfixedargs" 17 .Fa "unsigned int ntotalargs" 18 .Fa "ffi_type *rtype" 19 .Fa "ffi_type **atypes" 20 .Fc 21 .Sh DESCRIPTION 22 The 23 .Nm ffi_prep_cif_var 24 function prepares a 25 .Nm ffi_cif 26 structure for use with 27 .Nm ffi_call 28 for variadic functions. 29 .Fa abi 30 specifies a set of calling conventions to use. 31 .Fa atypes 32 is an array of 33 .Fa ntotalargs 34 pointers to 35 .Nm ffi_type 36 structs that describe the data type, size and alignment of each argument. 37 .Fa rtype 38 points to an 39 .Nm ffi_type 40 that describes the data type, size and alignment of the 41 return value. 42 .Fa nfixedargs 43 must contain the number of fixed (non-variadic) arguments. 44 Note that to call a non-variadic function 45 .Nm ffi_prep_cif 46 must be used. 47 .Sh RETURN VALUES 48 Upon successful completion, 49 .Nm ffi_prep_cif_var 50 returns 51 .Nm FFI_OK . 52 It will return 53 .Nm FFI_BAD_TYPEDEF 54 if 55 .Fa cif 56 is 57 .Nm NULL 58 or 59 .Fa atypes 60 or 61 .Fa rtype 62 is malformed. If 63 .Fa abi 64 does not refer to a valid ABI, 65 .Nm FFI_BAD_ABI 66 will be returned. Available ABIs are 67 defined in 68 .Nm <ffitarget.h> 69 . 70 .Sh SEE ALSO 71 .Xr ffi 3 , 72 .Xr ffi_call 3 , 73 .Xr ffi_prep_cif 3