mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
<chapter id="ffi"><title>The Foreign Function Interface</>
|
|
|
|
<para>FIXME: The material in the &CMUCL; manual about the foreign
|
|
function interface should be reviewed, reformatted in DocBook,
|
|
lightly edited for &SBCL;, and substituted into this manual. But in
|
|
the meantime, the original &CMUCL; manual is still 95+% correct for
|
|
the &SBCL; version of the foreign function interface. (The main
|
|
difference is that the package names have changed from
|
|
<quote><literal>ALIEN</></> and <quote><literal>C-CALL</></> to
|
|
<quote><literal>SB-ALIEN</></> and <quote><literal>SB-C-CALL</></>.)
|
|
<!-- FIXME: Oh, and I seem to remember that the CMUCL manual
|
|
was out of date about how to test for a null pointer,
|
|
there's a builtin operator to do it, you don't need to
|
|
do the nasty idiom the manual says you need to do. -->
|
|
<!-- FIXME: Also, the CMU CL alien documentation claims you
|
|
can just do (DEF-ALIEN-VARIABLE "errno" INT), which fails
|
|
with modern multithreading hacks. -->
|
|
<!-- FIXME: Also, LOAD-FOREIGN isn't implemented as of sbcl-0.6.7,
|
|
but LOAD-1-FOREIGN is. -->
|
|
See the sections
|
|
<itemizedlist>
|
|
<listitem><para>Type Translations</></>
|
|
<listitem><para>System Area Pointers</></>
|
|
<listitem><para>Alien Objects</></>
|
|
<listitem><para>Alien Types</></>
|
|
<listitem><para>Alien Operations</></>
|
|
<listitem><para>Alien Variables</></>
|
|
<listitem><para>Alien Function Calls</></>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
</chapter> |