Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > e2ff8527bfb536f76f163acd670d66bc > files > 26

hail-devel-0.8-0.7.gf9c5b967.fc16.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>CLD: include/elist.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">CLD
   &#160;<span id="projectnumber">0.1git</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a>  </div>
  <div class="headertitle">
<div class="title">include/elist.h File Reference</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlist__head.html">list_head</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a4642d4b7df28478bb762fe43c85b5c63">LIST_HEAD_INIT</a>(name)&#160;&#160;&#160;{ &amp;(name), &amp;(name) }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a42f0e72af970a790b60a740af8c9ecd0">LIST_HEAD</a>(name)&#160;&#160;&#160;struct <a class="el" href="structlist__head.html">list_head</a> name = LIST_HEAD_INIT(name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a0ffe9d28c36d7b018a9cfae33bae45c0">INIT_LIST_HEAD</a>(ptr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de">list_entry</a>(ptr, type, member)&#160;&#160;&#160;((type *)((char *)(ptr)-(unsigned long)(&amp;((type *)0)-&gt;member)))</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_entry - get the struct for this entry : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> pointer.  <a href="#a26c976b7f654e70df318c1843e5094de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#ab8b24e6660ab3760c923e4b4db3fa502">list_for_each</a>(pos, head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_for_each - iterate over a list : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as a loop counter.  <a href="#ab8b24e6660ab3760c923e4b4db3fa502"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a19fc06b83f3502a83ce566b8887e6aec">list_for_each_prev</a>(pos, head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_for_each_prev - iterate over a list backwards : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as a loop counter.  <a href="#a19fc06b83f3502a83ce566b8887e6aec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a9e4b9328744994b9d3878f5dad75c09f">list_for_each_safe</a>(pos, n, head)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_for_each_safe - iterate over a list safe against removal of list entry : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as a loop counter.  <a href="#a9e4b9328744994b9d3878f5dad75c09f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a9b782fefb5ab71ce9762182e45a615e1">list_for_each_entry</a>(pos, head, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_for_each_entry - iterate over list of given type : the type * to use as a loop counter.  <a href="#a9b782fefb5ab71ce9762182e45a615e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#ac3f72d6bd5144c7970824813810d2da1">list_for_each_entry_safe</a>(pos, n, head, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_for_each_entry_safe - iterate over list of given type safe against removal of list entry : the type * to use as a loop counter.  <a href="#ac3f72d6bd5144c7970824813810d2da1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elist_8h.html#a91b31084b4ece72dbd75d2bb1f01d9ff">list_for_each_entry_continue</a>(pos, head, member)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">list_for_each_entry_continue - iterate over list of given type continuing after existing point : the type * to use as a loop counter.  <a href="#a91b31084b4ece72dbd75d2bb1f01d9ff"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a0ffe9d28c36d7b018a9cfae33bae45c0"></a><!-- doxytag: member="elist.h::INIT_LIST_HEAD" ref="a0ffe9d28c36d7b018a9cfae33bae45c0" args="(ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INIT_LIST_HEAD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
        (ptr)-&gt;next = (ptr); (ptr)-&gt;prev = (ptr); \
} <span class="keywordflow">while</span> (0)
</pre></div>
</div>
</div>
<a class="anchor" id="a26c976b7f654e70df318c1843e5094de"></a><!-- doxytag: member="elist.h::list_entry" ref="a26c976b7f654e70df318c1843e5094de" args="(ptr, type, member)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_entry</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ptr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">member&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((type *)((char *)(ptr)-(unsigned long)(&amp;((type *)0)-&gt;member)))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>list_entry - get the struct for this entry : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> pointer. </p>
<p>: the type of the struct this is embedded in. : the name of the list_struct within the struct. </p>

</div>
</div>
<a class="anchor" id="ab8b24e6660ab3760c923e4b4db3fa502"></a><!-- doxytag: member="elist.h::list_for_each" ref="ab8b24e6660ab3760c923e4b4db3fa502" args="(pos, head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_for_each</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (pos = (head)-&gt;next; pos != (head); \
                pos = pos-&gt;next)
</pre></div>
<p>list_for_each - iterate over a list : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as a loop counter. </p>
<p>: the head for your list. </p>

</div>
</div>
<a class="anchor" id="a9b782fefb5ab71ce9762182e45a615e1"></a><!-- doxytag: member="elist.h::list_for_each_entry" ref="a9b782fefb5ab71ce9762182e45a615e1" args="(pos, head, member)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_for_each_entry</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">member&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (pos = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>((head)-&gt;next, typeof(*pos), member);      \
             &amp;pos-&gt;member != (head);                                    \
             pos = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>(pos-&gt;member.next, typeof(*pos), member))
</pre></div>
<p>list_for_each_entry - iterate over list of given type : the type * to use as a loop counter. </p>
<p>: the head for your list. : the name of the list_struct within the struct. </p>

</div>
</div>
<a class="anchor" id="a91b31084b4ece72dbd75d2bb1f01d9ff"></a><!-- doxytag: member="elist.h::list_for_each_entry_continue" ref="a91b31084b4ece72dbd75d2bb1f01d9ff" args="(pos, head, member)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_for_each_entry_continue</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">member&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (pos = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>(pos-&gt;member.next, typeof(*pos), member),  \
                     prefetch(pos-&gt;member.next);                        \
             &amp;pos-&gt;member != (head);                                    \
             pos = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>(pos-&gt;member.next, typeof(*pos), member),  \
                     prefetch(pos-&gt;member.next))
</pre></div>
<p>list_for_each_entry_continue - iterate over list of given type continuing after existing point : the type * to use as a loop counter. </p>
<p>: the head for your list. : the name of the list_struct within the struct. </p>

</div>
</div>
<a class="anchor" id="ac3f72d6bd5144c7970824813810d2da1"></a><!-- doxytag: member="elist.h::list_for_each_entry_safe" ref="ac3f72d6bd5144c7970824813810d2da1" args="(pos, n, head, member)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_for_each_entry_safe</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">member&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (pos = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>((head)-&gt;next, typeof(*pos), member),      \
                n = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>(pos-&gt;member.next, typeof(*pos), member); \
             &amp;pos-&gt;member != (head);                                    \
             pos = n, n = <a class="code" href="elist_8h.html#a26c976b7f654e70df318c1843e5094de" title="list_entry - get the struct for this entry : the &amp;struct list_head pointer.">list_entry</a>(n-&gt;member.next, typeof(*n), member))
</pre></div>
<p>list_for_each_entry_safe - iterate over list of given type safe against removal of list entry : the type * to use as a loop counter. </p>
<p><br/>
: another type * to use as temporary storage : the head for your list. : the name of the list_struct within the struct. </p>

</div>
</div>
<a class="anchor" id="a19fc06b83f3502a83ce566b8887e6aec"></a><!-- doxytag: member="elist.h::list_for_each_prev" ref="a19fc06b83f3502a83ce566b8887e6aec" args="(pos, head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_for_each_prev</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (pos = (head)-&gt;prev; pos != (head); \
                pos = pos-&gt;prev)
</pre></div>
<p>list_for_each_prev - iterate over a list backwards : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as a loop counter. </p>
<p>: the head for your list. </p>

</div>
</div>
<a class="anchor" id="a9e4b9328744994b9d3878f5dad75c09f"></a><!-- doxytag: member="elist.h::list_for_each_safe" ref="a9e4b9328744994b9d3878f5dad75c09f" args="(pos, n, head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define list_for_each_safe</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">pos, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">head&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> (pos = (head)-&gt;next, n = pos-&gt;next; pos != (head); \
                pos = n, n = pos-&gt;next)
</pre></div>
<p>list_for_each_safe - iterate over a list safe against removal of list entry : the &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as a loop counter. </p>
<p><br/>
: another &amp;struct <a class="el" href="structlist__head.html">list_head</a> to use as temporary storage : the head for your list. </p>

</div>
</div>
<a class="anchor" id="a42f0e72af970a790b60a740af8c9ecd0"></a><!-- doxytag: member="elist.h::LIST_HEAD" ref="a42f0e72af970a790b60a740af8c9ecd0" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_HEAD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name</td><td>)</td>
          <td>&#160;&#160;&#160;struct <a class="el" href="structlist__head.html">list_head</a> name = LIST_HEAD_INIT(name)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4642d4b7df28478bb762fe43c85b5c63"></a><!-- doxytag: member="elist.h::LIST_HEAD_INIT" ref="a4642d4b7df28478bb762fe43c85b5c63" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_HEAD_INIT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">name</td><td>)</td>
          <td>&#160;&#160;&#160;{ &amp;(name), &amp;(name) }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>


<hr class="footer"/><address class="footer"><small>
Generated on Sat Jan 28 2012 05:53:01 for CLD by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5
</small></address>

</body>
</html>