12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
- <title>The Protothreads Library 1.4: lc-addrlabels.h File Reference</title>
- <link href="doxygen.css" rel="stylesheet" type="text/css">
- <link href="tabs.css" rel="stylesheet" type="text/css">
- </head><body>
- <!-- Generated by Doxygen 1.4.6 -->
- <div class="tabs">
- <ul>
- <li><a href="main.html"><span>Main Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- </ul></div>
- <div class="tabs">
- <ul>
- <li><a href="files.html"><span>File List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
- <h1>lc-addrlabels.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
- Implementation of local continuations based on the "Labels as values" feature of gcc.
- <p>
- <dl compact><dt><b>Author:</b></dt><dd>Adam Dunkels <<a href="mailto:adam@sics.se">adam@sics.se</a>></dd></dl>
- This implementation of local continuations is based on a special feature of the GCC C compiler called "labels as values". This feature allows assigning pointers with the address of the code corresponding to a particular C label.<p>
- For more information, see the GCC documentation: <a href="http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html">http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html</a>
- <p>
- Definition in file <a class="el" href="a00018.html">lc-addrlabels.h</a>.
- <p>
- <p>
- <a href="a00018.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
- <tr><td></td></tr>
- <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2c1bb4fa6d7a6ff951a41c73fc721109"></a><!-- doxytag: member="lc-addrlabels.h::LC_INIT" ref="g2c1bb4fa6d7a6ff951a41c73fc721109" args="(s)" -->
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#g2c1bb4fa6d7a6ff951a41c73fc721109">LC_INIT</a>(s) s = NULL</td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ec8b8f4710dce1fa7fb87d3a31541ae"></a><!-- doxytag: member="lc-addrlabels.h::LC_RESUME" ref="g1ec8b8f4710dce1fa7fb87d3a31541ae" args="(s)" -->
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#g1ec8b8f4710dce1fa7fb87d3a31541ae">LC_RESUME</a>(s)</td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6e1e879e172e2d8838e5f567dac8918c"></a><!-- doxytag: member="lc-addrlabels.h::LC_CONCAT2" ref="g6e1e879e172e2d8838e5f567dac8918c" args="(s1, s2)" -->
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#g6e1e879e172e2d8838e5f567dac8918c">LC_CONCAT2</a>(s1, s2) s1##s2</td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2b1f9b9fe8b6895b156f0af10538971c"></a><!-- doxytag: member="lc-addrlabels.h::LC_CONCAT" ref="g2b1f9b9fe8b6895b156f0af10538971c" args="(s1, s2)" -->
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#g2b1f9b9fe8b6895b156f0af10538971c">LC_CONCAT</a>(s1, s2) LC_CONCAT2(s1, s2)</td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd8eec328a4868d767f0c00c8d1c6cfc1"></a><!-- doxytag: member="lc-addrlabels.h::LC_SET" ref="gd8eec328a4868d767f0c00c8d1c6cfc1" args="(s)" -->
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#gd8eec328a4868d767f0c00c8d1c6cfc1">LC_SET</a>(s)</td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gca51ceb2f5d855dfde55bcedf8d3b92d"></a><!-- doxytag: member="lc-addrlabels.h::LC_END" ref="gca51ceb2f5d855dfde55bcedf8d3b92d" args="(s)" -->
- #define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#gca51ceb2f5d855dfde55bcedf8d3b92d">LC_END</a>(s)</td></tr>
- <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2bdc4b7b4038454a79f1b2a94a6d2a98"></a><!-- doxytag: member="lc-addrlabels.h::lc_t" ref="g2bdc4b7b4038454a79f1b2a94a6d2a98" args="" -->
- typedef void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#g2bdc4b7b4038454a79f1b2a94a6d2a98">lc_t</a></td></tr>
- </table>
- <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 2 10:06:29 2006 for The Protothreads Library 1.4 by
- <a href="http://www.doxygen.org/index.html">
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
- </body>
- </html>
|