uffi/doc html.tar.gz,1.16,1.17 ref.sgml,1.34,1.35 uffi.pdf,1.20,1.21

"Kevin M. Rosenberg" <[email protected]> Thu, 14 Aug 2003 19:35:07 +0000
Newsgroups gmane.lisp.uffi.cvs
Message-ID <[email protected]>
Update of /pubcvs/uffi/doc
In directory boa.b9.com:/tmp/cvs-serv14284/doc

Modified Files:
	html.tar.gz ref.sgml uffi.pdf 
Log Message:


Index: ref.sgml
===================================================================
RCS file: /pubcvs/uffi/doc/ref.sgml,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** ref.sgml	5 May 2003 21:57:50 -0000	1.34
--- ref.sgml	14 Aug 2003 19:35:05 -0000	1.35
***************
*** 760,764 ****
  	<title>Examples</title>
  	<programlisting>
! (def-array ca :char)
  (let ((fs (convert-to-foreign-string "ab")))
     (values (null-char-p (deref-array fs 'ca 0))
--- 760,764 ----
  	<title>Examples</title>
  	<programlisting>
! (def-array-pointer ca :char)
  (let ((fs (convert-to-foreign-string "ab")))
     (values (null-char-p (deref-array fs 'ca 0))
***************
*** 769,772 ****
--- 769,780 ----
        </refsect1>
        <refsect1>
+ 	<title>Notes</title>
+         <para>
+   The TYPE argument is ignored for CL implementations other than
+   AllegroCL. If you want to cast a pointer to another type use
+   WITH-CAST-POINTER together with DEREF-POINTER/DEREF-ARRAY.
+         </para>
+       </refsect1>
+       <refsect1>
  	<title>Side Effects</title>
  	<para>None.</para>
***************
*** 1218,1221 ****
--- 1226,1237 ----
        </refsect1>
        <refsect1>
+ 	<title>Notes</title>
+         <para>
+   The TYPE argument is ignored for CL implementations other than
+   AllegroCL. If you want to cast a pointer to another type use
+   WITH-CAST-POINTER together with DEREF-POINTER/DEREF-ARRAY.
+         </para>
+       </refsect1>
+       <refsect1>
  	<title>Side Effects</title>
  	<para>None.</para>
***************
*** 1267,1272 ****
  	<title>Description</title>
  	<para>
! 	  Ensures that an object obtained by dereferencing a 
! <constant>:char</constant> pointer is a character.
  	</para>
        </refsect1>
--- 1283,1289 ----
  	<title>Description</title>
  	<para>
! 	  Ensures that an objects obtained by dereferencing  
! <constant>:char</constant> and <constant>:unsigned-char</constant>
! pointers are a lisp character.
  	</para>
        </refsect1>
***************
*** 1489,1492 ****
--- 1506,1580 ----
      </refentry>
  
+     <refentry id="with-cast-pointer">
+       <refnamediv>
+ 	<refname>with-cast-pointer</refname>
+ 	<refpurpose>Wraps a body of code with a pointer cast to a new type.
+ 	</refpurpose>
+ 	<refclass>Macro</refclass>
+       </refnamediv>
+       <refsynopsisdiv>
+ 	<title>Syntax</title>
+ 	<synopsis>
+ 	  <function>with-cast-pointer</function> <replaceable>binding-name ptr type &amp; body body</replaceable> => <returnvalue>value</returnvalue>
+ 	</synopsis>
+       </refsynopsisdiv>
+       <refsect1>
+ 	<title>Arguments and Values</title>
+ 	<variablelist>
+ 	  <varlistentry>
+ 	    <term><parameter>ptr</parameter></term>
+ 	    <listitem>
+ 	      <para>A pointer to a foreign object.
+ 	      </para>
+ 	    </listitem>
+ 	  </varlistentry>
+ 	  <varlistentry>
+ 	    <term><parameter>type</parameter></term>
+ 	    <listitem>
+ 	      <para>A foreign type of the object being pointed to.
+ 	      </para>
+ 	    </listitem>
+ 	  </varlistentry>
+ 	  <varlistentry>
+ 	    <term><returnvalue>value</returnvalue></term>
+ 	    <listitem>
+ 	      <para>The value of the object where the pointer points.
+ 	      </para>
+ 	    </listitem>
+ 	  </varlistentry>
+ 	</variablelist>
+       </refsect1>
+       <refsect1>
+ 	<title>Description</title>
+ 	<para>
+   Executes BODY with POINTER casted to be a pointer to type TYPE. If
+   BINDING-NAME is provided the casted pointer will be bound to this
+   name during the execution of BODY. If BINDING-NAME is not provided
+   POINTER must be a name bound to the pointer which should be
+   casted. This name will be bound to the casted pointer during the
+   execution of BODY.
+ 
+   This is a no-op in AllegroCL but will wrap BODY in a LET form if
+   BINDING-NAME is provided.
+ 
+   This macro is meant to be used in conjunction with DEREF-POINTER or
+   DEREF-ARRAY. In Allegro CL the "cast" will actually take place in
+   DEREF-POINTER or DEREF-ARRAY.
+ 	</para>
+       </refsect1>
+       <refsect1>
+ 	<title>Side Effects</title>
+ 	<para>None.</para>
+       </refsect1>
+       <refsect1>
+ 	<title>Affected by</title>
+ 	<para>None.</para>
+       </refsect1>
+       <refsect1>
+ 	<title>Exceptional Situations</title>
+ 	<para>None.</para>
+       </refsect1>
+     </refentry>
+ 
  </reference>
  
***************
*** 2075,2079 ****
  	<title>Syntax</title>
  <synopsis>
! 	  <function>load-foreign-library</function> <replaceable>filename &amp;key module supporting-libraries</replaceable> => <returnvalue>success</returnvalue>
  </synopsis>
        </refsect1>
--- 2163,2167 ----
  	<title>Syntax</title>
  <synopsis>
! 	  <function>load-foreign-library</function> <replaceable>filename &amp;key module supporting-libraries force-load</replaceable> => <returnvalue>success</returnvalue>
  </synopsis>
        </refsect1>
***************
*** 2107,2110 ****
--- 2195,2205 ----
  	  </varlistentry>
  	  <varlistentry>
+ 	    <term><parameter>force-load</parameter></term>
+ 	    <listitem>
+ 	      <para>Forces the loading of the library if it has been previously loaded. 
+ 	      </para>
+ 	    </listitem>
+ 	  </varlistentry>
+ 	  <varlistentry>
  	    <term><returnvalue>success</returnvalue></term>
  	    <listitem>
***************
*** 2121,2125 ****
  	<para>Loads a foreign library. Applies a module name to functions
  within the library. Ensures that a library is only loaded once during
! a session.
  	</para>
        </refsect1>
--- 2216,2220 ----
  	<para>Loads a foreign library. Applies a module name to functions
  within the library. Ensures that a library is only loaded once during
! a session. A library can be reloaded by using the <symbol>:force-load</symbol> key.
  	</para>
        </refsect1>

Index: html.tar.gz
===================================================================
RCS file: /pubcvs/uffi/doc/html.tar.gz,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
Binary files /tmp/cvsZRftSK and /tmp/cvsEipXrl differ

Index: uffi.pdf
===================================================================
RCS file: /pubcvs/uffi/doc/uffi.pdf,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
Binary files /tmp/cvsUhG9AM and /tmp/cvsyA7wxv differ