Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > cb5625aca3e4def202f3617de4d26932 > files > 26

c2hs-0.9.9-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>The Binding Generator C->Haskell: The Haskell FFI Marshalling Library</TITLE>
 <LINK HREF="c2hs-5.html" REL=next>
 <LINK HREF="c2hs-3.html" REL=previous>
 <LINK HREF="c2hs.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="c2hs-5.html">Next</A>
<A HREF="c2hs-3.html">Previous</A>
<A HREF="c2hs.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4. The Haskell FFI Marshalling Library</A></H2>

<P>The Haskell FFI Marshalling Library is a proposed standard library for foreign
function interoperability.  The interface of the <CODE>C2HS</CODE> marshalling library
as of version 0.8.1 of the tool is a slight extension of the Haskell FFI
Marshalling Library, which is documented in the following.
<P>The library is partitioned into a language independent and a C specific
component.  All features of the former are available from the module
<CODE>Foreign</CODE> and all features of the later from <CODE>CForeign</CODE>.  Nevertheless,
the following module hierarchy is part of the interface definition:
<UL>
<LI>
<A HREF="lib/Foreign.hs">Foreign</A>
<UL>
<LI>
<A HREF="lib/Int.hs">Int</A></LI>
<LI>
<A HREF="lib/Word.hs">Word</A></LI>
<LI>
<A HREF="lib/Ptr.hs">Ptr</A></LI>
<LI>
<A HREF="lib/ForeignPtr.hs">ForeignPtr</A></LI>
<LI>
<A HREF="lib/StablePtr.hs">StablePtr</A></LI>
<LI>
<A HREF="lib/Storable.hs">Storable</A></LI>
<LI>
<A HREF="lib/MarshalAlloc.hs">MarshalAlloc</A></LI>
<LI>
<A HREF="lib/MarshalArray.hs">MarshalArray</A></LI>
<LI>
<A HREF="lib/MarshalError.hs">MarshalError</A></LI>
<LI>
<A HREF="lib/MarshalUtils.hs">MarshalUtils</A></LI>
</UL>
</LI>
<LI>
<A HREF="lib/CForeign.hs">CForeign</A>
<UL>
<LI>
<A HREF="lib/CTypes.hs">CTypes</A></LI>
<LI>
<A HREF="lib/CTypesISO.hs">CTypesISO</A></LI>
<LI>
<A HREF="lib/CError.hs">CError</A></LI>
<LI>
<A HREF="lib/CString.hs">CString</A></LI>
</UL>
</LI>
</UL>

It is recommended to access this functionality in C-&gt;Haskell binding
modules by merely importing <CODE>C2HS</CODE>.
<P>
<P>
<HR>
<A HREF="c2hs-5.html">Next</A>
<A HREF="c2hs-3.html">Previous</A>
<A HREF="c2hs.html#toc4">Contents</A>
</BODY>
</HTML>