Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > c67c6057ffd14254a26624517a2352e6 > files > 193

i3-doc-3.e-3.bf1.fc14.noarch.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>i3: include/queue.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.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</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>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>include/queue.h File Reference</h1><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
</div>

<p><a href="a00047_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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="a00047.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="queue.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="a00047_source.html#l00088">88</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5612649227a37a22f0b8b6420d5f2c92"></a><!-- doxytag: member="queue.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="a00047_source.html#l00436">436</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00060_source.html#l00038">client_remove_from_container()</a>.</p>

</div>
</div>
<a class="anchor" id="ad5e0f98453ebaf5e7435b3cd393b8e36"></a><!-- doxytag: member="queue.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="a00047_source.html#l00433">433</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00287">move_current_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="abc5774651e7db6bcecf18d2b92259707"></a><!-- doxytag: member="queue.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="a00047_source.html#l00422">422</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab6bde704fab7206d75cf540048cea723"></a><!-- doxytag: member="queue.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="a00047_source.html#l00431">431</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00038">focus_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="ae97f4eb5724477c63699fafea4614b46"></a><!-- doxytag: member="queue.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="a00047.html#ab6bde704fab7206d75cf540048cea723">CIRCLEQ_FIRST</a>(head);                                \
            (var) != <a class="code" href="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                                 \
            (var) = <a class="code" href="a00047.html#a7d1437823e61cb4941eee6a05705f567">CIRCLEQ_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00439">439</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00060">button_press_stackwin()</a>, <a class="el" href="a00063_source.html#l00023">container_mode()</a>, <a class="el" href="a00076_source.html#l00299">dump_table()</a>, <a class="el" href="a00069_source.html#l00652">ignore_enter_notify_forall()</a>, <a class="el" href="a00069_source.html#l00348">render_container()</a>, <a class="el" href="a00077_source.html#l00347">switch_layout_mode()</a>, <a class="el" href="a00078_source.html#l00342">workspace_map_clients()</a>, and <a class="el" href="a00078_source.html#l00375">workspace_unmap_clients()</a>.</p>

</div>
</div>
<a class="anchor" id="a212ecf8e0e17e1c74603b719cab4a9bc"></a><!-- doxytag: member="queue.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="a00047.html#a5e9a63e6896e72acbf0bdbdf45baeb1a">CIRCLEQ_LAST</a>(head);                                 \
            (var) != <a class="code" href="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                                 \
            (var) = <a class="code" href="a00047.html#ae15b6cb06907211e1e5c621fdf0f4030">CIRCLEQ_PREV</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00444">444</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac564235b07f0c8c8db2a7957d37300ee"></a><!-- doxytag: member="queue.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="a00047_source.html#l00413">413</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a66bcae453448e43a4233428494aca741"></a><!-- doxytag: member="queue.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="a00047_source.html#l00419">419</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2c12c697981b6dbe21822ccdfd8decfd"></a><!-- doxytag: member="queue.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="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                          \
        (head)-&gt;cqh_last = <a class="code" href="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                           \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00452">452</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00076_source.html#l00054">new_container()</a>.</p>

</div>
</div>
<a class="anchor" id="a108b36ff00cbf59efbbf185baac770b4"></a><!-- doxytag: member="queue.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="a00047.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="a00047_source.html#l00457">457</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00312">move_current_window()</a>, <a class="el" href="a00061_source.html#l00287">move_current_window_in_container()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, and <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>.</p>

</div>
</div>
<a class="anchor" id="af5cda165eacfbfe150e86c12baa96089"></a><!-- doxytag: member="queue.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="a00047.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="a00047_source.html#l00467">467</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00287">move_current_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="a2826789c50d93610c6c1e2f76651259a"></a><!-- doxytag: member="queue.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="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head);                      \
        <span class="keywordflow">if</span> ((head)-&gt;cqh_last == <a class="code" href="a00047.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="a00047_source.html#l00477">477</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa2b767125267fa26ca10e21fa358008c"></a><!-- doxytag: member="queue.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="a00047.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="a00047.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="a00047_source.html#l00487">487</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00312">move_current_window()</a>, <a class="el" href="a00061_source.html#l00638">move_current_window_to_workspace()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, and <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>.</p>

</div>
</div>
<a class="anchor" id="a5e9a63e6896e72acbf0bdbdf45baeb1a"></a><!-- doxytag: member="queue.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="a00047_source.html#l00432">432</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00038">focus_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="a7d1437823e61cb4941eee6a05705f567"></a><!-- doxytag: member="queue.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="a00047_source.html#l00434">434</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00287">move_current_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="ae15b6cb06907211e1e5c621fdf0f4030"></a><!-- doxytag: member="queue.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="a00047_source.html#l00435">435</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00287">move_current_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="ae1b066e803ee2f2a3ead6e4c632b7e49"></a><!-- doxytag: member="queue.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="a00047.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="a00047.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="a00047.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.cqe_prev);                           \
        <a class="code" href="a00047.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="a00047_source.html#l00497">497</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00060_source.html#l00038">client_remove_from_container()</a>, and <a class="el" href="a00061_source.html#l00287">move_current_window_in_container()</a>.</p>

</div>
</div>
<a class="anchor" id="a64b29c5e5070783142981b1e364a3c80"></a><!-- doxytag: member="queue.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="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                                          \
                (head)-&gt;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="a00047.html#ad5e0f98453ebaf5e7435b3cd393b8e36">CIRCLEQ_END</a>(head))                                          \
                (head)-&gt;cqh_first = (elm2);                             \
        <span class="keywordflow">else</span>                                                            \
                (elm2)-&gt;field.cqe_prev-&gt;field.cqe_next = (elm2);        \
        <a class="code" href="a00047.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.cqe_prev);                           \
        <a class="code" href="a00047.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="a00047_source.html#l00512">512</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af59ab30a8f9a88af86422600c38125cf"></a><!-- doxytag: member="queue.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="a00047_source.html#l00186">186</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0687dc033d5b408a3883b5bf2bd9a935"></a><!-- doxytag: member="queue.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="a00047_source.html#l00185">185</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aec2ccd0e8c215504508af23f04480be6"></a><!-- doxytag: member="queue.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="a00047_source.html#l00175">175</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8f223070a7fe7c5f24033e9d8fbeb610"></a><!-- doxytag: member="queue.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="a00047_source.html#l00184">184</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac1543beeb6d9224b60feb7a2703b2a87"></a><!-- doxytag: member="queue.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="a00047.html#a8f223070a7fe7c5f24033e9d8fbeb610">LIST_FIRST</a>(head);                                   \
            (var)!= <a class="code" href="a00047.html#a0687dc033d5b408a3883b5bf2bd9a935">LIST_END</a>(head);                                     \
            (var) = <a class="code" href="a00047.html#ad150fcc4dc3e0a56600101f1f1065ed5">LIST_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00189">189</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae72219f63b2fe9bce774a64e11404179"></a><!-- doxytag: member="queue.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="a00047_source.html#l00167">167</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5d7b8e9f9968d3152a8519cd9a45312e"></a><!-- doxytag: member="queue.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="a00047_source.html#l00172">172</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a304b5b7f7bdcba2793eaba9c890991c3"></a><!-- doxytag: member="queue.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="a00047.html#a8f223070a7fe7c5f24033e9d8fbeb610">LIST_FIRST</a>(head) = <a class="code" href="a00047.html#a0687dc033d5b408a3883b5bf2bd9a935">LIST_END</a>(head);                              \
} <span class="keywordflow">while</span> (0)
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00197">197</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab62f53d4c94ab67bf7c4dc5c7670f64"></a><!-- doxytag: member="queue.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="a00047_source.html#l00201">201</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a73d12127b84f84215eb03a4fb20feebb"></a><!-- doxytag: member="queue.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="a00047_source.html#l00209">209</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad80d8d658fdb46a9f7cc81cb2ae54885"></a><!-- doxytag: member="queue.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="a00047_source.html#l00216">216</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad150fcc4dc3e0a56600101f1f1065ed5"></a><!-- doxytag: member="queue.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="a00047_source.html#l00187">187</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4f60a3fedbebc5ef6edded99062dd98d"></a><!-- doxytag: member="queue.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="a00047.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.le_prev);                            \
        <a class="code" href="a00047.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="a00047_source.html#l00223">223</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af76883409ca9ebd9845a64dc61702250"></a><!-- doxytag: member="queue.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="a00047.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.le_prev);                            \
        <a class="code" href="a00047.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="a00047_source.html#l00232">232</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac5ae79041999d0acfad3bacf72979b88"></a><!-- doxytag: member="queue.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="a00047_source.html#l00264">264</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="afb7f731c6fba7aac97b2b446ecd3a2bd"></a><!-- doxytag: member="queue.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="a00047_source.html#l00263">263</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af416c4e9e87270cb7b90152a27b8daa4"></a><!-- doxytag: member="queue.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="a00047_source.html#l00254">254</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8aca010fb5702082a231bb2535e5a945"></a><!-- doxytag: member="queue.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="a00047_source.html#l00262">262</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3efcdcb8bdde0bc0d013314ed12426b5"></a><!-- doxytag: member="queue.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="a00047.html#a8aca010fb5702082a231bb2535e5a945">SIMPLEQ_FIRST</a>(head);                                \
            (var) != <a class="code" href="a00047.html#afb7f731c6fba7aac97b2b446ecd3a2bd">SIMPLEQ_END</a>(head);                                 \
            (var) = <a class="code" href="a00047.html#a15537d2c45c0d176a75601d484b75432">SIMPLEQ_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00267">267</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="adf0c29c386006b1f32435abe538d4398"></a><!-- doxytag: member="queue.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="a00047_source.html#l00245">245</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a89444236a1714f59b8e84608f18f6422"></a><!-- doxytag: member="queue.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="a00047_source.html#l00251">251</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a36c4353aafcd6f7d0dbf74473d761b08"></a><!-- doxytag: member="queue.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="a00047_source.html#l00275">275</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a601bd9b7c5fffd4bb8c2d71969b53be2"></a><!-- doxytag: member="queue.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="a00047_source.html#l00292">292</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8ea372a36daedcf8f29d805bbb49bb3f"></a><!-- doxytag: member="queue.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="a00047_source.html#l00280">280</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f31b4857ff4ccb0f970ca9d19e133b4"></a><!-- doxytag: member="queue.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="a00047_source.html#l00286">286</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a15537d2c45c0d176a75601d484b75432"></a><!-- doxytag: member="queue.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="a00047_source.html#l00265">265</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a595ba5db373de6d9e9daba311b1e458d"></a><!-- doxytag: member="queue.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="a00047_source.html#l00298">298</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a59bcc4e6f4bf63b897bdc0644566c583"></a><!-- doxytag: member="queue.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="a00047_source.html#l00112">112</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00056_source.html#l00129">parse_file()</a>, and <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>.</p>

</div>
</div>
<a class="anchor" id="a33283f951b262b1ac57d20c0e4e0862c"></a><!-- doxytag: member="queue.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="a00047_source.html#l00111">111</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00062">event_is_ignored()</a>, <a class="el" href="a00068_source.html#l00178">IPC_HANDLER()</a>, <a class="el" href="a00061_source.html#l00566">move_floating_window_to_workspace()</a>, <a class="el" href="a00061_source.html#l00950">parse_command()</a>, <a class="el" href="a00061_source.html#l00780">travel_focus_stack()</a>, and <a class="el" href="a00078_source.html#l00113">workspace_show()</a>.</p>

</div>
</div>
<a class="anchor" id="a5dd8bb1cef024ac008680e7e3b660332"></a><!-- doxytag: member="queue.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="a00047_source.html#l00102">102</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a91bac7d0d32e3ec56bc579ace45ed8cd"></a><!-- doxytag: member="queue.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="a00047_source.html#l00110">110</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00133">check_crossing_screen_boundary()</a>, <a class="el" href="a00069_source.html#l00098">decorate_window()</a>, <a class="el" href="a00067_source.html#l00062">event_is_ignored()</a>, <a class="el" href="a00067_source.html#l00994">handle_hints()</a>, <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, <a class="el" href="a00068_source.html#l00178">IPC_HANDLER()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00061_source.html#l00950">parse_command()</a>, <a class="el" href="a00056_source.html#l00129">parse_file()</a>, <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>, <a class="el" href="a00077_source.html#l00232">set_focus()</a>, <a class="el" href="a00061_source.html#l00780">travel_focus_stack()</a>, and <a class="el" href="a00078_source.html#l00113">workspace_show()</a>.</p>

</div>
</div>
<a class="anchor" id="a05db87878125c27e3060dd641aa3b0f4"></a><!-- doxytag: member="queue.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="a00047.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>(head);                                  \
            (var) != <a class="code" href="a00047.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head);                                   \
            (var) = <a class="code" href="a00047.html#a7cd1d5ae37224ecee1f0b831eb73e7f4">SLIST_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00115">115</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00060_source.html#l00428">client_mark()</a>, <a class="el" href="a00067_source.html#l00062">event_is_ignored()</a>, <a class="el" href="a00066_source.html#l00540">floating_toggle_hide()</a>, <a class="el" href="a00077_source.html#l00217">get_last_focused_client()</a>, <a class="el" href="a00077_source.html#l00440">get_matching_client()</a>, <a class="el" href="a00059_source.html#l00042">get_stack_window()</a>, <a class="el" href="a00067_source.html#l00173">handle_enter_notify()</a>, <a class="el" href="a00067_source.html#l00770">handle_expose_event()</a>, <a class="el" href="a00061_source.html#l00066">jump_to_mark()</a>, <a class="el" href="a00061_source.html#l00566">move_floating_window_to_workspace()</a>, <a class="el" href="a00073_source.html#l00246">output_change_mode()</a>, <a class="el" href="a00056_source.html#l00129">parse_file()</a>, <a class="el" href="a00069_source.html#l00576">render_bars()</a>, <a class="el" href="a00069_source.html#l00680">render_workspace()</a>, <a class="el" href="a00072_source.html#l00074">restore_geometry()</a>, <a class="el" href="a00077_source.html#l00232">set_focus()</a>, <a class="el" href="a00062_source.html#l00211">switch_mode()</a>, <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>, <a class="el" href="a00061_source.html#l00780">travel_focus_stack()</a>, <a class="el" href="a00078_source.html#l00223">workspace_assign_to()</a>, <a class="el" href="a00078_source.html#l00463">workspace_height()</a>, <a class="el" href="a00078_source.html#l00342">workspace_map_clients()</a>, <a class="el" href="a00078_source.html#l00375">workspace_unmap_clients()</a>, and <a class="el" href="a00078_source.html#l00431">workspace_update_urgent_flag()</a>.</p>

</div>
</div>
<a class="anchor" id="a7017f84f3ba90cd69441f09b2825f7b9"></a><!-- doxytag: member="queue.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="a00047.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>((head));                             \
            ((var) = *(varp)) != <a class="code" href="a00047.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head);                       \
            (varp) = &amp;<a class="code" href="a00047.html#a7cd1d5ae37224ecee1f0b831eb73e7f4">SLIST_NEXT</a>((var), field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00120">120</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8224e40ea764bc857bab6f6d9c357dd9"></a><!-- doxytag: member="queue.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="a00047_source.html#l00094">94</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00056_source.html#l00129">parse_file()</a>.</p>

</div>
</div>
<a class="anchor" id="a9ae2aca3d46e62be4cb1408bd946ef15"></a><!-- doxytag: member="queue.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="a00047_source.html#l00099">99</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00056_source.html#l00129">parse_file()</a>.</p>

</div>
</div>
<a class="anchor" id="a361ac8e88cf066cc4d46d28b54fd3031"></a><!-- doxytag: member="queue.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="a00047.html#a91bac7d0d32e3ec56bc579ace45ed8cd">SLIST_FIRST</a>(head) = <a class="code" href="a00047.html#a33283f951b262b1ac57d20c0e4e0862c">SLIST_END</a>(head);                            \
}
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00128">128</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00073_source.html#l00166">initialize_output()</a>, and <a class="el" href="a00062_source.html#l00307">load_configuration()</a>.</p>

</div>
</div>
<a class="anchor" id="af1d994d9652ccbc41a60b747dfc15ea5"></a><!-- doxytag: member="queue.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="a00047_source.html#l00132">132</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00072_source.html#l00151">reparent_window()</a>.</p>

</div>
</div>
<a class="anchor" id="a48df7439e09a419afabdd1f2f8551e73"></a><!-- doxytag: member="queue.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="a00047_source.html#l00137">137</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00066_source.html#l00149">floating_assign_to_workspace()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00061_source.html#l00312">move_current_window()</a>, <a class="el" href="a00061_source.html#l00638">move_current_window_to_workspace()</a>, <a class="el" href="a00056_source.html#l00129">parse_file()</a>, <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, <a class="el" href="a00077_source.html#l00232">set_focus()</a>, <a class="el" href="a00067_source.html#l00047">SLIST_HEAD()</a>, <a class="el" href="a00077_source.html#l00347">switch_layout_mode()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</a>.</p>

</div>
</div>
<a class="anchor" id="a7cd1d5ae37224ecee1f0b831eb73e7f4"></a><!-- doxytag: member="queue.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="a00047_source.html#l00113">113</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00067_source.html#l00062">event_is_ignored()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c7950d61593ab9198524fca81b17ab0"></a><!-- doxytag: member="queue.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="a00047.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="a00047.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="a00047_source.html#l00150">150</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00060_source.html#l00038">client_remove_from_container()</a>, <a class="el" href="a00067_source.html#l00062">event_is_ignored()</a>, <a class="el" href="a00066_source.html#l00149">floating_assign_to_workspace()</a>, <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, <a class="el" href="a00077_source.html#l00329">leave_stack_mode()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, and <a class="el" href="a00077_source.html#l00232">set_focus()</a>.</p>

</div>
</div>
<a class="anchor" id="aeb10c664372b3b680455274170f4c897"></a><!-- doxytag: member="queue.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="a00047_source.html#l00146">146</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00056_source.html#l00129">parse_file()</a>, and <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>.</p>

</div>
</div>
<a class="anchor" id="aeb129fc9179edb5e794200d76f144630"></a><!-- doxytag: member="queue.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="a00047_source.html#l00142">142</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac3c9da7ac712eacbbad5cc54d7a3477e"></a><!-- doxytag: member="queue.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="a00047_source.html#l00332">332</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, and <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>.</p>

</div>
</div>
<a class="anchor" id="a4322b8461a6ab7632435ff4f57bb3a2e"></a><!-- doxytag: member="queue.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="a00047_source.html#l00325">325</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00128">button_press_bar()</a>, <a class="el" href="a00060_source.html#l00313">client_set_below_floating()</a>, <a class="el" href="a00066_source.html#l00466">floating_focus_direction()</a>, <a class="el" href="a00062_source.html#l00109">get_binding()</a>, <a class="el" href="a00061_source.html#l00831">next_previous_workspace()</a>, <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>, <a class="el" href="a00069_source.html#l00348">render_container()</a>, and <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>.</p>

</div>
</div>
<a class="anchor" id="af71bfd90dc9d00fb03545fe66c67d673"></a><!-- doxytag: member="queue.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="a00047_source.html#l00315">315</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d6894360bd1c41e0e6f6d84998c1362"></a><!-- doxytag: member="queue.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="a00047_source.html#l00324">324</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00060_source.html#l00313">client_set_below_floating()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00071_source.html#l00193">main()</a>, <a class="el" href="a00061_source.html#l00831">next_previous_workspace()</a>, and <a class="el" href="a00069_source.html#l00348">render_container()</a>.</p>

</div>
</div>
<a class="anchor" id="a16e5fc168e7f3494d4b1df54447d871e"></a><!-- doxytag: member="queue.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="a00047.html#a7d6894360bd1c41e0e6f6d84998c1362">TAILQ_FIRST</a>(head);                                  \
            (var) != <a class="code" href="a00047.html#a4322b8461a6ab7632435ff4f57bb3a2e">TAILQ_END</a>(head);                                   \
            (var) = <a class="code" href="a00047.html#abd57fe9bdea6007a602f8c7d61bd5265">TAILQ_NEXT</a>(var, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00335">335</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00128">button_press_bar()</a>, <a class="el" href="a00060_source.html#l00156">client_enter_fullscreen()</a>, <a class="el" href="a00060_source.html#l00244">client_leave_fullscreen()</a>, <a class="el" href="a00060_source.html#l00428">client_mark()</a>, <a class="el" href="a00065_source.html#l00058">ewmh_update_workarea()</a>, <a class="el" href="a00066_source.html#l00540">floating_toggle_hide()</a>, <a class="el" href="a00062_source.html#l00109">get_binding()</a>, <a class="el" href="a00073_source.html#l00084">get_first_output()</a>, <a class="el" href="a00078_source.html#l00301">get_first_workspace_for_output()</a>, <a class="el" href="a00077_source.html#l00440">get_matching_client()</a>, <a class="el" href="a00073_source.html#l00057">get_output_by_id()</a>, <a class="el" href="a00073_source.html#l00070">get_output_by_name()</a>, <a class="el" href="a00073_source.html#l00099">get_output_containing()</a>, <a class="el" href="a00073_source.html#l00122">get_output_most()</a>, <a class="el" href="a00080_source.html#l00036">get_screen_at()</a>, <a class="el" href="a00062_source.html#l00188">grab_all_keys()</a>, <a class="el" href="a00067_source.html#l00770">handle_expose_event()</a>, <a class="el" href="a00075_source.html#l00151">handle_signal()</a>, <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, <a class="el" href="a00073_source.html#l00367">init_workspaces()</a>, <a class="el" href="a00073_source.html#l00166">initialize_output()</a>, <a class="el" href="a00080_source.html#l00104">initialize_xinerama()</a>, <a class="el" href="a00068_source.html#l00178">IPC_HANDLER()</a>, <a class="el" href="a00068_source.html#l00381">ipc_receive_message()</a>, <a class="el" href="a00068_source.html#l00121">ipc_send_event()</a>, <a class="el" href="a00068_source.html#l00145">ipc_shutdown()</a>, <a class="el" href="a00061_source.html#l00066">jump_to_mark()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00071_source.html#l00193">main()</a>, <a class="el" href="a00073_source.html#l00246">output_change_mode()</a>, <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>, <a class="el" href="a00069_source.html#l00596">render_internal_bar()</a>, <a class="el" href="a00069_source.html#l00771">render_layout()</a>, <a class="el" href="a00069_source.html#l00680">render_workspace()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, <a class="el" href="a00072_source.html#l00074">restore_geometry()</a>, <a class="el" href="a00077_source.html#l00114">table_get()</a>, <a class="el" href="a00077_source.html#l00100">table_remove()</a>, <a class="el" href="a00079_source.html#l00026">TAILQ_HEAD()</a>, <a class="el" href="a00062_source.html#l00138">translate_keysyms()</a>, <a class="el" href="a00078_source.html#l00039">workspace_get()</a>, <a class="el" href="a00078_source.html#l00342">workspace_map_clients()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</a>.</p>

</div>
</div>
<a class="anchor" id="aa7f65c910cd4616fcfa9723c5763b1a5"></a><!-- doxytag: member="queue.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="a00047.html#ac9154a9aebb3c15a3f2356349a1cc14f">TAILQ_LAST</a>(head, headname);                         \
            (var) != <a class="code" href="a00047.html#a4322b8461a6ab7632435ff4f57bb3a2e">TAILQ_END</a>(head);                                   \
            (var) = <a class="code" href="a00047.html#a524f93a0c21c390683fab4c27e840a10">TAILQ_PREV</a>(var, headname, field))
</pre></div>
<p>Definition at line <a class="el" href="a00047_source.html#l00340">340</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4abce769a262e090c1f601605b9d6c76"></a><!-- doxytag: member="queue.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="a00047_source.html#l00306">306</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac269df7d4126ed9885156cbad2cbf8af"></a><!-- doxytag: member="queue.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="a00047_source.html#l00312">312</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="a449d224023780e46253b83b61e0a50a9"></a><!-- doxytag: member="queue.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="a00047_source.html#l00348">348</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00076_source.html#l00044">init_table()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00078_source.html#l00039">workspace_get()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</a>.</p>

</div>
</div>
<a class="anchor" id="af972e33f5eacef659ee0bf0a13ca518c"></a><!-- doxytag: member="queue.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="a00047_source.html#l00370">370</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6a41e17dbc7d8df1f8b353a036754ff"></a><!-- doxytag: member="queue.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="a00047_source.html#l00380">380</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
<a class="anchor" id="af0f99e8f322ea4eef2d9deaa505239a6"></a><!-- doxytag: member="queue.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="a00047_source.html#l00353">353</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00080_source.html#l00050">query_screens()</a>.</p>

</div>
</div>
<a class="anchor" id="a512bee16b46f601078c96c776d2648c3"></a><!-- doxytag: member="queue.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="a00047_source.html#l00363">363</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00073_source.html#l00216">disable_randr()</a>, <a class="el" href="a00066_source.html#l00149">floating_assign_to_workspace()</a>, <a class="el" href="a00073_source.html#l00303">handle_output()</a>, <a class="el" href="a00076_source.html#l00044">init_table()</a>, <a class="el" href="a00068_source.html#l00472">ipc_new_client()</a>, <a class="el" href="a00080_source.html#l00050">query_screens()</a>, <a class="el" href="a00072_source.html#l00151">reparent_window()</a>, <a class="el" href="a00077_source.html#l00091">table_put()</a>, <a class="el" href="a00079_source.html#l00026">TAILQ_HEAD()</a>, <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>, <a class="el" href="a00078_source.html#l00039">workspace_get()</a>, and <a class="el" href="a00056_source.html#l01427">yyparse()</a>.</p>

</div>
</div>
<a class="anchor" id="ac9154a9aebb3c15a3f2356349a1cc14f"></a><!-- doxytag: member="queue.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="a00047_source.html#l00327">327</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00061_source.html#l00831">next_previous_workspace()</a>, and <a class="el" href="a00078_source.html#l00039">workspace_get()</a>.</p>

</div>
</div>
<a class="anchor" id="abd57fe9bdea6007a602f8c7d61bd5265"></a><!-- doxytag: member="queue.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="a00047_source.html#l00326">326</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00128">button_press_bar()</a>, <a class="el" href="a00066_source.html#l00466">floating_focus_direction()</a>, <a class="el" href="a00061_source.html#l00831">next_previous_workspace()</a>, and <a class="el" href="a00073_source.html#l00387">randr_query_outputs()</a>.</p>

</div>
</div>
<a class="anchor" id="a524f93a0c21c390683fab4c27e840a10"></a><!-- doxytag: member="queue.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="a00047_source.html#l00330">330</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00059_source.html#l00128">button_press_bar()</a>, <a class="el" href="a00066_source.html#l00466">floating_focus_direction()</a>, and <a class="el" href="a00061_source.html#l00831">next_previous_workspace()</a>.</p>

</div>
</div>
<a class="anchor" id="aaae87ca18c28066e1a96221e762d1209"></a><!-- doxytag: member="queue.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="a00047.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.tqe_prev);                           \
        <a class="code" href="a00047.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="a00047_source.html#l00387">387</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

<p>Referenced by <a class="el" href="a00066_source.html#l00149">floating_assign_to_workspace()</a>, <a class="el" href="a00067_source.html#l00460">handle_unmap_notify_event()</a>, <a class="el" href="a00068_source.html#l00381">ipc_receive_message()</a>, <a class="el" href="a00062_source.html#l00307">load_configuration()</a>, <a class="el" href="a00077_source.html#l00100">table_remove()</a>, and <a class="el" href="a00066_source.html#l00041">toggle_floating_mode()</a>.</p>

</div>
</div>
<a class="anchor" id="a6c5948aec8d53d42983d92a23b517579"></a><!-- doxytag: member="queue.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="a00047.html#a628c2134ca520da4fdb6a53d27930977">_Q_INVALIDATE</a>((elm)-&gt;field.tqe_prev);                           \
        <a class="code" href="a00047.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="a00047_source.html#l00398">398</a> of file <a class="el" href="a00047_source.html">queue.h</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>