Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 723830890bac44da3d113209b14e090b > files > 343

sbcl-1.0.31-1mdv2010.0.i586.rpm

<html lang="en">
<head>
<title>Foreign Types - SBCL 1.0.31 User Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="SBCL 1.0.31 User Manual">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Foreign-Function-Interface.html#Foreign-Function-Interface" title="Foreign Function Interface">
<link rel="prev" href="Introduction-to-the-Foreign-Function-Interface.html#Introduction-to-the-Foreign-Function-Interface" title="Introduction to the Foreign Function Interface">
<link rel="next" href="Operations-On-Foreign-Values.html#Operations-On-Foreign-Values" title="Operations On Foreign Values">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--

     This manual is part of the SBCL software system. See the `README'
     file for more information.

     This manual is largely derived from the manual for the CMUCL
     system, which was produced at Carnegie Mellon University and later
     released into the public domain. This manual is in the public
     domain and is provided with absolutely no warranty. See the
     `COPYING' and `CREDITS' files for more information.
   -->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Foreign-Types"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Operations-On-Foreign-Values.html#Operations-On-Foreign-Values">Operations On Foreign Values</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Introduction-to-the-Foreign-Function-Interface.html#Introduction-to-the-Foreign-Function-Interface">Introduction to the Foreign Function Interface</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Foreign-Function-Interface.html#Foreign-Function-Interface">Foreign Function Interface</a>
<hr>
</div>

<!-- node-name,  next,  previous,  up -->
<h3 class="section">8.2 Foreign Types</h3>

<!-- AKA "Alien Types" in the CMU CL manual -->
<p>Alien types have a description language based on nested list
structure. For example the C type

<pre class="example">     struct foo {
         int a;
         struct foo *b[100];
     };
</pre>
   <p>has the corresponding SBCL <acronym>FFI</acronym> type

<pre class="lisp">     (struct foo
       (a int)
       (b (array (* (struct foo)) 100)))
</pre>
   <ul class="menu">
<li><a accesskey="1" href="Defining-Foreign-Types.html#Defining-Foreign-Types">Defining Foreign Types</a>
<li><a accesskey="2" href="Foreign-Types-and-Lisp-Types.html#Foreign-Types-and-Lisp-Types">Foreign Types and Lisp Types</a>
<li><a accesskey="3" href="Foreign-Type-Specifiers.html#Foreign-Type-Specifiers">Foreign Type Specifiers</a>
</ul>

   </body></html>