<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Part IV. UFFI Reference</title><link rel="stylesheet" type="text/css" href="ecl.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="The ECL manual"><link rel="up" href="index.html" title="The ECL manual"><link rel="prev" href="ch28.html" title="Chapter 5. Porting ECL"><link rel="next" href="rn01.html" title="Primitive Types"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part IV. UFFI Reference</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch28.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="rn01.html">Next</a></td></tr></table><hr></div><div class="part" title="Part IV. UFFI Reference"><div class="titlepage"><div><div><h1 class="title"><a name="part.uffi"></a>Part IV. UFFI Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="reference"><a href="rn01.html">I. Primitive Types</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="rn01re46.html"><code class="function">def-constant</code></a></span><span class="refpurpose"> — Binds a symbol to a constant. </span></dt><dt><span class="refentrytitle"><a href="rn01re47.html"><code class="function">def-foreign-type</code></a></span><span class="refpurpose"> — Defines a new foreign type. </span></dt><dt><span class="refentrytitle"><a href="rn01re48.html"><code class="function">null-char-p</code></a></span><span class="refpurpose"> — Tests a character for <code class="constant">NULL</code> value. </span></dt></dl></dd><dt><span class="reference"><a href="rn02.html">II. Aggregate Types</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="rn02re49.html"><code class="function">def-enum</code></a></span><span class="refpurpose"> — Defines a <acronym class="acronym">C</acronym> enumeration. </span></dt><dt><span class="refentrytitle"><a href="rn02re50.html"><code class="function">def-struct</code></a></span><span class="refpurpose"> — Defines a <acronym class="acronym">C</acronym> structure. </span></dt><dt><span class="refentrytitle"><a href="rn02re51.html"><code class="function">get-slot-value</code></a></span><span class="refpurpose"> — Retrieves a value from a slot of a structure. </span></dt><dt><span class="refentrytitle"><a href="rn02re52.html"><code class="function">get-slot-pointer</code></a></span><span class="refpurpose"> — Retrieves a pointer from a slot of a structure. </span></dt><dt><span class="refentrytitle"><a href="rn02re53.html"><code class="function">def-array-pointer</code></a></span><span class="refpurpose"> — Defines a pointer to a array of type. </span></dt><dt><span class="refentrytitle"><a href="rn02re54.html"><code class="function">deref-array</code></a></span><span class="refpurpose"> — Deference an array. </span></dt><dt><span class="refentrytitle"><a href="rn02re55.html"><code class="function">def-union</code></a></span><span class="refpurpose"> — Defines a foreign union type. </span></dt></dl></dd><dt><span class="reference"><a href="rn03.html">III. Objects</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="rn03re56.html"><code class="function">allocate-foreign-object</code></a></span><span class="refpurpose"> — Allocates an instance of a foreign object. </span></dt><dt><span class="refentrytitle"><a href="rn03re57.html"><code class="function">free-foreign-object</code></a></span><span class="refpurpose"> — Frees memory that was allocated for a foreign boject. </span></dt><dt><span class="refentrytitle"><a href="rn03re58.html"><code class="function">with-foreign-object</code></a></span><span class="refpurpose"> — Wraps the allocation of a foreign object around a body of code. </span></dt><dt><span class="refentrytitle"><a href="rn03re59.html"><code class="function">size-of-foreign-type</code></a></span><span class="refpurpose"> — Returns the number of data bytes used by a foreign object type. </span></dt><dt><span class="refentrytitle"><a href="rn03re60.html"><code class="function">pointer-address</code></a></span><span class="refpurpose"> — Returns the address of a pointer. </span></dt><dt><span class="refentrytitle"><a href="rn03re61.html"><code class="function">deref-pointer</code></a></span><span class="refpurpose"> — Deferences a pointer. </span></dt><dt><span class="refentrytitle"><a href="rn03re62.html"><code class="function">ensure-char-character</code></a></span><span class="refpurpose"> — Ensures that a dereferenced <code class="constant">:char</code> pointer is a character. </span></dt><dt><span class="refentrytitle"><a href="rn03re63.html"><code class="function">ensure-char-integer</code></a></span><span class="refpurpose"> — Ensures that a dereferenced <code class="constant">:char</code> pointer is an integer. </span></dt><dt><span class="refentrytitle"><a href="rn03re64.html"><code class="function">make-null-pointer</code></a></span><span class="refpurpose"> — Create a <code class="constant">NULL</code> pointer. </span></dt><dt><span class="refentrytitle"><a href="rn03re65.html"><code class="function">null-pointer-p</code></a></span><span class="refpurpose"> — Tests a pointer for <code class="constant">NULL</code> value. </span></dt><dt><span class="refentrytitle"><a href="rn03re66.html"><code class="varname">+null-cstring-pointer+</code></a></span><span class="refpurpose"> — A constant <code class="constant">NULL</code> cstring pointer. </span></dt><dt><span class="refentrytitle"><a href="rn03re67.html"><code class="function">with-cast-pointer</code></a></span><span class="refpurpose"> — Wraps a body of code with a pointer cast to a new type. </span></dt><dt><span class="refentrytitle"><a href="rn03re68.html"><code class="function">def-foreign-var</code></a></span><span class="refpurpose"> — Defines a symbol macro to access a variable in foreign code </span></dt></dl></dd><dt><span class="reference"><a href="rn04.html">IV. Strings</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="rn04re69.html"><code class="function">convert-from-cstring</code></a></span><span class="refpurpose"> — Converts a cstring to a Lisp string.</span></dt><dt><span class="refentrytitle"><a href="rn04re70.html"><code class="function">convert-to-cstring</code></a></span><span class="refpurpose"> — Converts a Lisp string to a cstring.</span></dt><dt><span class="refentrytitle"><a href="rn04re71.html"><code class="function">free-cstring</code></a></span><span class="refpurpose"> — Free memory used by cstring. </span></dt><dt><span class="refentrytitle"><a href="rn04re72.html"><code class="function">with-cstring</code></a></span><span class="refpurpose"> — Binds a newly created cstring.</span></dt><dt><span class="refentrytitle"><a href="rn04re73.html"><code class="function">convert-from-foreign-string</code></a></span><span class="refpurpose"> — Converts a foreign string into a Lisp string.</span></dt><dt><span class="refentrytitle"><a href="rn04re74.html"><code class="function">convert-to-foreign-string</code></a></span><span class="refpurpose"> — Converts a Lisp string to a foreign string. </span></dt><dt><span class="refentrytitle"><a href="rn04re75.html"><code class="function">allocate-foreign-string</code></a></span><span class="refpurpose"> — Allocates space for a foreign string. </span></dt></dl></dd><dt><span class="reference"><a href="rn05.html">V. Functions & Libraries</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="rn05re76.html"><code class="function">def-function</code></a></span><span class="refpurpose"> — Declares a function. </span></dt><dt><span class="refentrytitle"><a href="rn05re77.html"><code class="function">load-foreign-library</code></a></span><span class="refpurpose"> — Loads a foreign library. </span></dt><dt><span class="refentrytitle"><a href="rn05re78.html"><code class="function">find-foreign-library</code></a></span><span class="refpurpose"> — Finds a foreign library file. </span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch28.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="rn01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. Porting <span class="application">ECL</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Primitive Types</td></tr></table></div></body></html>