diff options
author | Anthony Green <green@moxielogic.com> | 2012-10-11 10:55:25 -0400 |
---|---|---|
committer | Anthony Green <green@moxielogic.com> | 2012-10-11 10:55:25 -0400 |
commit | 048d2f41c3a6664b4b64bf21e804686662da4160 (patch) | |
tree | 568aa086f41328d8a81594a064841ee99aeda3e3 /doc | |
parent | d330f19292da8f39a78a9e2b0ba08df8094e3bc5 (diff) | |
download | libffi-048d2f41c3a6664b4b64bf21e804686662da4160.tar.gz |
Rebase
Diffstat (limited to 'doc')
-rw-r--r-- | doc/libffi.info | 78 | ||||
-rw-r--r-- | doc/stamp-vti | 8 | ||||
-rw-r--r-- | doc/version.texi | 8 |
3 files changed, 34 insertions, 60 deletions
diff --git a/doc/libffi.info b/doc/libffi.info index 402f760..f92aae6 100644 --- a/doc/libffi.info +++ b/doc/libffi.info @@ -1,10 +1,10 @@ -This is ../libffi/doc/libffi.info, produced by makeinfo version 4.13 -from ../libffi/doc/libffi.texi. +This is /home/green/libffi/doc/libffi.info, produced by makeinfo +version 4.13 from /home/green/libffi/doc/libffi.texi. This manual is for Libffi, a portable foreign-function interface library. - Copyright (C) 2008, 2010, 2011 Red Hat, Inc. + Copyright (C) 2008, 2010 Red Hat, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as @@ -27,7 +27,7 @@ libffi This manual is for Libffi, a portable foreign-function interface library. - Copyright (C) 2008, 2010, 2011 Red Hat, Inc. + Copyright (C) 2008, 2010 Red Hat, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as @@ -115,6 +115,8 @@ To prepare a call interface object, use the function `ffi_prep_cif'. want. *note Multiple ABIs:: for more information. NARGS is the number of arguments that this function accepts. + `libffi' does not yet handle varargs functions; see *note Missing + Features:: for more information. RTYPE is a pointer to an `ffi_type' structure that describes the return type of the function. *Note Types::. @@ -127,30 +129,6 @@ To prepare a call interface object, use the function `ffi_prep_cif'. properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid. - If the function being called is variadic (varargs) then -`ffi_prep_cif_var' must be used instead of `ffi_prep_cif'. - - -- Function: ffi_status ffi_prep_cif_var (ffi_cif *CIF, ffi_abi - varabi, unsigned int NFIXEDARGS, unsigned int varntotalargs, - ffi_type *RTYPE, ffi_type **ARGTYPES) - This initializes CIF according to the given parameters for a call - to a variadic function. In general it's operation is the same as - for `ffi_prep_cif' except that: - - NFIXEDARGS is the number of fixed arguments, prior to any variadic - arguments. It must be greater than zero. - - NTOTALARGS the total number of arguments, including variadic and - fixed arguments. - - Note that, different cif's must be prepped for calls to the same - function when different numbers of arguments are passed. - - Also note that a call to `ffi_prep_cif_var' with - NFIXEDARGS=NOTOTALARGS is NOT equivalent to a call to - `ffi_prep_cif'. - - To call a function using an initialized `ffi_cif', use the `ffi_call' function: @@ -169,9 +147,7 @@ To prepare a call interface object, use the function `ffi_prep_cif'. AVALUES is a vector of `void *' pointers that point to the memory locations holding the argument values for a call. If CIF declares that the function has no arguments (i.e., NARGS was 0), then - AVALUES is ignored. Note that argument values may be modified by - the callee (for instance, structs passed by value); the burden of - copying pass-by-value arguments is placed on the caller. + AVALUES is ignored. File: libffi.info, Node: Simple Example, Next: Types, Prev: The Basics, Up: Using libffi @@ -533,7 +509,9 @@ File: libffi.info, Node: Missing Features, Next: Index, Prev: Using libffi, `libffi' is missing a few features. We welcome patches to add support for these. - * Variadic closures. + * There is no support for calling varargs functions. This may work + on some platforms, depending on how the ABI is defined, but it is + not reliable. * There is no support for bit fields in structures. @@ -541,9 +519,6 @@ for these. * The "raw" API is undocumented. - Note that variadic support is very new and tested on a relatively -small number of platforms. - File: libffi.info, Node: Index, Prev: Missing Features, Up: Top @@ -561,12 +536,11 @@ Index * closure API: The Closure API. (line 13) * closures: The Closure API. (line 13) * FFI: Introduction. (line 31) -* ffi_call: The Basics. (line 63) +* ffi_call: The Basics. (line 41) * ffi_closure_alloc: The Closure API. (line 19) * ffi_closure_free: The Closure API. (line 26) * FFI_CLOSURES: The Closure API. (line 13) * ffi_prep_cif: The Basics. (line 16) -* ffi_prep_cif_var: The Basics. (line 39) * ffi_prep_closure_loc: The Closure API. (line 34) * ffi_status <1>: The Closure API. (line 37) * ffi_status: The Basics. (line 18) @@ -594,24 +568,24 @@ Index * ffi_type_void: Primitive Types. (line 10) * Foreign Function Interface: Introduction. (line 31) * void <1>: The Closure API. (line 20) -* void: The Basics. (line 65) +* void: The Basics. (line 43) Tag Table: -Node: Top712 -Node: Introduction1460 -Node: Using libffi3096 -Node: The Basics3582 -Node: Simple Example7224 -Node: Types8251 -Node: Primitive Types8534 -Node: Structures10354 -Node: Type Example11214 -Node: Multiple ABIs12437 -Node: The Closure API12808 -Node: Closure Example15752 -Node: Missing Features17311 -Node: Index17764 +Node: Top724 +Node: Introduction1466 +Node: Using libffi3102 +Node: The Basics3588 +Node: Simple Example6195 +Node: Types7222 +Node: Primitive Types7505 +Node: Structures9325 +Node: Type Example10185 +Node: Multiple ABIs11408 +Node: The Closure API11779 +Node: Closure Example14723 +Node: Missing Features16282 +Node: Index16775 End Tag Table diff --git a/doc/stamp-vti b/doc/stamp-vti index e259a12..81d0b79 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 11 April 2012 -@set UPDATED-MONTH April 2012 -@set EDITION 3.0.11 -@set VERSION 3.0.11 +@set UPDATED 14 February 2008 +@set UPDATED-MONTH February 2008 +@set EDITION 3.0.8 +@set VERSION 3.0.8 diff --git a/doc/version.texi b/doc/version.texi index e259a12..81d0b79 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 11 April 2012 -@set UPDATED-MONTH April 2012 -@set EDITION 3.0.11 -@set VERSION 3.0.11 +@set UPDATED 14 February 2008 +@set UPDATED-MONTH February 2008 +@set EDITION 3.0.8 +@set VERSION 3.0.8 |