74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
| .Dd January 25, 2011
 | |
| .Dt ffi_prep_cif_var 3
 | |
| .Sh NAME
 | |
| .Nm ffi_prep_cif_var
 | |
| .Nd Prepare a
 | |
| .Nm ffi_cif
 | |
| structure for use with
 | |
| .Nm ffi_call
 | |
| for variadic functions.
 | |
| .Sh SYNOPSIS
 | |
| .In ffi.h
 | |
| .Ft ffi_status
 | |
| .Fo ffi_prep_cif_var
 | |
| .Fa "ffi_cif *cif"
 | |
| .Fa "ffi_abi abi"
 | |
| .Fa "unsigned int nfixedargs"
 | |
| .Fa "unsigned int ntotalargs"
 | |
| .Fa "ffi_type *rtype"
 | |
| .Fa "ffi_type **atypes"
 | |
| .Fc
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Nm ffi_prep_cif_var
 | |
| function prepares a
 | |
| .Nm ffi_cif
 | |
| structure for use with
 | |
| .Nm ffi_call
 | |
| for variadic functions.
 | |
| .Fa abi
 | |
| specifies a set of calling conventions to use.
 | |
| .Fa atypes
 | |
| is an array of
 | |
| .Fa ntotalargs
 | |
| pointers to
 | |
| .Nm ffi_type
 | |
| structs that describe the data type, size and alignment of each argument.
 | |
| .Fa rtype
 | |
| points to an
 | |
| .Nm ffi_type
 | |
| that describes the data type, size and alignment of the
 | |
| return value.
 | |
| .Fa nfixedargs
 | |
| must contain the number of fixed (non-variadic) arguments.
 | |
| Note that to call a non-variadic function
 | |
| .Nm ffi_prep_cif
 | |
| must be used.
 | |
| .Sh RETURN VALUES
 | |
| Upon successful completion,
 | |
| .Nm ffi_prep_cif_var
 | |
| returns
 | |
| .Nm FFI_OK .
 | |
| It will return
 | |
| .Nm FFI_BAD_TYPEDEF
 | |
| if
 | |
| .Fa cif
 | |
| is
 | |
| .Nm NULL
 | |
| or
 | |
| .Fa atypes
 | |
| or
 | |
| .Fa rtype
 | |
| is malformed. If
 | |
| .Fa abi
 | |
| does not refer to a valid ABI,
 | |
| .Nm FFI_BAD_ABI
 | |
| will be returned. Available ABIs are
 | |
| defined in
 | |
| .Nm <ffitarget.h>
 | |
| .
 | |
| .Sh SEE ALSO
 | |
| .Xr ffi 3 ,
 | |
| .Xr ffi_call 3 ,
 | |
| .Xr ffi_prep_cif 3
 |