Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > by-pkgid > 9601c7beb4ff23e834bfa171795ed560 > files > 427

vidalia-0.2.9-1mdv2010.1.i586.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>Vidalia: bsdqueue.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_b47abd1aad201a152869566145babb61.html">src</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_ba957854da48b9bba2087c1aa8432048.html">miniupnpc</a>
  </div>
</div>
<div class="contents">
<h1>bsdqueue.h File Reference</h1>
<p><a href="bsdqueue_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>(a)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a8224e40ea764bc857bab6f6d9c357dd9">SLIST_HEAD</a>(name, type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a9ae2aca3d46e62be4cb1408bd946ef15">SLIST_HEAD_INITIALIZER</a>(head)&nbsp;&nbsp;&nbsp;{ NULL }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a5dd8bb1cef024ac008680e7e3b660332">SLIST_ENTRY</a>(type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>(head)&nbsp;&nbsp;&nbsp;((head)-&gt;slh_first)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head)&nbsp;&nbsp;&nbsp;NULL</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a59bcc4e6f4bf63b897bdc0644566c583">SLIST_EMPTY</a>(head)&nbsp;&nbsp;&nbsp;(SLIST_FIRST(head) == SLIST_END(head))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a7cd1d5ae37224ecee1f0b831eb73e7f4">SLIST_NEXT</a>(elm, field)&nbsp;&nbsp;&nbsp;((elm)-&gt;field.sle_next)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a05db87878125c27e3060dd641aa3b0f4">SLIST_FOREACH</a>(var, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a7017f84f3ba90cd69441f09b2825f7b9">SLIST_FOREACH_PREVPTR</a>(var, varp, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a361ac8e88cf066cc4d46d28b54fd3031">SLIST_INIT</a>(head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af1d994d9652ccbc41a60b747dfc15ea5">SLIST_INSERT_AFTER</a>(slistelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a48df7439e09a419afabdd1f2f8551e73">SLIST_INSERT_HEAD</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aeb129fc9179edb5e794200d76f144630">SLIST_REMOVE_NEXT</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aeb10c664372b3b680455274170f4c897">SLIST_REMOVE_HEAD</a>(head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a9c7950d61593ab9198524fca81b17ab0">SLIST_REMOVE</a>(head, elm, type, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ae72219f63b2fe9bce774a64e11404179">LIST_HEAD</a>(name, type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a5d7b8e9f9968d3152a8519cd9a45312e">LIST_HEAD_INITIALIZER</a>(head)&nbsp;&nbsp;&nbsp;{ NULL }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aec2ccd0e8c215504508af23f04480be6">LIST_ENTRY</a>(type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a8f223070a7fe7c5f24033e9d8fbeb610">LIST_FIRST</a>(head)&nbsp;&nbsp;&nbsp;((head)-&gt;lh_first)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a0687dc033d5b408a3883b5bf2bd9a935">LIST_END</a>(head)&nbsp;&nbsp;&nbsp;NULL</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af59ab30a8f9a88af86422600c38125cf">LIST_EMPTY</a>(head)&nbsp;&nbsp;&nbsp;(LIST_FIRST(head) == LIST_END(head))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ad150fcc4dc3e0a56600101f1f1065ed5">LIST_NEXT</a>(elm, field)&nbsp;&nbsp;&nbsp;((elm)-&gt;field.le_next)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac1543beeb6d9224b60feb7a2703b2a87">LIST_FOREACH</a>(var, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a304b5b7f7bdcba2793eaba9c890991c3">LIST_INIT</a>(head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aab62f53d4c94ab67bf7c4dc5c7670f64">LIST_INSERT_AFTER</a>(listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a73d12127b84f84215eb03a4fb20feebb">LIST_INSERT_BEFORE</a>(listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ad80d8d658fdb46a9f7cc81cb2ae54885">LIST_INSERT_HEAD</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a4f60a3fedbebc5ef6edded99062dd98d">LIST_REMOVE</a>(elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af76883409ca9ebd9845a64dc61702250">LIST_REPLACE</a>(elm, elm2, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#adf0c29c386006b1f32435abe538d4398">SIMPLEQ_HEAD</a>(name, type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a89444236a1714f59b8e84608f18f6422">SIMPLEQ_HEAD_INITIALIZER</a>(head)&nbsp;&nbsp;&nbsp;{ NULL, &amp;(head).sqh_first }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af416c4e9e87270cb7b90152a27b8daa4">SIMPLEQ_ENTRY</a>(type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a8aca010fb5702082a231bb2535e5a945">SIMPLEQ_FIRST</a>(head)&nbsp;&nbsp;&nbsp;((head)-&gt;sqh_first)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#afb7f731c6fba7aac97b2b446ecd3a2bd">SIMPLEQ_END</a>(head)&nbsp;&nbsp;&nbsp;NULL</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac5ae79041999d0acfad3bacf72979b88">SIMPLEQ_EMPTY</a>(head)&nbsp;&nbsp;&nbsp;(SIMPLEQ_FIRST(head) == SIMPLEQ_END(head))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a15537d2c45c0d176a75601d484b75432">SIMPLEQ_NEXT</a>(elm, field)&nbsp;&nbsp;&nbsp;((elm)-&gt;field.sqe_next)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a3efcdcb8bdde0bc0d013314ed12426b5">SIMPLEQ_FOREACH</a>(var, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a36c4353aafcd6f7d0dbf74473d761b08">SIMPLEQ_INIT</a>(head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a8ea372a36daedcf8f29d805bbb49bb3f">SIMPLEQ_INSERT_HEAD</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a3f31b4857ff4ccb0f970ca9d19e133b4">SIMPLEQ_INSERT_TAIL</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a601bd9b7c5fffd4bb8c2d71969b53be2">SIMPLEQ_INSERT_AFTER</a>(head, listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a595ba5db373de6d9e9daba311b1e458d">SIMPLEQ_REMOVE_HEAD</a>(head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a4abce769a262e090c1f601605b9d6c76">TAILQ_HEAD</a>(name, type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac269df7d4126ed9885156cbad2cbf8af">TAILQ_HEAD_INITIALIZER</a>(head)&nbsp;&nbsp;&nbsp;{ NULL, &amp;(head).tqh_first }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af71bfd90dc9d00fb03545fe66c67d673">TAILQ_ENTRY</a>(type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a7d6894360bd1c41e0e6f6d84998c1362">TAILQ_FIRST</a>(head)&nbsp;&nbsp;&nbsp;((head)-&gt;tqh_first)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a4322b8461a6ab7632435ff4f57bb3a2e">TAILQ_END</a>(head)&nbsp;&nbsp;&nbsp;NULL</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#abd57fe9bdea6007a602f8c7d61bd5265">TAILQ_NEXT</a>(elm, field)&nbsp;&nbsp;&nbsp;((elm)-&gt;field.tqe_next)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac9154a9aebb3c15a3f2356349a1cc14f">TAILQ_LAST</a>(head, headname)&nbsp;&nbsp;&nbsp;(*(((struct headname *)((head)-&gt;tqh_last))-&gt;tqh_last))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a524f93a0c21c390683fab4c27e840a10">TAILQ_PREV</a>(elm, headname, field)&nbsp;&nbsp;&nbsp;(*(((struct headname *)((elm)-&gt;field.tqe_prev))-&gt;tqh_last))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac3c9da7ac712eacbbad5cc54d7a3477e">TAILQ_EMPTY</a>(head)&nbsp;&nbsp;&nbsp;(TAILQ_FIRST(head) == TAILQ_END(head))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a16e5fc168e7f3494d4b1df54447d871e">TAILQ_FOREACH</a>(var, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aa7f65c910cd4616fcfa9723c5763b1a5">TAILQ_FOREACH_REVERSE</a>(var, head, headname, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a449d224023780e46253b83b61e0a50a9">TAILQ_INIT</a>(head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af0f99e8f322ea4eef2d9deaa505239a6">TAILQ_INSERT_HEAD</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a512bee16b46f601078c96c776d2648c3">TAILQ_INSERT_TAIL</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af972e33f5eacef659ee0bf0a13ca518c">TAILQ_INSERT_AFTER</a>(head, listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac6a41e17dbc7d8df1f8b353a036754ff">TAILQ_INSERT_BEFORE</a>(listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aaae87ca18c28066e1a96221e762d1209">TAILQ_REMOVE</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a6c5948aec8d53d42983d92a23b517579">TAILQ_REPLACE</a>(head, elm, elm2, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ac564235b07f0c8c8db2a7957d37300ee">CIRCLEQ_HEAD</a>(name, type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a66bcae453448e43a4233428494aca741">CIRCLEQ_HEAD_INITIALIZER</a>(head)&nbsp;&nbsp;&nbsp;{ CIRCLEQ_END(&amp;head), CIRCLEQ_END(&amp;head) }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#abc5774651e7db6bcecf18d2b92259707">CIRCLEQ_ENTRY</a>(type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ab6bde704fab7206d75cf540048cea723">CIRCLEQ_FIRST</a>(head)&nbsp;&nbsp;&nbsp;((head)-&gt;cqh_first)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a5e9a63e6896e72acbf0bdbdf45baeb1a">CIRCLEQ_LAST</a>(head)&nbsp;&nbsp;&nbsp;((head)-&gt;cqh_last)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head)&nbsp;&nbsp;&nbsp;((void *)(head))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a7d1437823e61cb4941eee6a05705f567">CIRCLEQ_NEXT</a>(elm, field)&nbsp;&nbsp;&nbsp;((elm)-&gt;field.cqe_next)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ae15b6cb06907211e1e5c621fdf0f4030">CIRCLEQ_PREV</a>(elm, field)&nbsp;&nbsp;&nbsp;((elm)-&gt;field.cqe_prev)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a5612649227a37a22f0b8b6420d5f2c92">CIRCLEQ_EMPTY</a>(head)&nbsp;&nbsp;&nbsp;(CIRCLEQ_FIRST(head) == CIRCLEQ_END(head))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ae97f4eb5724477c63699fafea4614b46">CIRCLEQ_FOREACH</a>(var, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a212ecf8e0e17e1c74603b719cab4a9bc">CIRCLEQ_FOREACH_REVERSE</a>(var, head, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a2c12c697981b6dbe21822ccdfd8decfd">CIRCLEQ_INIT</a>(head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a108b36ff00cbf59efbbf185baac770b4">CIRCLEQ_INSERT_AFTER</a>(head, listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#af5cda165eacfbfe150e86c12baa96089">CIRCLEQ_INSERT_BEFORE</a>(head, listelm, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a2826789c50d93610c6c1e2f76651259a">CIRCLEQ_INSERT_HEAD</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#aa2b767125267fa26ca10e21fa358008c">CIRCLEQ_INSERT_TAIL</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#ae1b066e803ee2f2a3ead6e4c632b7e49">CIRCLEQ_REMOVE</a>(head, elm, field)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bsdqueue_8h.html#a64b29c5e5070783142981b1e364a3c80">CIRCLEQ_REPLACE</a>(head, elm, elm2, field)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a628c2134ca520da4fdb6a53d27930977"></a><!-- doxytag: member="bsdqueue.h::_Q_INVALIDATE" ref="a628c2134ca520da4fdb6a53d27930977" args="(a)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _Q_INVALIDATE</td>
          <td>(</td>
          <td class="paramtype">a&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00088">88</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5612649227a37a22f0b8b6420d5f2c92"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_EMPTY" ref="a5612649227a37a22f0b8b6420d5f2c92" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_EMPTY</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(CIRCLEQ_FIRST(head) == CIRCLEQ_END(head))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00440">440</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad5e0f98453ebaf5e7435b3cd393b8e36"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_END" ref="ad5e0f98453ebaf5e7435b3cd393b8e36" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_END</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((void *)(head))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00437">437</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="abc5774651e7db6bcecf18d2b92259707"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_ENTRY" ref="abc5774651e7db6bcecf18d2b92259707" args="(type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_ENTRY</td>
          <td>(</td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>{                                                                \
        <span class="keyword">struct </span>type *cqe_next;          <span class="comment">/* next element */</span>              \
        <span class="keyword">struct </span>type *cqe_prev;          <span class="comment">/* previous element */</span>          \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00426">426</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab6bde704fab7206d75cf540048cea723"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_FIRST" ref="ab6bde704fab7206d75cf540048cea723" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_FIRST</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((head)-&gt;cqh_first)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00435">435</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae97f4eb5724477c63699fafea4614b46"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_FOREACH" ref="ae97f4eb5724477c63699fafea4614b46" args="(var, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_FOREACH</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#ab6bde704fab7206d75cf540048cea723">CIRCLEQ_FIRST</a>(head);                                \
            (var) != <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                                 \
            (var) = <a class="code" href="bsdqueue_8h.html#a7d1437823e61cb4941eee6a05705f567">CIRCLEQ_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00443">443</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a212ecf8e0e17e1c74603b719cab4a9bc"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_FOREACH_REVERSE" ref="a212ecf8e0e17e1c74603b719cab4a9bc" args="(var, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_FOREACH_REVERSE</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#a5e9a63e6896e72acbf0bdbdf45baeb1a">CIRCLEQ_LAST</a>(head);                                 \
            (var) != <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                                 \
            (var) = <a class="code" href="bsdqueue_8h.html#ae15b6cb06907211e1e5c621fdf0f4030">CIRCLEQ_PREV</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00448">448</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac564235b07f0c8c8db2a7957d37300ee"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_HEAD" ref="ac564235b07f0c8c8db2a7957d37300ee" args="(name, type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_HEAD</td>
          <td>(</td>
          <td class="paramtype">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>name {                                                           \
        <span class="keyword">struct </span>type *cqh_first;         <span class="comment">/* first element */</span>             \
        <span class="keyword">struct </span>type *cqh_last;          <span class="comment">/* last element */</span>              \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00417">417</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a66bcae453448e43a4233428494aca741"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_HEAD_INITIALIZER" ref="a66bcae453448e43a4233428494aca741" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_HEAD_INITIALIZER</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;{ CIRCLEQ_END(&amp;head), CIRCLEQ_END(&amp;head) }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00423">423</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2c12c697981b6dbe21822ccdfd8decfd"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_INIT" ref="a2c12c697981b6dbe21822ccdfd8decfd" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_INIT</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                            \
        (head)-&gt;cqh_first = <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                          \
        (head)-&gt;cqh_last = <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                           \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00456">456</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a108b36ff00cbf59efbbf185baac770b4"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_INSERT_AFTER" ref="a108b36ff00cbf59efbbf185baac770b4" args="(head, listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_INSERT_AFTER</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {            \
        (elm)-&gt;field.cqe_next = (listelm)-&gt;field.cqe_next;              \
        (elm)-&gt;field.cqe_prev = (listelm);                              \
        <span class="keywordflow">if</span> ((listelm)-&gt;field.cqe_next == <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))             \
                (head)-&gt;cqh_last = (elm);                               \
        <span class="keywordflow">else</span>                                                            \
                (listelm)-&gt;field.cqe_next-&gt;field.cqe_prev = (elm);      \
        (listelm)-&gt;field.cqe_next = (elm);                              \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00461">461</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af5cda165eacfbfe150e86c12baa96089"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_INSERT_BEFORE" ref="af5cda165eacfbfe150e86c12baa96089" args="(head, listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_INSERT_BEFORE</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {            \
        (elm)-&gt;field.cqe_next = (listelm);                              \
        (elm)-&gt;field.cqe_prev = (listelm)-&gt;field.cqe_prev;              \
        <span class="keywordflow">if</span> ((listelm)-&gt;field.cqe_prev == <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))             \
                (head)-&gt;cqh_first = (elm);                              \
        <span class="keywordflow">else</span>                                                            \
                (listelm)-&gt;field.cqe_prev-&gt;field.cqe_next = (elm);      \
        (listelm)-&gt;field.cqe_prev = (elm);                              \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00471">471</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2826789c50d93610c6c1e2f76651259a"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_INSERT_HEAD" ref="a2826789c50d93610c6c1e2f76651259a" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_INSERT_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.cqe_next = (head)-&gt;cqh_first;                      \
        (elm)-&gt;field.cqe_prev = <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                      \
        <span class="keywordflow">if</span> ((head)-&gt;cqh_last == <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                      \
                (head)-&gt;cqh_last = (elm);                               \
        <span class="keywordflow">else</span>                                                            \
                (head)-&gt;cqh_first-&gt;field.cqe_prev = (elm);              \
        (head)-&gt;cqh_first = (elm);                                      \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00481">481</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa2b767125267fa26ca10e21fa358008c"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_INSERT_TAIL" ref="aa2b767125267fa26ca10e21fa358008c" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_INSERT_TAIL</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.cqe_next = <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                      \
        (elm)-&gt;field.cqe_prev = (head)-&gt;cqh_last;                       \
        <span class="keywordflow">if</span> ((head)-&gt;cqh_first == <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                     \
                (head)-&gt;cqh_first = (elm);                              \
        <span class="keywordflow">else</span>                                                            \
                (head)-&gt;cqh_last-&gt;field.cqe_next = (elm);               \
        (head)-&gt;cqh_last = (elm);                                       \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00491">491</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5e9a63e6896e72acbf0bdbdf45baeb1a"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_LAST" ref="a5e9a63e6896e72acbf0bdbdf45baeb1a" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_LAST</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((head)-&gt;cqh_last)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00436">436</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d1437823e61cb4941eee6a05705f567"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_NEXT" ref="a7d1437823e61cb4941eee6a05705f567" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_NEXT</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((elm)-&gt;field.cqe_next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00438">438</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae15b6cb06907211e1e5c621fdf0f4030"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_PREV" ref="ae15b6cb06907211e1e5c621fdf0f4030" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_PREV</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((elm)-&gt;field.cqe_prev)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00439">439</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae1b066e803ee2f2a3ead6e4c632b7e49"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_REMOVE" ref="ae1b066e803ee2f2a3ead6e4c632b7e49" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_REMOVE</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                            \
        <span class="keywordflow">if</span> ((elm)-&gt;field.cqe_next == <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                 \
                (head)-&gt;cqh_last = (elm)-&gt;field.cqe_prev;               \
        <span class="keywordflow">else</span>                                                            \
                (elm)-&gt;field.cqe_next-&gt;field.cqe_prev =                 \
                    (elm)-&gt;field.cqe_prev;                              \
        <span class="keywordflow">if</span> ((elm)-&gt;field.cqe_prev == <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                 \
                (head)-&gt;cqh_first = (elm)-&gt;field.cqe_next;              \
        <span class="keywordflow">else</span>                                                            \
                (elm)-&gt;field.cqe_prev-&gt;field.cqe_next =                 \
                    (elm)-&gt;field.cqe_next;                              \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.cqe_prev);                           \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.cqe_next);                           \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00501">501</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a64b29c5e5070783142981b1e364a3c80"></a><!-- doxytag: member="bsdqueue.h::CIRCLEQ_REPLACE" ref="a64b29c5e5070783142981b1e364a3c80" args="(head, elm, elm2, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CIRCLEQ_REPLACE</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> (((elm2)-&gt;field.cqe_next = (elm)-&gt;field.cqe_next) ==         \
            <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                                          \
                (head).cqh_last = (elm2);                               \
        <span class="keywordflow">else</span>                                                            \
                (elm2)-&gt;field.cqe_next-&gt;field.cqe_prev = (elm2);        \
        <span class="keywordflow">if</span> (((elm2)-&gt;field.cqe_prev = (elm)-&gt;field.cqe_prev) ==         \
            <a class="code" href="bsdqueue_8h.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                                          \
                (head).cqh_first = (elm2);                              \
        <span class="keywordflow">else</span>                                                            \
                (elm2)-&gt;field.cqe_prev-&gt;field.cqe_next = (elm2);        \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.cqe_prev);                           \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.cqe_next);                           \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00516">516</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af59ab30a8f9a88af86422600c38125cf"></a><!-- doxytag: member="bsdqueue.h::LIST_EMPTY" ref="af59ab30a8f9a88af86422600c38125cf" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_EMPTY</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(LIST_FIRST(head) == LIST_END(head))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00190">190</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0687dc033d5b408a3883b5bf2bd9a935"></a><!-- doxytag: member="bsdqueue.h::LIST_END" ref="a0687dc033d5b408a3883b5bf2bd9a935" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_END</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;NULL</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00189">189</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aec2ccd0e8c215504508af23f04480be6"></a><!-- doxytag: member="bsdqueue.h::LIST_ENTRY" ref="aec2ccd0e8c215504508af23f04480be6" args="(type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_ENTRY</td>
          <td>(</td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>{                                                                \
        <span class="keyword">struct </span>type *le_next;   <span class="comment">/* next element */</span>                      \
        <span class="keyword">struct </span>type **le_prev;  <span class="comment">/* address of previous next element */</span>  \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00179">179</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8f223070a7fe7c5f24033e9d8fbeb610"></a><!-- doxytag: member="bsdqueue.h::LIST_FIRST" ref="a8f223070a7fe7c5f24033e9d8fbeb610" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_FIRST</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((head)-&gt;lh_first)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00188">188</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac1543beeb6d9224b60feb7a2703b2a87"></a><!-- doxytag: member="bsdqueue.h::LIST_FOREACH" ref="ac1543beeb6d9224b60feb7a2703b2a87" args="(var, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_FOREACH</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#a8f223070a7fe7c5f24033e9d8fbeb610">LIST_FIRST</a>(head);                                   \
            (var)!= <a class="code" href="bsdqueue_8h.html#a0687dc033d5b408a3883b5bf2bd9a935">LIST_END</a>(head);                                     \
            (var) = <a class="code" href="bsdqueue_8h.html#ad150fcc4dc3e0a56600101f1f1065ed5">LIST_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00193">193</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae72219f63b2fe9bce774a64e11404179"></a><!-- doxytag: member="bsdqueue.h::LIST_HEAD" ref="ae72219f63b2fe9bce774a64e11404179" args="(name, type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_HEAD</td>
          <td>(</td>
          <td class="paramtype">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>name {                                                           \
        <span class="keyword">struct </span>type *lh_first;  <span class="comment">/* first element */</span>                     \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00171">171</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5d7b8e9f9968d3152a8519cd9a45312e"></a><!-- doxytag: member="bsdqueue.h::LIST_HEAD_INITIALIZER" ref="a5d7b8e9f9968d3152a8519cd9a45312e" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_HEAD_INITIALIZER</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;{ NULL }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00176">176</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a304b5b7f7bdcba2793eaba9c890991c3"></a><!-- doxytag: member="bsdqueue.h::LIST_INIT" ref="a304b5b7f7bdcba2793eaba9c890991c3" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_INIT</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                            \
        <a class="code" href="bsdqueue_8h.html#a8f223070a7fe7c5f24033e9d8fbeb610">LIST_FIRST</a>(head) = <a class="code" href="bsdqueue_8h.html#a0687dc033d5b408a3883b5bf2bd9a935">LIST_END</a>(head);                              \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00201">201</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab62f53d4c94ab67bf7c4dc5c7670f64"></a><!-- doxytag: member="bsdqueue.h::LIST_INSERT_AFTER" ref="aab62f53d4c94ab67bf7c4dc5c7670f64" args="(listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_INSERT_AFTER</td>
          <td>(</td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> (((elm)-&gt;field.le_next = (listelm)-&gt;field.le_next) != NULL)  \
                (listelm)-&gt;field.le_next-&gt;field.le_prev =               \
                    &amp;(elm)-&gt;field.le_next;                              \
        (listelm)-&gt;field.le_next = (elm);                               \
        (elm)-&gt;field.le_prev = &amp;(listelm)-&gt;field.le_next;               \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00205">205</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a73d12127b84f84215eb03a4fb20feebb"></a><!-- doxytag: member="bsdqueue.h::LIST_INSERT_BEFORE" ref="a73d12127b84f84215eb03a4fb20feebb" args="(listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_INSERT_BEFORE</td>
          <td>(</td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.le_prev = (listelm)-&gt;field.le_prev;                \
        (elm)-&gt;field.le_next = (listelm);                               \
        *(listelm)-&gt;field.le_prev = (elm);                              \
        (listelm)-&gt;field.le_prev = &amp;(elm)-&gt;field.le_next;               \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00213">213</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad80d8d658fdb46a9f7cc81cb2ae54885"></a><!-- doxytag: member="bsdqueue.h::LIST_INSERT_HEAD" ref="ad80d8d658fdb46a9f7cc81cb2ae54885" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_INSERT_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                            \
        <span class="keywordflow">if</span> (((elm)-&gt;field.le_next = (head)-&gt;lh_first) != NULL)          \
                (head)-&gt;lh_first-&gt;field.le_prev = &amp;(elm)-&gt;field.le_next;\
        (head)-&gt;lh_first = (elm);                                       \
        (elm)-&gt;field.le_prev = &amp;(head)-&gt;lh_first;                       \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00220">220</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad150fcc4dc3e0a56600101f1f1065ed5"></a><!-- doxytag: member="bsdqueue.h::LIST_NEXT" ref="ad150fcc4dc3e0a56600101f1f1065ed5" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_NEXT</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((elm)-&gt;field.le_next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00191">191</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4f60a3fedbebc5ef6edded99062dd98d"></a><!-- doxytag: member="bsdqueue.h::LIST_REMOVE" ref="a4f60a3fedbebc5ef6edded99062dd98d" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_REMOVE</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                    \
        <span class="keywordflow">if</span> ((elm)-&gt;field.le_next != NULL)                               \
                (elm)-&gt;field.le_next-&gt;field.le_prev =                   \
                    (elm)-&gt;field.le_prev;                               \
        *(elm)-&gt;field.le_prev = (elm)-&gt;field.le_next;                   \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.le_prev);                            \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.le_next);                            \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00227">227</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af76883409ca9ebd9845a64dc61702250"></a><!-- doxytag: member="bsdqueue.h::LIST_REPLACE" ref="af76883409ca9ebd9845a64dc61702250" args="(elm, elm2, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LIST_REPLACE</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                            \
        <span class="keywordflow">if</span> (((elm2)-&gt;field.le_next = (elm)-&gt;field.le_next) != NULL)     \
                (elm2)-&gt;field.le_next-&gt;field.le_prev =                  \
                    &amp;(elm2)-&gt;field.le_next;                             \
        (elm2)-&gt;field.le_prev = (elm)-&gt;field.le_prev;                   \
        *(elm2)-&gt;field.le_prev = (elm2);                                \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.le_prev);                            \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.le_next);                            \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00236">236</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac5ae79041999d0acfad3bacf72979b88"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_EMPTY" ref="ac5ae79041999d0acfad3bacf72979b88" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_EMPTY</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(SIMPLEQ_FIRST(head) == SIMPLEQ_END(head))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00268">268</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="afb7f731c6fba7aac97b2b446ecd3a2bd"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_END" ref="afb7f731c6fba7aac97b2b446ecd3a2bd" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_END</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;NULL</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00267">267</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af416c4e9e87270cb7b90152a27b8daa4"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_ENTRY" ref="af416c4e9e87270cb7b90152a27b8daa4" args="(type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_ENTRY</td>
          <td>(</td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>{                                                                \
        <span class="keyword">struct </span>type *sqe_next;  <span class="comment">/* next element */</span>                      \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00258">258</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8aca010fb5702082a231bb2535e5a945"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_FIRST" ref="a8aca010fb5702082a231bb2535e5a945" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_FIRST</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((head)-&gt;sqh_first)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00266">266</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3efcdcb8bdde0bc0d013314ed12426b5"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_FOREACH" ref="a3efcdcb8bdde0bc0d013314ed12426b5" args="(var, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_FOREACH</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#a8aca010fb5702082a231bb2535e5a945">SIMPLEQ_FIRST</a>(head);                                \
            (var) != <a class="code" href="bsdqueue_8h.html#afb7f731c6fba7aac97b2b446ecd3a2bd">SIMPLEQ_END</a>(head);                                 \
            (var) = <a class="code" href="bsdqueue_8h.html#a15537d2c45c0d176a75601d484b75432">SIMPLEQ_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00271">271</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="adf0c29c386006b1f32435abe538d4398"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_HEAD" ref="adf0c29c386006b1f32435abe538d4398" args="(name, type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_HEAD</td>
          <td>(</td>
          <td class="paramtype">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>name {                                                           \
        <span class="keyword">struct </span>type *sqh_first; <span class="comment">/* first element */</span>                     \
        <span class="keyword">struct </span>type **sqh_last; <span class="comment">/* addr of last next element */</span>         \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00249">249</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a89444236a1714f59b8e84608f18f6422"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_HEAD_INITIALIZER" ref="a89444236a1714f59b8e84608f18f6422" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_HEAD_INITIALIZER</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;{ NULL, &amp;(head).sqh_first }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00255">255</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a36c4353aafcd6f7d0dbf74473d761b08"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_INIT" ref="a36c4353aafcd6f7d0dbf74473d761b08" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_INIT</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                            \
        (head)-&gt;sqh_first = NULL;                                       \
        (head)-&gt;sqh_last = &amp;(head)-&gt;sqh_first;                          \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00279">279</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a601bd9b7c5fffd4bb8c2d71969b53be2"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_INSERT_AFTER" ref="a601bd9b7c5fffd4bb8c2d71969b53be2" args="(head, listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_INSERT_AFTER</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {            \
        <span class="keywordflow">if</span> (((elm)-&gt;field.sqe_next = (listelm)-&gt;field.sqe_next) == NULL)\
                (head)-&gt;sqh_last = &amp;(elm)-&gt;field.sqe_next;              \
        (listelm)-&gt;field.sqe_next = (elm);                              \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00296">296</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8ea372a36daedcf8f29d805bbb49bb3f"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_INSERT_HEAD" ref="a8ea372a36daedcf8f29d805bbb49bb3f" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_INSERT_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> (((elm)-&gt;field.sqe_next = (head)-&gt;sqh_first) == NULL)        \
                (head)-&gt;sqh_last = &amp;(elm)-&gt;field.sqe_next;              \
        (head)-&gt;sqh_first = (elm);                                      \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00284">284</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f31b4857ff4ccb0f970ca9d19e133b4"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_INSERT_TAIL" ref="a3f31b4857ff4ccb0f970ca9d19e133b4" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_INSERT_TAIL</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.sqe_next = NULL;                                   \
        *(head)-&gt;sqh_last = (elm);                                      \
        (head)-&gt;sqh_last = &amp;(elm)-&gt;field.sqe_next;                      \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00290">290</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a15537d2c45c0d176a75601d484b75432"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_NEXT" ref="a15537d2c45c0d176a75601d484b75432" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_NEXT</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((elm)-&gt;field.sqe_next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00269">269</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a595ba5db373de6d9e9daba311b1e458d"></a><!-- doxytag: member="bsdqueue.h::SIMPLEQ_REMOVE_HEAD" ref="a595ba5db373de6d9e9daba311b1e458d" args="(head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIMPLEQ_REMOVE_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> (((head)-&gt;sqh_first = (head)-&gt;sqh_first-&gt;field.sqe_next) == NULL) \
                (head)-&gt;sqh_last = &amp;(head)-&gt;sqh_first;                  \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00302">302</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a59bcc4e6f4bf63b897bdc0644566c583"></a><!-- doxytag: member="bsdqueue.h::SLIST_EMPTY" ref="a59bcc4e6f4bf63b897bdc0644566c583" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_EMPTY</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(SLIST_FIRST(head) == SLIST_END(head))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00116">116</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a33283f951b262b1ac57d20c0e4e0862c"></a><!-- doxytag: member="bsdqueue.h::SLIST_END" ref="a33283f951b262b1ac57d20c0e4e0862c" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_END</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;NULL</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00115">115</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5dd8bb1cef024ac008680e7e3b660332"></a><!-- doxytag: member="bsdqueue.h::SLIST_ENTRY" ref="a5dd8bb1cef024ac008680e7e3b660332" args="(type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_ENTRY</td>
          <td>(</td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>{                                                                \
        <span class="keyword">struct </span>type *sle_next;  <span class="comment">/* next element */</span>                      \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00106">106</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a91bac7d0d32e3ec56bc579ace45ed8cd"></a><!-- doxytag: member="bsdqueue.h::SLIST_FIRST" ref="a91bac7d0d32e3ec56bc579ace45ed8cd" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_FIRST</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((head)-&gt;slh_first)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00114">114</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a05db87878125c27e3060dd641aa3b0f4"></a><!-- doxytag: member="bsdqueue.h::SLIST_FOREACH" ref="a05db87878125c27e3060dd641aa3b0f4" args="(var, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_FOREACH</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>(head);                                  \
            (var) != <a class="code" href="bsdqueue_8h.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head);                                   \
            (var) = <a class="code" href="bsdqueue_8h.html#a7cd1d5ae37224ecee1f0b831eb73e7f4">SLIST_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00119">119</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7017f84f3ba90cd69441f09b2825f7b9"></a><!-- doxytag: member="bsdqueue.h::SLIST_FOREACH_PREVPTR" ref="a7017f84f3ba90cd69441f09b2825f7b9" args="(var, varp, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_FOREACH_PREVPTR</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">varp, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> ((varp) = &amp;<a class="code" href="bsdqueue_8h.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>((head));                             \
            ((var) = *(varp)) != <a class="code" href="bsdqueue_8h.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head);                       \
            (varp) = &amp;<a class="code" href="bsdqueue_8h.html#a7cd1d5ae37224ecee1f0b831eb73e7f4">SLIST_NEXT</a>((var), field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00124">124</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8224e40ea764bc857bab6f6d9c357dd9"></a><!-- doxytag: member="bsdqueue.h::SLIST_HEAD" ref="a8224e40ea764bc857bab6f6d9c357dd9" args="(name, type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_HEAD</td>
          <td>(</td>
          <td class="paramtype">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>name {                                                           \
        <span class="keyword">struct </span>type *slh_first; <span class="comment">/* first element */</span>                     \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00094">94</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9ae2aca3d46e62be4cb1408bd946ef15"></a><!-- doxytag: member="bsdqueue.h::SLIST_HEAD_INITIALIZER" ref="a9ae2aca3d46e62be4cb1408bd946ef15" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_HEAD_INITIALIZER</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;{ NULL }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00099">99</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a361ac8e88cf066cc4d46d28b54fd3031"></a><!-- doxytag: member="bsdqueue.h::SLIST_INIT" ref="a361ac8e88cf066cc4d46d28b54fd3031" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_INIT</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">{                                               \
        <a class="code" href="bsdqueue_8h.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>(head) = <a class="code" href="bsdqueue_8h.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head);                            \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00132">132</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af1d994d9652ccbc41a60b747dfc15ea5"></a><!-- doxytag: member="bsdqueue.h::SLIST_INSERT_AFTER" ref="af1d994d9652ccbc41a60b747dfc15ea5" args="(slistelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_INSERT_AFTER</td>
          <td>(</td>
          <td class="paramtype">slistelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.sle_next = (slistelm)-&gt;field.sle_next;             \
        (slistelm)-&gt;field.sle_next = (elm);                             \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00136">136</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a48df7439e09a419afabdd1f2f8551e73"></a><!-- doxytag: member="bsdqueue.h::SLIST_INSERT_HEAD" ref="a48df7439e09a419afabdd1f2f8551e73" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_INSERT_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.sle_next = (head)-&gt;slh_first;                      \
        (head)-&gt;slh_first = (elm);                                      \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00141">141</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7cd1d5ae37224ecee1f0b831eb73e7f4"></a><!-- doxytag: member="bsdqueue.h::SLIST_NEXT" ref="a7cd1d5ae37224ecee1f0b831eb73e7f4" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_NEXT</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((elm)-&gt;field.sle_next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00117">117</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9c7950d61593ab9198524fca81b17ab0"></a><!-- doxytag: member="bsdqueue.h::SLIST_REMOVE" ref="a9c7950d61593ab9198524fca81b17ab0" args="(head, elm, type, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_REMOVE</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">type, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> ((head)-&gt;slh_first == (elm)) {                               \
                <a class="code" href="bsdqueue_8h.html#aeb10c664372b3b680455274170f4c897">SLIST_REMOVE_HEAD</a>((head), field);                       \
        } <span class="keywordflow">else</span> {                                                        \
                <span class="keyword">struct </span>type *curelm = (head)-&gt;slh_first;                \
                                                                        \
                <span class="keywordflow">while</span> (curelm-&gt;field.sle_next != (elm))                 \
                        curelm = curelm-&gt;field.sle_next;                \
                curelm-&gt;field.sle_next =                                \
                    curelm-&gt;field.sle_next-&gt;field.sle_next;             \
                <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.sle_next);                   \
        }                                                               \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00154">154</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeb10c664372b3b680455274170f4c897"></a><!-- doxytag: member="bsdqueue.h::SLIST_REMOVE_HEAD" ref="aeb10c664372b3b680455274170f4c897" args="(head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_REMOVE_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                            \
        (head)-&gt;slh_first = (head)-&gt;slh_first-&gt;field.sle_next;          \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00150">150</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeb129fc9179edb5e794200d76f144630"></a><!-- doxytag: member="bsdqueue.h::SLIST_REMOVE_NEXT" ref="aeb129fc9179edb5e794200d76f144630" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SLIST_REMOVE_NEXT</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.sle_next = (elm)-&gt;field.sle_next-&gt;field.sle_next;  \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00146">146</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac3c9da7ac712eacbbad5cc54d7a3477e"></a><!-- doxytag: member="bsdqueue.h::TAILQ_EMPTY" ref="ac3c9da7ac712eacbbad5cc54d7a3477e" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_EMPTY</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(TAILQ_FIRST(head) == TAILQ_END(head))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00336">336</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4322b8461a6ab7632435ff4f57bb3a2e"></a><!-- doxytag: member="bsdqueue.h::TAILQ_END" ref="a4322b8461a6ab7632435ff4f57bb3a2e" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_END</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;NULL</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00329">329</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af71bfd90dc9d00fb03545fe66c67d673"></a><!-- doxytag: member="bsdqueue.h::TAILQ_ENTRY" ref="af71bfd90dc9d00fb03545fe66c67d673" args="(type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_ENTRY</td>
          <td>(</td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>{                                                                \
        <span class="keyword">struct </span>type *tqe_next;  <span class="comment">/* next element */</span>                      \
        <span class="keyword">struct </span>type **tqe_prev; <span class="comment">/* address of previous next element */</span>  \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00319">319</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d6894360bd1c41e0e6f6d84998c1362"></a><!-- doxytag: member="bsdqueue.h::TAILQ_FIRST" ref="a7d6894360bd1c41e0e6f6d84998c1362" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_FIRST</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((head)-&gt;tqh_first)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00328">328</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a16e5fc168e7f3494d4b1df54447d871e"></a><!-- doxytag: member="bsdqueue.h::TAILQ_FOREACH" ref="a16e5fc168e7f3494d4b1df54447d871e" args="(var, head, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_FOREACH</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#a7d6894360bd1c41e0e6f6d84998c1362">TAILQ_FIRST</a>(head);                                  \
            (var) != <a class="code" href="bsdqueue_8h.html#a4322b8461a6ab7632435ff4f57bb3a2e">TAILQ_END</a>(head);                                   \
            (var) = <a class="code" href="bsdqueue_8h.html#abd57fe9bdea6007a602f8c7d61bd5265">TAILQ_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00339">339</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa7f65c910cd4616fcfa9723c5763b1a5"></a><!-- doxytag: member="bsdqueue.h::TAILQ_FOREACH_REVERSE" ref="aa7f65c910cd4616fcfa9723c5763b1a5" args="(var, head, headname, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_FOREACH_REVERSE</td>
          <td>(</td>
          <td class="paramtype">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">headname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span>((var) = <a class="code" href="bsdqueue_8h.html#ac9154a9aebb3c15a3f2356349a1cc14f">TAILQ_LAST</a>(head, headname);                         \
            (var) != <a class="code" href="bsdqueue_8h.html#a4322b8461a6ab7632435ff4f57bb3a2e">TAILQ_END</a>(head);                                   \
            (var) = <a class="code" href="bsdqueue_8h.html#a524f93a0c21c390683fab4c27e840a10">TAILQ_PREV</a>(var, headname, field))
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00344">344</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4abce769a262e090c1f601605b9d6c76"></a><!-- doxytag: member="bsdqueue.h::TAILQ_HEAD" ref="a4abce769a262e090c1f601605b9d6c76" args="(name, type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_HEAD</td>
          <td>(</td>
          <td class="paramtype">name, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">type&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">struct </span>name {                                                           \
        <span class="keyword">struct </span>type *tqh_first; <span class="comment">/* first element */</span>                     \
        <span class="keyword">struct </span>type **tqh_last; <span class="comment">/* addr of last next element */</span>         \
}
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00310">310</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac269df7d4126ed9885156cbad2cbf8af"></a><!-- doxytag: member="bsdqueue.h::TAILQ_HEAD_INITIALIZER" ref="ac269df7d4126ed9885156cbad2cbf8af" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_HEAD_INITIALIZER</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;{ NULL, &amp;(head).tqh_first }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00316">316</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a449d224023780e46253b83b61e0a50a9"></a><!-- doxytag: member="bsdqueue.h::TAILQ_INIT" ref="a449d224023780e46253b83b61e0a50a9" args="(head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_INIT</td>
          <td>(</td>
          <td class="paramtype">head&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                                            \
        (head)-&gt;tqh_first = NULL;                                       \
        (head)-&gt;tqh_last = &amp;(head)-&gt;tqh_first;                          \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00352">352</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af972e33f5eacef659ee0bf0a13ca518c"></a><!-- doxytag: member="bsdqueue.h::TAILQ_INSERT_AFTER" ref="af972e33f5eacef659ee0bf0a13ca518c" args="(head, listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_INSERT_AFTER</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {            \
        <span class="keywordflow">if</span> (((elm)-&gt;field.tqe_next = (listelm)-&gt;field.tqe_next) != NULL)\
                (elm)-&gt;field.tqe_next-&gt;field.tqe_prev =                 \
                    &amp;(elm)-&gt;field.tqe_next;                             \
        <span class="keywordflow">else</span>                                                            \
                (head)-&gt;tqh_last = &amp;(elm)-&gt;field.tqe_next;              \
        (listelm)-&gt;field.tqe_next = (elm);                              \
        (elm)-&gt;field.tqe_prev = &amp;(listelm)-&gt;field.tqe_next;             \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00374">374</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6a41e17dbc7d8df1f8b353a036754ff"></a><!-- doxytag: member="bsdqueue.h::TAILQ_INSERT_BEFORE" ref="ac6a41e17dbc7d8df1f8b353a036754ff" args="(listelm, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_INSERT_BEFORE</td>
          <td>(</td>
          <td class="paramtype">listelm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.tqe_prev = (listelm)-&gt;field.tqe_prev;              \
        (elm)-&gt;field.tqe_next = (listelm);                              \
        *(listelm)-&gt;field.tqe_prev = (elm);                             \
        (listelm)-&gt;field.tqe_prev = &amp;(elm)-&gt;field.tqe_next;             \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00384">384</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af0f99e8f322ea4eef2d9deaa505239a6"></a><!-- doxytag: member="bsdqueue.h::TAILQ_INSERT_HEAD" ref="af0f99e8f322ea4eef2d9deaa505239a6" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_INSERT_HEAD</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> (((elm)-&gt;field.tqe_next = (head)-&gt;tqh_first) != NULL)        \
                (head)-&gt;tqh_first-&gt;field.tqe_prev =                     \
                    &amp;(elm)-&gt;field.tqe_next;                             \
        <span class="keywordflow">else</span>                                                            \
                (head)-&gt;tqh_last = &amp;(elm)-&gt;field.tqe_next;              \
        (head)-&gt;tqh_first = (elm);                                      \
        (elm)-&gt;field.tqe_prev = &amp;(head)-&gt;tqh_first;                     \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00357">357</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a512bee16b46f601078c96c776d2648c3"></a><!-- doxytag: member="bsdqueue.h::TAILQ_INSERT_TAIL" ref="a512bee16b46f601078c96c776d2648c3" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_INSERT_TAIL</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        (elm)-&gt;field.tqe_next = NULL;                                   \
        (elm)-&gt;field.tqe_prev = (head)-&gt;tqh_last;                       \
        *(head)-&gt;tqh_last = (elm);                                      \
        (head)-&gt;tqh_last = &amp;(elm)-&gt;field.tqe_next;                      \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00367">367</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac9154a9aebb3c15a3f2356349a1cc14f"></a><!-- doxytag: member="bsdqueue.h::TAILQ_LAST" ref="ac9154a9aebb3c15a3f2356349a1cc14f" args="(head, headname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_LAST</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">headname&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(*(((struct headname *)((head)-&gt;tqh_last))-&gt;tqh_last))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00331">331</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="abd57fe9bdea6007a602f8c7d61bd5265"></a><!-- doxytag: member="bsdqueue.h::TAILQ_NEXT" ref="abd57fe9bdea6007a602f8c7d61bd5265" args="(elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_NEXT</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;((elm)-&gt;field.tqe_next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00330">330</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a524f93a0c21c390683fab4c27e840a10"></a><!-- doxytag: member="bsdqueue.h::TAILQ_PREV" ref="a524f93a0c21c390683fab4c27e840a10" args="(elm, headname, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_PREV</td>
          <td>(</td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">headname, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;(*(((struct headname *)((elm)-&gt;field.tqe_prev))-&gt;tqh_last))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00334">334</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaae87ca18c28066e1a96221e762d1209"></a><!-- doxytag: member="bsdqueue.h::TAILQ_REMOVE" ref="aaae87ca18c28066e1a96221e762d1209" args="(head, elm, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_REMOVE</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                            \
        <span class="keywordflow">if</span> (((elm)-&gt;field.tqe_next) != NULL)                            \
                (elm)-&gt;field.tqe_next-&gt;field.tqe_prev =                 \
                    (elm)-&gt;field.tqe_prev;                              \
        <span class="keywordflow">else</span>                                                            \
                (head)-&gt;tqh_last = (elm)-&gt;field.tqe_prev;               \
        *(elm)-&gt;field.tqe_prev = (elm)-&gt;field.tqe_next;                 \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.tqe_prev);                           \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.tqe_next);                           \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00391">391</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6c5948aec8d53d42983d92a23b517579"></a><!-- doxytag: member="bsdqueue.h::TAILQ_REPLACE" ref="a6c5948aec8d53d42983d92a23b517579" args="(head, elm, elm2, field)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TAILQ_REPLACE</td>
          <td>(</td>
          <td class="paramtype">head, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">elm2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">field&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> {                    \
        <span class="keywordflow">if</span> (((elm2)-&gt;field.tqe_next = (elm)-&gt;field.tqe_next) != NULL)   \
                (elm2)-&gt;field.tqe_next-&gt;field.tqe_prev =                \
                    &amp;(elm2)-&gt;field.tqe_next;                            \
        <span class="keywordflow">else</span>                                                            \
                (head)-&gt;tqh_last = &amp;(elm2)-&gt;field.tqe_next;             \
        (elm2)-&gt;field.tqe_prev = (elm)-&gt;field.tqe_prev;                 \
        *(elm2)-&gt;field.tqe_prev = (elm2);                               \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.tqe_prev);                           \
        <a class="code" href="bsdqueue_8h.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.tqe_next);                           \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="bsdqueue_8h_source.html#l00402">402</a> of file <a class="el" href="bsdqueue_8h_source.html">bsdqueue.h</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Mon Aug 30 22:58:55 2010 for Vidalia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>