Add David Gilbert's variadic function call support
This commit is contained in:
8
.pc/variadic/man/Makefile.am
Normal file
8
.pc/variadic/man/Makefile.am
Normal file
@@ -0,0 +1,8 @@
|
||||
## Process this with automake to create Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS=foreign
|
||||
|
||||
EXTRA_DIST = ffi.3 ffi_call.3 ffi_prep_cif.3
|
||||
|
||||
man_MANS = ffi.3 ffi_call.3 ffi_prep_cif.3
|
||||
|
||||
31
.pc/variadic/man/ffi.3
Normal file
31
.pc/variadic/man/ffi.3
Normal file
@@ -0,0 +1,31 @@
|
||||
.Dd February 15, 2008
|
||||
.Dt FFI 3
|
||||
.Sh NAME
|
||||
.Nm FFI
|
||||
.Nd Foreign Function Interface
|
||||
.Sh LIBRARY
|
||||
libffi, -lffi
|
||||
.Sh SYNOPSIS
|
||||
.In ffi.h
|
||||
.Ft ffi_status
|
||||
.Fo ffi_prep_cif
|
||||
.Fa "ffi_cif *cif"
|
||||
.Fa "ffi_abi abi"
|
||||
.Fa "unsigned int nargs"
|
||||
.Fa "ffi_type *rtype"
|
||||
.Fa "ffi_type **atypes"
|
||||
.Fc
|
||||
.Ft void
|
||||
.Fo ffi_call
|
||||
.Fa "ffi_cif *cif"
|
||||
.Fa "void (*fn)(void)"
|
||||
.Fa "void *rvalue"
|
||||
.Fa "void **avalue"
|
||||
.Fc
|
||||
.Sh DESCRIPTION
|
||||
The foreign function interface provides a mechanism by which a function can
|
||||
generate a call to another function at runtime without requiring knowledge of
|
||||
the called function's interface at compile time.
|
||||
.Sh SEE ALSO
|
||||
.Xr ffi_prep_cif 3 ,
|
||||
.Xr ffi_call 3
|
||||
66
.pc/variadic/man/ffi_prep_cif.3
Normal file
66
.pc/variadic/man/ffi_prep_cif.3
Normal file
@@ -0,0 +1,66 @@
|
||||
.Dd February 15, 2008
|
||||
.Dt ffi_prep_cif 3
|
||||
.Sh NAME
|
||||
.Nm ffi_prep_cif
|
||||
.Nd Prepare a
|
||||
.Nm ffi_cif
|
||||
structure for use with
|
||||
.Nm ffi_call
|
||||
.
|
||||
.Sh SYNOPSIS
|
||||
.In ffi.h
|
||||
.Ft ffi_status
|
||||
.Fo ffi_prep_cif
|
||||
.Fa "ffi_cif *cif"
|
||||
.Fa "ffi_abi abi"
|
||||
.Fa "unsigned int nargs"
|
||||
.Fa "ffi_type *rtype"
|
||||
.Fa "ffi_type **atypes"
|
||||
.Fc
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm ffi_prep_cif
|
||||
function prepares a
|
||||
.Nm ffi_cif
|
||||
structure for use with
|
||||
.Nm ffi_call
|
||||
.
|
||||
.Fa abi
|
||||
specifies a set of calling conventions to use.
|
||||
.Fa atypes
|
||||
is an array of
|
||||
.Fa nargs
|
||||
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.
|
||||
.Sh RETURN VALUES
|
||||
Upon successful completion,
|
||||
.Nm ffi_prep_cif
|
||||
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
|
||||
0
.pc/variadic/man/ffi_prep_cif_var.3
Normal file
0
.pc/variadic/man/ffi_prep_cif_var.3
Normal file
Reference in New Issue
Block a user