/usr/share/doc/racket/inside/index.html is in racket-doc 6.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>Inside: Racket C API</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_0");">▼</a></td><td></td><td><a href="" class="tocviewselflink" data-pltdoc="x">Inside:<span class="mywbr"> </span> Racket C API</a></td></tr></table></div><div class="tocviewsublistonly" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1 </td><td><a href="overview.html" class="tocviewlink" data-pltdoc="x">Overview</a></td></tr><tr><td align="right">2 </td><td><a href="embedding.html" class="tocviewlink" data-pltdoc="x">Embedding into a Program</a></td></tr><tr><td align="right">3 </td><td><a href="Writing_Racket_Extensions.html" class="tocviewlink" data-pltdoc="x">Writing Racket Extensions</a></td></tr><tr><td align="right">4 </td><td><a href="im_values_types.html" class="tocviewlink" data-pltdoc="x">Values and Types</a></td></tr><tr><td align="right">5 </td><td><a href="im_memoryalloc.html" class="tocviewlink" data-pltdoc="x">Memory Allocation</a></td></tr><tr><td align="right">6 </td><td><a href="im_env.html" class="tocviewlink" data-pltdoc="x">Namespaces and Modules</a></td></tr><tr><td align="right">7 </td><td><a href="Procedures.html" class="tocviewlink" data-pltdoc="x">Procedures</a></td></tr><tr><td align="right">8 </td><td><a href="Evaluation.html" class="tocviewlink" data-pltdoc="x">Evaluation</a></td></tr><tr><td align="right">9 </td><td><a href="exceptions.html" class="tocviewlink" data-pltdoc="x">Exceptions and Escape Continuations</a></td></tr><tr><td align="right">10 </td><td><a href="threads.html" class="tocviewlink" data-pltdoc="x">Threads</a></td></tr><tr><td align="right">11 </td><td><a href="config.html" class="tocviewlink" data-pltdoc="x">Parameterizations</a></td></tr><tr><td align="right">12 </td><td><a href="contmarks.html" class="tocviewlink" data-pltdoc="x">Continuation Marks</a></td></tr><tr><td align="right">13 </td><td><a href="im_encodings.html" class="tocviewlink" data-pltdoc="x">String Encodings</a></td></tr><tr><td align="right">14 </td><td><a href="Bignums__Rationals__and_Complex_Numbers.html" class="tocviewlink" data-pltdoc="x">Bignums, Rationals, and Complex Numbers</a></td></tr><tr><td align="right">15 </td><td><a href="Ports_and_the_Filesystem.html" class="tocviewlink" data-pltdoc="x">Ports and the Filesystem</a></td></tr><tr><td align="right">16 </td><td><a href="Structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">17 </td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Security Guards</a></td></tr><tr><td align="right">18 </td><td><a href="Custodians.html" class="tocviewlink" data-pltdoc="x">Custodians</a></td></tr><tr><td align="right">19 </td><td><a href="Subprocesses.html" class="tocviewlink" data-pltdoc="x">Subprocesses</a></td></tr><tr><td align="right">20 </td><td><a href="Miscellaneous_Utilities.html" class="tocviewlink" data-pltdoc="x">Miscellaneous Utilities</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber"></span><a href="#%28part._top%29" class="tocsubseclink" data-pltdoc="x">Inside:<span class="mywbr"> </span> Racket C API</a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="versionbox"><span class="version">6.1</span></div><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.1", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">top</a></span><span class="navright"> <span class="nonavigation">← prev</span> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">up</a> <a href="overview.html" title="forward to "1 Overview"" data-pltdoc="x">next →</a></span> </div><h2 x-source-module="(lib "scribblings/inside/inside.scrbl")" x-part-tag=""top""><a name="(part._top)"></a>Inside: Racket C API</h2><div class="SAuthorListBox"><span class="SAuthorList"><p class="author">Matthew Flatt</p></span></div><p>This manual describes the C interface of Racket’s run-time system. The
C interface is relevant primarily when interacting with foreign
libraries as described in <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=foreign&rel=index.html&version=6.1" class="Sq" data-pltdoc="x">The Racket Foreign Interface</a>; even though interactions with
foreign code are constructed in pure Racket using the
<a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=foreign&rel=index.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">ffi/unsafe</span></a> module, many details of representations,
memory management, and concurrency are described here. This manual
also describes embedding the Racket run-time system in larger programs
and extending Racket directly with C-implemented libraries.</p><table cellspacing="0" cellpadding="0"><tr><td><p><span class="hspace"> </span><a href="overview.html" class="toptoclink" data-pltdoc="x">1<span class="hspace"> </span>Overview</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part.__.Scheme__versus__.Racket_%29" class="toclink" data-pltdoc="x">1.1<span class="hspace"> </span>“Scheme” versus “Racket”</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._.Building_.Racket_from_.Source%29" class="toclink" data-pltdoc="x">1.2<span class="hspace"> </span>Building Racket from Source</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._.C.G.C._versus._3m%29" class="toclink" data-pltdoc="x">1.3<span class="hspace"> </span>CGC versus 3m</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._embedding-and-extending%29" class="toclink" data-pltdoc="x">1.4<span class="hspace"> </span>Embedding and Extending Racket</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._places%29" class="toclink" data-pltdoc="x">1.5<span class="hspace"> </span>Racket and Places</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._.Racket_and_.Threads%29" class="toclink" data-pltdoc="x">1.6<span class="hspace"> </span>Racket and Threads</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._im~3aunicode%29" class="toclink" data-pltdoc="x">1.7<span class="hspace"> </span>Racket, Unicode, Characters, and Strings</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="overview.html#%28part._im~3aintsize%29" class="toclink" data-pltdoc="x">1.8<span class="hspace"> </span>Integers</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="embedding.html" class="toptoclink" data-pltdoc="x">2<span class="hspace"> </span>Embedding into a Program</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="embedding.html#%28part._.C.G.C_.Embedding%29" class="toclink" data-pltdoc="x">2.1<span class="hspace"> </span>CGC Embedding</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="embedding.html#%28part._3m_.Embedding%29" class="toclink" data-pltdoc="x">2.2<span class="hspace"> </span>3m Embedding</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="embedding.html#%28part._.Flags_and_.Hooks%29" class="toclink" data-pltdoc="x">2.3<span class="hspace"> </span>Flags and Hooks</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Writing_Racket_Extensions.html" class="toptoclink" data-pltdoc="x">3<span class="hspace"> </span>Writing Racket Extensions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Writing_Racket_Extensions.html#%28part._.C.G.C_.Extensions%29" class="toclink" data-pltdoc="x">3.1<span class="hspace"> </span>CGC Extensions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Writing_Racket_Extensions.html#%28part._3m_.Extensions%29" class="toclink" data-pltdoc="x">3.2<span class="hspace"> </span>3m Extensions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Writing_Racket_Extensions.html#%28part._.Declaring_a_.Module_in_an_.Extension%29" class="toclink" data-pltdoc="x">3.3<span class="hspace"> </span>Declaring a Module in an Extension</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_values_types.html" class="toptoclink" data-pltdoc="x">4<span class="hspace"> </span>Values and Types</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_values_types.html#%28part._im~3astdtypes%29" class="toclink" data-pltdoc="x">4.1<span class="hspace"> </span>Standard Types</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_values_types.html#%28part._.Global_.Constants%29" class="toclink" data-pltdoc="x">4.2<span class="hspace"> </span>Global Constants</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_values_types.html#%28part._im~3astrings%29" class="toclink" data-pltdoc="x">4.3<span class="hspace"> </span>Strings</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_values_types.html#%28part._.Value_.Functions%29" class="toclink" data-pltdoc="x">4.4<span class="hspace"> </span>Value Functions</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html" class="toptoclink" data-pltdoc="x">5<span class="hspace"> </span>Memory Allocation</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._im~3a3m%29" class="toclink" data-pltdoc="x">5.1<span class="hspace"> </span>Cooperating with 3m</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._im~3a3m~3atagged%29" class="toclink" data-pltdoc="x">5.1.1<span class="hspace"> </span>Tagged Objects</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._im~3a3m~3astack%29" class="toclink" data-pltdoc="x">5.1.2<span class="hspace"> </span>Local Pointers</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._im~3a3m~3amzc%29" class="toclink" data-pltdoc="x">5.1.3<span class="hspace"> </span>Local Pointers and <span class="stt">raco ctool</span> <span class="nobreak"><span class="stt">--xform</span></span></a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._im~3a3m~3amacros%29" class="toclink" data-pltdoc="x">5.1.4<span class="hspace"> </span>Guiding <span class="stt">raco ctool</span> <span class="nobreak"><span class="stt">--xform</span></span></a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._im~3a3m~3aplaces%29" class="toclink" data-pltdoc="x">5.1.5<span class="hspace"> </span>Places and Garbage Collector Instances</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_memoryalloc.html#%28part._.Memory_.Functions%29" class="toclink" data-pltdoc="x">5.2<span class="hspace"> </span>Memory Functions</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_env.html" class="toptoclink" data-pltdoc="x">6<span class="hspace"> </span>Namespaces and Modules</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Procedures.html" class="toptoclink" data-pltdoc="x">7<span class="hspace"> </span>Procedures</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Evaluation.html" class="toptoclink" data-pltdoc="x">8<span class="hspace"> </span>Evaluation</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Evaluation.html#%28part._topleveleval%29" class="toclink" data-pltdoc="x">8.1<span class="hspace"> </span>Top-level Evaluation Functions</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Evaluation.html#%28part._.Tail_.Evaluation%29" class="toclink" data-pltdoc="x">8.2<span class="hspace"> </span>Tail Evaluation</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Evaluation.html#%28part._multiple%29" class="toclink" data-pltdoc="x">8.3<span class="hspace"> </span>Multiple Values</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Evaluation.html#%28part._.Evaluation_.Functions%29" class="toclink" data-pltdoc="x">8.4<span class="hspace"> </span>Evaluation Functions</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="exceptions.html" class="toptoclink" data-pltdoc="x">9<span class="hspace"> </span>Exceptions and Escape Continuations</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="exceptions.html#%28part._imz~3atempcatch%29" class="toclink" data-pltdoc="x">9.1<span class="hspace"> </span>Temporarily Catching Error Escapes</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="exceptions.html#%28part._.Enabling_and_.Disabling_.Breaks%29" class="toclink" data-pltdoc="x">9.2<span class="hspace"> </span>Enabling and Disabling Breaks</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="exceptions.html#%28part._.Exception_.Functions%29" class="toclink" data-pltdoc="x">9.3<span class="hspace"> </span>Exception Functions</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html" class="toptoclink" data-pltdoc="x">10<span class="hspace"> </span>Threads</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._.Integration_with_.Threads%29" class="toclink" data-pltdoc="x">10.1<span class="hspace"> </span>Integration with Threads</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._usefuel%29" class="toclink" data-pltdoc="x">10.2<span class="hspace"> </span>Allowing Thread Switches</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._threadblock%29" class="toclink" data-pltdoc="x">10.3<span class="hspace"> </span>Blocking the Current Thread</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._threadtime%29" class="toclink" data-pltdoc="x">10.4<span class="hspace"> </span>Threads in Embedded Racket with Event Loops</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._blockednonmainel%29" class="toclink" data-pltdoc="x">10.4.1<span class="hspace"> </span>Callbacks for Blocked Threads</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._sleeping%29" class="toclink" data-pltdoc="x">10.5<span class="hspace"> </span>Sleeping by Embedded Racket</a></p></td></tr><tr><td><p><span class="hspace"> </span><a href="threads.html#%28part._.Thread_.Functions%29" class="toclink" data-pltdoc="x">10.6<span class="hspace"> </span>Thread Functions</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="config.html" class="toptoclink" data-pltdoc="x">11<span class="hspace"> </span>Parameterizations</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="contmarks.html" class="toptoclink" data-pltdoc="x">12<span class="hspace"> </span>Continuation Marks</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="im_encodings.html" class="toptoclink" data-pltdoc="x">13<span class="hspace"> </span>String Encodings</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Bignums__Rationals__and_Complex_Numbers.html" class="toptoclink" data-pltdoc="x">14<span class="hspace"> </span>Bignums, Rationals, and Complex Numbers</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Ports_and_the_Filesystem.html" class="toptoclink" data-pltdoc="x">15<span class="hspace"> </span>Ports and the Filesystem</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Structures.html" class="toptoclink" data-pltdoc="x">16<span class="hspace"> </span>Structures</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="security.html" class="toptoclink" data-pltdoc="x">17<span class="hspace"> </span>Security Guards</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Custodians.html" class="toptoclink" data-pltdoc="x">18<span class="hspace"> </span>Custodians</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Subprocesses.html" class="toptoclink" data-pltdoc="x">19<span class="hspace"> </span>Subprocesses</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="Miscellaneous_Utilities.html" class="toptoclink" data-pltdoc="x">20<span class="hspace"> </span>Miscellaneous Utilities</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace"> </span><a href="doc-index.html" class="toptoclink" data-pltdoc="x">Index</a></p></td></tr></table><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.1", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">top</a></span><span class="navright"> <span class="nonavigation">← prev</span> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">up</a> <a href="overview.html" title="forward to "1 Overview"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html>
|