X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fffi.texinfo;h=f00e23df5cdb815ba364f6f7e8a190c9c769ed9a;hb=1f03c7f326823245708a84af86b31ac72bdb1742;hp=cfdd1d2f10b64eb3a7d215f06f7c320a6f421f60;hpb=54b330585ed41edeb93a289f0e59aec67fa9ded9;p=sbcl.git diff --git a/doc/manual/ffi.texinfo b/doc/manual/ffi.texinfo index cfdd1d2..f00e23d 100644 --- a/doc/manual/ffi.texinfo +++ b/doc/manual/ffi.texinfo @@ -64,7 +64,7 @@ use of extensions to the Lisp language. SBCL, like CMUCL before it, relies primarily on the automatic conversion and direct manipulation approaches. The @code{SB-ALIEN} -package provices a facility wherein foreign values of simple scalar +package provides a facility wherein foreign values of simple scalar types are automatically converted and complex types are directly manipulated in their foreign representation. Additionally the lower-level System Area Pointers (or @acronym{SAP}s) can be used where @@ -283,6 +283,7 @@ types to declare that no useful value is returned. Using return zero values. @item +@cindex External formats The foreign type specifier @code{(sb-alien:c-string &key external-format element-type)} is similar to @code{(* char)}, but is interpreted as a null-terminated string, and is automatically converted into a Lisp @@ -462,12 +463,12 @@ argument, but it does refer to the same foreign data bits. The @code{sb-alien:sap-alien} function converts @var{sap} (a system area pointer) to a foreign value with the specified -@var{type}. @var{type} is not evaluated. +@var{type}. @var{type} is not evaluated. The @var{type} must be some foreign pointer, array, or record type. @end defun -@defun sb-alien:alien-sap @var{foreign-value} @var{type} +@defun sb-alien:alien-sap @var{foreign-value} @findex alien-sap The @code{sb-alien:alien-sap} function returns the @acronym{SAP} which @@ -969,8 +970,7 @@ other ports it is implemented by turning off GC for the duration (so could be said to have a whole-world granularity). @item -Disable GC, using the @code{without-gcing} macro or @code{gc-off} -call. +Disable GC, using the @code{without-gcing} macro. @end enumerate @c