| Current File : //usr/share/doc/dbus/api/group__DBusList.html |
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>D-Bus: Linked list</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">D-Bus
 <span id="projectnumber">1.8.20</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Defines</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Linked list</div> </div>
<div class="ingroups"><a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a></div></div><!--header-->
<div class="contents">
<p><a class="el" href="structDBusList.html" title="A node in a linked list.">DBusList</a> data structure.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusList.html">DBusList</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">A node in a linked list. <a href="structDBusList.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gaede4ace46d5ee497d75074bfec4490a2">_dbus_list_get_next_link</a>(list, link)   ((link)->next == *(list) ? <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> : (link)->next)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the next link in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if there are no more links. <a href="#gaede4ace46d5ee497d75074bfec4490a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga6637493bf5fc09bddb44ac295c475cae">_dbus_list_get_prev_link</a>(list, link)   ((link) == *(list) ? <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> : (link)->prev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the previous link in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if there are no more links. <a href="#ga6637493bf5fc09bddb44ac295c475cae"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gac20b9981531cef590d49a59240344cd8">_dbus_list_alloc_link</a> (void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocates a linked list node. <a href="#gac20b9981531cef590d49a59240344cd8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga6e824f717125ce40c549d5402e32610f">_dbus_list_free_link</a> (<a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees a linked list node allocated with _dbus_list_alloc_link. <a href="#ga6e824f717125ce40c549d5402e32610f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gad99045e79db46159babe69718f343053">_dbus_list_append</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends a value to the list. <a href="#gad99045e79db46159babe69718f343053"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gab4aa60e0466ac7075f3d1751909d6a52">_dbus_list_prepend</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prepends a value to the list. <a href="#gab4aa60e0466ac7075f3d1751909d6a52"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga20e549175e2b8f450f907592dc39d953">_dbus_list_append_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Appends a link to the list. <a href="#ga20e549175e2b8f450f907592dc39d953"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gab3dd068e3bd8a319c0d12150785050a7">_dbus_list_prepend_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Prepends a link to the list. <a href="#gab3dd068e3bd8a319c0d12150785050a7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga2dacb82db59f0012951d8245017473c9">_dbus_list_insert_after</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *after_this_link, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inserts data into the list after the given existing link. <a href="#ga2dacb82db59f0012951d8245017473c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga0d1fde0acf1330cb41a9c290c7ae87b5">_dbus_list_insert_before_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *before_this_link, <a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inserts a link into the list before the given existing link. <a href="#ga0d1fde0acf1330cb41a9c290c7ae87b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga20f6b11dd53979b94b6c4822ff6c1141">_dbus_list_insert_after_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *after_this_link, <a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inserts a link into the list after the given existing link. <a href="#ga20f6b11dd53979b94b6c4822ff6c1141"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga202e6ac8ad3e4a9d4413e0248ffcf3e3">_dbus_list_remove</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a value from the list. <a href="#ga202e6ac8ad3e4a9d4413e0248ffcf3e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gad93f1fc853914144e94fc7a7dc0945aa">_dbus_list_remove_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a value from the list. <a href="#gad93f1fc853914144e94fc7a7dc0945aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga5929ad5253d2f538158e513e9df3002b">_dbus_list_find_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Finds a value in the list. <a href="#ga5929ad5253d2f538158e513e9df3002b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga57f1fc73dc1a4f8a7bf9860e000b1703">_dbus_list_unlink</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes the given link from the list, but doesn't free it. <a href="#ga57f1fc73dc1a4f8a7bf9860e000b1703"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga40abea762d9cb44e5ec6b31b1769dc2e">_dbus_list_remove_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a link from the list. <a href="#ga40abea762d9cb44e5ec6b31b1769dc2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gaa36d13444a050a923941c53650b72f9d">_dbus_list_clear</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees all links in the list and sets the list head to <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>. <a href="#gaa36d13444a050a923941c53650b72f9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga1e26ce4fb4acb50593bd5ed2f4eeb3ae">_dbus_list_get_first_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the first link in the list. <a href="#ga1e26ce4fb4acb50593bd5ed2f4eeb3ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga42736fb02458bfffed948a509962c059">_dbus_list_get_last_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the last link in the list. <a href="#ga42736fb02458bfffed948a509962c059"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga18afc36fff1636a71295bcc7a75dc4f6">_dbus_list_get_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the last data in the list. <a href="#ga18afc36fff1636a71295bcc7a75dc4f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga254e18f698f5fc518bde031e723e67c6">_dbus_list_get_first</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the first data in the list. <a href="#ga254e18f698f5fc518bde031e723e67c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gaab9a957eca9bf5466bbf377a23b4b25c">_dbus_list_pop_first_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes the first link in the list and returns it. <a href="#gaab9a957eca9bf5466bbf377a23b4b25c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gacb96c9d3e9a869e63b8db4f8913a5a60">_dbus_list_pop_first</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes the first value in the list and returns it. <a href="#gacb96c9d3e9a869e63b8db4f8913a5a60"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gaad2ba56c77f2bba8e1e8dcb4b24542a6">_dbus_list_pop_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes the last value in the list and returns it. <a href="#gaad2ba56c77f2bba8e1e8dcb4b24542a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga1a85785891866750c9438bc10ad0350a">_dbus_list_copy</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="structDBusList.html">DBusList</a> **dest)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies a list. <a href="#ga1a85785891866750c9438bc10ad0350a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gaa2144a5489bb35b16b2b671488ad597c">_dbus_list_get_length</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the length of a list. <a href="#gaa2144a5489bb35b16b2b671488ad597c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga8dd69084b53361803a765e6d53d5b9d1">_dbus_list_foreach</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, DBusForeachFunction function, void *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calls the given function for each element in the list. <a href="#ga8dd69084b53361803a765e6d53d5b9d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga1d0e850f8e151630fa94d3b05e6038d9">_dbus_list_length_is_one</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether length is exactly one. <a href="#ga1d0e850f8e151630fa94d3b05e6038d9"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><a class="el" href="structDBusList.html" title="A node in a linked list.">DBusList</a> data structure. </p>
<p>Types and functions related to <a class="el" href="structDBusList.html" title="A node in a linked list.">DBusList</a>. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gaede4ace46d5ee497d75074bfec4490a2"></a><!-- doxytag: member="dbus-list.h::_dbus_list_get_next_link" ref="gaede4ace46d5ee497d75074bfec4490a2" args="(list, link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusList.html#gaede4ace46d5ee497d75074bfec4490a2">_dbus_list_get_next_link</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">list, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>   ((link)->next == *(list) ? <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> : (link)->next)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the next link in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if there are no more links. </p>
<p>Used for iteration.</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structDBusList.html" title="A node in a linked list.">DBusList</a> *link;
link = <a class="code" href="group__DBusList.html#ga1e26ce4fb4acb50593bd5ed2f4eeb3ae" title="Gets the first link in the list.">_dbus_list_get_first_link</a> (&list);
<span class="keywordflow">while</span> (link != <a class="code" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>)
{
printf (<span class="stringliteral">"value is %p\n"</span>, link-><a class="code" href="structDBusList.html#a29ab457bcf9092252bb0c4282c727055" title="Data stored at this element.">data</a>);
link = <a class="code" href="group__DBusList.html#gaede4ace46d5ee497d75074bfec4490a2" title="Gets the next link in the list, or NULL if there are no more links.">_dbus_list_get_next_link</a> (&link);
}
</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">link</td><td>current link. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the next link, or NULL if none. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8h_source.html#l00090">90</a> of file <a class="el" href="dbus-list_8h_source.html">dbus-list.h</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00542">_dbus_list_clear()</a>, <a class="el" href="dbus-list_8c_source.html#l00697">_dbus_list_copy()</a>, <a class="el" href="dbus-list_8c_source.html#l00759">_dbus_list_foreach()</a>, <a class="el" href="dbus-list_8c_source.html#l00730">_dbus_list_get_length()</a>, <a class="el" href="dbus-list_8c_source.html#l00415">_dbus_list_remove()</a>, <a class="el" href="dbus-object-tree_8c_source.html#l00903">_dbus_object_tree_dispatch_and_unlock()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00239">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-watch_8c_source.html#l00296">_dbus_watch_list_set_functions()</a>, <a class="el" href="dbus-watch_8c_source.html#l00465">_dbus_watch_list_toggle_all_watches()</a>, <a class="el" href="dbus-address_8c_source.html#l00244">dbus_address_entry_get_value()</a>, <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-address_8c_source.html#l00363">dbus_parse_address()</a>.</p>
</div>
</div>
<a class="anchor" id="ga6637493bf5fc09bddb44ac295c475cae"></a><!-- doxytag: member="dbus-list.h::_dbus_list_get_prev_link" ref="ga6637493bf5fc09bddb44ac295c475cae" args="(list, link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusList.html#ga6637493bf5fc09bddb44ac295c475cae">_dbus_list_get_prev_link</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">list, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">link </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>   ((link) == *(list) ? <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> : (link)->prev)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the previous link in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if there are no more links. </p>
<p>Used for iteration.</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structDBusList.html" title="A node in a linked list.">DBusList</a> *link;
link = <a class="code" href="group__DBusList.html#ga42736fb02458bfffed948a509962c059" title="Gets the last link in the list.">_dbus_list_get_last_link</a> (&list);
<span class="keywordflow">while</span> (link != <a class="code" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>)
{
printf (<span class="stringliteral">"value is %p\n"</span>, link-><a class="code" href="structDBusList.html#a29ab457bcf9092252bb0c4282c727055" title="Data stored at this element.">data</a>);
link = <a class="code" href="group__DBusList.html#ga6637493bf5fc09bddb44ac295c475cae" title="Gets the previous link in the list, or NULL if there are no more links.">_dbus_list_get_prev_link</a> (&link);
}
</pre></div><dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">link</td><td>current link. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the previous link, or NULL if none. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8h_source.html#l00091">91</a> of file <a class="el" href="dbus-list_8h_source.html">dbus-list.h</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00472">_dbus_list_find_last()</a>, and <a class="el" href="dbus-connection_8c_source.html#l05563">dbus_connection_remove_filter()</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gac20b9981531cef590d49a59240344cd8"></a><!-- doxytag: member="dbus-list.c::_dbus_list_alloc_link" ref="gac20b9981531cef590d49a59240344cd8" args="(void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* <a class="el" href="group__DBusList.html#gac20b9981531cef590d49a59240344cd8">_dbus_list_alloc_link</a> </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Allocates a linked list node. </p>
<p>Useful for preallocating nodes and using <a class="el" href="group__DBusList.html#ga20e549175e2b8f450f907592dc39d953" title="Appends a link to the list.">_dbus_list_append_link()</a> to avoid allocations.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>the value to store in the link. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated link. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00242">242</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l01249">_dbus_connection_new_for_transport()</a>, <a class="el" href="dbus-message_8c_source.html#l00329">_dbus_message_add_counter()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00354">_dbus_pending_call_set_timeout_error_unlocked()</a>, and <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>.</p>
</div>
</div>
<a class="anchor" id="gad99045e79db46159babe69718f343053"></a><!-- doxytag: member="dbus-list.c::_dbus_list_append" ref="gad99045e79db46159babe69718f343053" args="(DBusList **list, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#gad99045e79db46159babe69718f343053">_dbus_list_append</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Appends a value to the list. </p>
<p>May return <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> if insufficient memory exists to add a list link. This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">data</td><td>the value to append. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> on success. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00270">270</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00292">_dbus_list_prepend()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-list_8h_source.html#l00037">next</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00697">_dbus_list_copy()</a>, <a class="el" href="dbus-object-tree_8c_source.html#l00903">_dbus_object_tree_dispatch_and_unlock()</a>, <a class="el" href="dbus-sysdeps_8c_source.html#l00221">_dbus_split_paths_and_append()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00310">_dbus_timeout_list_add_timeout()</a>, <a class="el" href="dbus-marshal-validate_8c_source.html#l00051">_dbus_validate_signature_with_reason()</a>, <a class="el" href="dbus-watch_8c_source.html#l00376">_dbus_watch_list_add_watch()</a>, <a class="el" href="dbus-connection_8c_source.html#l05511">dbus_connection_add_filter()</a>, and <a class="el" href="dbus-address_8c_source.html#l00363">dbus_parse_address()</a>.</p>
</div>
</div>
<a class="anchor" id="ga20e549175e2b8f450f907592dc39d953"></a><!-- doxytag: member="dbus-list.c::_dbus_list_append_link" ref="ga20e549175e2b8f450f907592dc39d953" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga20e549175e2b8f450f907592dc39d953">_dbus_list_append_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Appends a link to the list. </p>
<p>Cannot fail due to out of memory. This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">link</td><td>the link to append. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00315">315</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00333">_dbus_list_prepend_link()</a>, and <a class="el" href="dbus-list_8h_source.html#l00037">next</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00480">_dbus_connection_queue_received_message_link()</a>, <a class="el" href="dbus-connection_8c_source.html#l00545">_dbus_connection_queue_synthesized_message_link()</a>, <a class="el" href="dbus-list_8c_source.html#l00376">_dbus_list_insert_before_link()</a>, and <a class="el" href="dbus-message_8c_source.html#l00280">_dbus_message_add_counter_link()</a>.</p>
</div>
</div>
<a class="anchor" id="gaa36d13444a050a923941c53650b72f9d"></a><!-- doxytag: member="dbus-list.c::_dbus_list_clear" ref="gaa36d13444a050a923941c53650b72f9d" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#gaa36d13444a050a923941c53650b72f9d">_dbus_list_clear</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Frees all links in the list and sets the list head to <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>. </p>
<p>Does not free the data in each link, for obvious reasons. This is a linear-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00542">542</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8h_source.html#l00090">_dbus_list_get_next_link</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>, <a class="el" href="dbus-list_8c_source.html#l00697">_dbus_list_copy()</a>, <a class="el" href="dbus-message_8c_source.html#l03925">_dbus_message_loader_unref()</a>, <a class="el" href="dbus-pending-call_8c_source.html#l00172">_dbus_pending_call_set_reply_unlocked()</a>, <a class="el" href="dbus-sysdeps_8c_source.html#l00221">_dbus_split_paths_and_append()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00211">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-marshal-validate_8c_source.html#l00051">_dbus_validate_signature_with_reason()</a>, <a class="el" href="dbus-watch_8c_source.html#l00249">_dbus_watch_list_free()</a>, <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-address_8c_source.html#l00363">dbus_parse_address()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1a85785891866750c9438bc10ad0350a"></a><!-- doxytag: member="dbus-list.c::_dbus_list_copy" ref="ga1a85785891866750c9438bc10ad0350a" args="(DBusList **list, DBusList **dest)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#ga1a85785891866750c9438bc10ad0350a">_dbus_list_copy</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>dest</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Copies a list. </p>
<p>This is a linear-time operation. If there isn't enough memory to copy the entire list, the destination list will be set to <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the head of the list to copy. </td></tr>
<tr><td class="paramname">dest</td><td>address where the copied list should be placed. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> if not enough memory. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00697">697</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00270">_dbus_list_append()</a>, <a class="el" href="dbus-list_8c_source.html#l00542">_dbus_list_clear()</a>, <a class="el" href="dbus-list_8h_source.html#l00090">_dbus_list_get_next_link</a>, <a class="el" href="dbus-list_8h_source.html#l00038">data</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ga5929ad5253d2f538158e513e9df3002b"></a><!-- doxytag: member="dbus-list.c::_dbus_list_find_last" ref="ga5929ad5253d2f538158e513e9df3002b" args="(DBusList **list, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* <a class="el" href="group__DBusList.html#ga5929ad5253d2f538158e513e9df3002b">_dbus_list_find_last</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Finds a value in the list. </p>
<p>Returns the last link with value equal to the given data pointer. This is a linear-time operation. Returns <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> if no value found that matches.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">data</td><td>the value to find. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the link if found </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00472">472</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00580">_dbus_list_get_last_link()</a>, <a class="el" href="dbus-list_8h_source.html#l00091">_dbus_list_get_prev_link</a>, <a class="el" href="dbus-list_8h_source.html#l00038">data</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00446">_dbus_list_remove_last()</a>, <a class="el" href="dbus-message_8c_source.html#l04302">_dbus_message_loader_queue_messages()</a>, and <a class="el" href="dbus-message_8c_source.html#l00352">_dbus_message_remove_counter()</a>.</p>
</div>
</div>
<a class="anchor" id="ga8dd69084b53361803a765e6d53d5b9d1"></a><!-- doxytag: member="dbus-list.c::_dbus_list_foreach" ref="ga8dd69084b53361803a765e6d53d5b9d1" args="(DBusList **list, DBusForeachFunction function, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga8dd69084b53361803a765e6d53d5b9d1">_dbus_list_foreach</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DBusForeachFunction </td>
<td class="paramname"><em>function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Calls the given function for each element in the list. </p>
<p>The function is passed the list element as its first argument, and the given data as its second argument.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the head of the list. </td></tr>
<tr><td class="paramname">function</td><td>function to call for each element. </td></tr>
<tr><td class="paramname">data</td><td>extra data for the function. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00759">759</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8h_source.html#l00090">_dbus_list_get_next_link</a>, <a class="el" href="dbus-list_8h_source.html#l00038">data</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-message_8c_source.html#l03925">_dbus_message_loader_unref()</a>, <a class="el" href="dbus-sysdeps_8c_source.html#l00221">_dbus_split_paths_and_append()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00211">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00239">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-watch_8c_source.html#l00249">_dbus_watch_list_free()</a>, <a class="el" href="dbus-watch_8c_source.html#l00296">_dbus_watch_list_set_functions()</a>, and <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ga6e824f717125ce40c549d5402e32610f"></a><!-- doxytag: member="dbus-list.c::_dbus_list_free_link" ref="ga6e824f717125ce40c549d5402e32610f" args="(DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga6e824f717125ce40c549d5402e32610f">_dbus_list_free_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Frees a linked list node allocated with _dbus_list_alloc_link. </p>
<p>Does not free the data in the node.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">link</td><td>the list node </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00254">254</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l01249">_dbus_connection_new_for_transport()</a>, <a class="el" href="dbus-connection_8c_source.html#l00399">_dbus_connection_unlock()</a>, <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-connection_8c_source.html#l03191">dbus_connection_free_preallocated_send()</a>.</p>
</div>
</div>
<a class="anchor" id="ga254e18f698f5fc518bde031e723e67c6"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_first" ref="ga254e18f698f5fc518bde031e723e67c6" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="group__DBusList.html#ga254e18f698f5fc518bde031e723e67c6">_dbus_list_get_first</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the first data in the list. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first data in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00612">612</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l03850">dbus_connection_borrow_message()</a>.</p>
</div>
</div>
<a class="anchor" id="ga1e26ce4fb4acb50593bd5ed2f4eeb3ae"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_first_link" ref="ga1e26ce4fb4acb50593bd5ed2f4eeb3ae" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* <a class="el" href="group__DBusList.html#ga1e26ce4fb4acb50593bd5ed2f4eeb3ae">_dbus_list_get_first_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the first link in the list. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first link, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00567">567</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00649">_dbus_list_pop_first()</a>, <a class="el" href="dbus-list_8c_source.html#l00628">_dbus_list_pop_first_link()</a>, <a class="el" href="dbus-object-tree_8c_source.html#l00903">_dbus_object_tree_dispatch_and_unlock()</a>, <a class="el" href="dbus-timeout_8c_source.html#l00239">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-watch_8c_source.html#l00296">_dbus_watch_list_set_functions()</a>, <a class="el" href="dbus-watch_8c_source.html#l00465">_dbus_watch_list_toggle_all_watches()</a>, <a class="el" href="dbus-address_8c_source.html#l00244">dbus_address_entry_get_value()</a>, <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-address_8c_source.html#l00363">dbus_parse_address()</a>.</p>
</div>
</div>
<a class="anchor" id="ga18afc36fff1636a71295bcc7a75dc4f6"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_last" ref="ga18afc36fff1636a71295bcc7a75dc4f6" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="group__DBusList.html#ga18afc36fff1636a71295bcc7a75dc4f6">_dbus_list_get_last</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the last data in the list. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last data in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00596">596</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00609">_dbus_connection_get_message_to_send()</a>.</p>
</div>
</div>
<a class="anchor" id="ga42736fb02458bfffed948a509962c059"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_last_link" ref="ga42736fb02458bfffed948a509962c059" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* <a class="el" href="group__DBusList.html#ga42736fb02458bfffed948a509962c059">_dbus_list_get_last_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the last link in the list. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last link, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00580">580</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00625">_dbus_connection_message_sent_unlocked()</a>, <a class="el" href="dbus-list_8c_source.html#l00472">_dbus_list_find_last()</a>, <a class="el" href="dbus-list_8c_source.html#l00672">_dbus_list_pop_last()</a>, and <a class="el" href="dbus-connection_8c_source.html#l05563">dbus_connection_remove_filter()</a>.</p>
</div>
</div>
<a class="anchor" id="gaa2144a5489bb35b16b2b671488ad597c"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_length" ref="gaa2144a5489bb35b16b2b671488ad597c" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="group__DBusList.html#gaa2144a5489bb35b16b2b671488ad597c">_dbus_list_get_length</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the length of a list. </p>
<p>This is a linear-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the head of the list </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of elements in the list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00730">730</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8h_source.html#l00090">_dbus_list_get_next_link</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-object-tree_8c_source.html#l00903">_dbus_object_tree_dispatch_and_unlock()</a>, and <a class="el" href="dbus-address_8c_source.html#l00363">dbus_parse_address()</a>.</p>
</div>
</div>
<a class="anchor" id="ga2dacb82db59f0012951d8245017473c9"></a><!-- doxytag: member="dbus-list.c::_dbus_list_insert_after" ref="ga2dacb82db59f0012951d8245017473c9" args="(DBusList **list, DBusList *after_this_link, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#ga2dacb82db59f0012951d8245017473c9">_dbus_list_insert_after</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>after_this_link</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Inserts data into the list after the given existing link. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>the list to modify </td></tr>
<tr><td class="paramname">after_this_link</td><td>existing link to insert after, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> to prepend </td></tr>
<tr><td class="paramname">data</td><td>the value to insert </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> if memory allocation fails </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00348">348</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00292">_dbus_list_prepend()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
</div>
</div>
<a class="anchor" id="ga20f6b11dd53979b94b6c4822ff6c1141"></a><!-- doxytag: member="dbus-list.c::_dbus_list_insert_after_link" ref="ga20f6b11dd53979b94b6c4822ff6c1141" args="(DBusList **list, DBusList *after_this_link, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga20f6b11dd53979b94b6c4822ff6c1141">_dbus_list_insert_after_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>after_this_link</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Inserts a link into the list after the given existing link. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>the list to modify </td></tr>
<tr><td class="paramname">after_this_link</td><td>existing link to insert after, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> to prepend </td></tr>
<tr><td class="paramname">link</td><td>the link to insert </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00394">394</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00333">_dbus_list_prepend_link()</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
</div>
</div>
<a class="anchor" id="ga0d1fde0acf1330cb41a9c290c7ae87b5"></a><!-- doxytag: member="dbus-list.c::_dbus_list_insert_before_link" ref="ga0d1fde0acf1330cb41a9c290c7ae87b5" args="(DBusList **list, DBusList *before_this_link, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga0d1fde0acf1330cb41a9c290c7ae87b5">_dbus_list_insert_before_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>before_this_link</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Inserts a link into the list before the given existing link. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>the list to modify </td></tr>
<tr><td class="paramname">before_this_link</td><td>existing link to insert before, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> to append </td></tr>
<tr><td class="paramname">link</td><td>the link to insert </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00376">376</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00315">_dbus_list_append_link()</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
</div>
</div>
<a class="anchor" id="ga1d0e850f8e151630fa94d3b05e6038d9"></a><!-- doxytag: member="dbus-list.c::_dbus_list_length_is_one" ref="ga1d0e850f8e151630fa94d3b05e6038d9" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#ga1d0e850f8e151630fa94d3b05e6038d9">_dbus_list_length_is_one</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Check whether length is exactly one. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>the list </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if length is exactly one </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00783">783</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
</div>
</div>
<a class="anchor" id="gacb96c9d3e9a869e63b8db4f8913a5a60"></a><!-- doxytag: member="dbus-list.c::_dbus_list_pop_first" ref="gacb96c9d3e9a869e63b8db4f8913a5a60" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="group__DBusList.html#gacb96c9d3e9a869e63b8db4f8913a5a60">_dbus_list_pop_first</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes the first value in the list and returns it. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first data in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00649">649</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00567">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8c_source.html#l00527">_dbus_list_remove_link()</a>, <a class="el" href="dbus-list_8h_source.html#l00038">data</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-message_8c_source.html#l04382">_dbus_message_loader_pop_message()</a>, and <a class="el" href="dbus-connection_8c_source.html#l03935">dbus_connection_steal_borrowed_message()</a>.</p>
</div>
</div>
<a class="anchor" id="gaab9a957eca9bf5466bbf377a23b4b25c"></a><!-- doxytag: member="dbus-list.c::_dbus_list_pop_first_link" ref="gaab9a957eca9bf5466bbf377a23b4b25c" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* <a class="el" href="group__DBusList.html#gaab9a957eca9bf5466bbf377a23b4b25c">_dbus_list_pop_first_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes the first link in the list and returns it. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first link in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00628">628</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00567">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8c_source.html#l00499">_dbus_list_unlink()</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00399">_dbus_connection_unlock()</a>, and <a class="el" href="dbus-message_8c_source.html#l04396">_dbus_message_loader_pop_message_link()</a>.</p>
</div>
</div>
<a class="anchor" id="gaad2ba56c77f2bba8e1e8dcb4b24542a6"></a><!-- doxytag: member="dbus-list.c::_dbus_list_pop_last" ref="gaad2ba56c77f2bba8e1e8dcb4b24542a6" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="group__DBusList.html#gaad2ba56c77f2bba8e1e8dcb4b24542a6">_dbus_list_pop_last</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes the last value in the list and returns it. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last data in the list, or <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4" title="A null pointer, defined appropriately for C or C++.">NULL</a> for an empty list. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00672">672</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00580">_dbus_list_get_last_link()</a>, <a class="el" href="dbus-list_8c_source.html#l00527">_dbus_list_remove_link()</a>, <a class="el" href="dbus-list_8h_source.html#l00038">data</a>, and <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>
<p>Referenced by <a class="el" href="dbus-marshal-validate_8c_source.html#l00051">_dbus_validate_signature_with_reason()</a>.</p>
</div>
</div>
<a class="anchor" id="gab4aa60e0466ac7075f3d1751909d6a52"></a><!-- doxytag: member="dbus-list.c::_dbus_list_prepend" ref="gab4aa60e0466ac7075f3d1751909d6a52" args="(DBusList **list, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#gab4aa60e0466ac7075f3d1751909d6a52">_dbus_list_prepend</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Prepends a value to the list. </p>
<p>May return <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1" title="Expands to "0".">FALSE</a> if insufficient memory exists to add a list link. This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">data</td><td>the value to prepend. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> on success. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00292">292</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00270">_dbus_list_append()</a>, and <a class="el" href="dbus-list_8c_source.html#l00348">_dbus_list_insert_after()</a>.</p>
</div>
</div>
<a class="anchor" id="gab3dd068e3bd8a319c0d12150785050a7"></a><!-- doxytag: member="dbus-list.c::_dbus_list_prepend_link" ref="gab3dd068e3bd8a319c0d12150785050a7" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#gab3dd068e3bd8a319c0d12150785050a7">_dbus_list_prepend_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Prepends a link to the list. </p>
<p>Cannot fail due to out of memory. This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">link</td><td>the link to prepend. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00333">333</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00625">_dbus_connection_message_sent_unlocked()</a>, <a class="el" href="dbus-list_8c_source.html#l00315">_dbus_list_append_link()</a>, <a class="el" href="dbus-list_8c_source.html#l00394">_dbus_list_insert_after_link()</a>, <a class="el" href="dbus-message_8c_source.html#l04408">_dbus_message_loader_putback_message_link()</a>, and <a class="el" href="dbus-connection_8c_source.html#l04549">dbus_connection_dispatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ga202e6ac8ad3e4a9d4413e0248ffcf3e3"></a><!-- doxytag: member="dbus-list.c::_dbus_list_remove" ref="ga202e6ac8ad3e4a9d4413e0248ffcf3e3" args="(DBusList **list, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#ga202e6ac8ad3e4a9d4413e0248ffcf3e3">_dbus_list_remove</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a value from the list. </p>
<p>Only removes the first value equal to the given data pointer, even if multiple values exist which match. This is a linear-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">data</td><td>the value to remove. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if a value was found to remove. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00415">415</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8h_source.html#l00090">_dbus_list_get_next_link</a>, <a class="el" href="dbus-list_8c_source.html#l00527">_dbus_list_remove_link()</a>, <a class="el" href="dbus-list_8h_source.html#l00038">data</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-timeout_8c_source.html#l00340">_dbus_timeout_list_remove_timeout()</a>, and <a class="el" href="dbus-watch_8c_source.html#l00409">_dbus_watch_list_remove_watch()</a>.</p>
</div>
</div>
<a class="anchor" id="gad93f1fc853914144e94fc7a7dc0945aa"></a><!-- doxytag: member="dbus-list.c::_dbus_list_remove_last" ref="gad93f1fc853914144e94fc7a7dc0945aa" args="(DBusList **list, void *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> <a class="el" href="group__DBusList.html#gad93f1fc853914144e94fc7a7dc0945aa">_dbus_list_remove_last</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>data</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a value from the list. </p>
<p>Only removes the last value equal to the given data pointer, even if multiple values exist which match. This is a linear-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">data</td><td>the value to remove. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if a value was found to remove. </dd></dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00446">446</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00472">_dbus_list_find_last()</a>, <a class="el" href="dbus-list_8c_source.html#l00527">_dbus_list_remove_link()</a>, <a class="el" href="group__DBusMacros.html#gaa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>
<p>Referenced by <a class="el" href="dbus-timeout_8c_source.html#l00310">_dbus_timeout_list_add_timeout()</a>, and <a class="el" href="dbus-watch_8c_source.html#l00376">_dbus_watch_list_add_watch()</a>.</p>
</div>
</div>
<a class="anchor" id="ga40abea762d9cb44e5ec6b31b1769dc2e"></a><!-- doxytag: member="dbus-list.c::_dbus_list_remove_link" ref="ga40abea762d9cb44e5ec6b31b1769dc2e" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga40abea762d9cb44e5ec6b31b1769dc2e">_dbus_list_remove_link</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a link from the list. </p>
<p>This is a constant-time operation.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>address of the list head. </td></tr>
<tr><td class="paramname">link</td><td>the list link to remove. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00527">527</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8c_source.html#l00499">_dbus_list_unlink()</a>.</p>
<p>Referenced by <a class="el" href="dbus-list_8c_source.html#l00649">_dbus_list_pop_first()</a>, <a class="el" href="dbus-list_8c_source.html#l00672">_dbus_list_pop_last()</a>, <a class="el" href="dbus-list_8c_source.html#l00415">_dbus_list_remove()</a>, <a class="el" href="dbus-list_8c_source.html#l00446">_dbus_list_remove_last()</a>, <a class="el" href="dbus-message_8c_source.html#l00352">_dbus_message_remove_counter()</a>, <a class="el" href="dbus-object-tree_8c_source.html#l00903">_dbus_object_tree_dispatch_and_unlock()</a>, and <a class="el" href="dbus-connection_8c_source.html#l05563">dbus_connection_remove_filter()</a>.</p>
</div>
</div>
<a class="anchor" id="ga57f1fc73dc1a4f8a7bf9860e000b1703"></a><!-- doxytag: member="dbus-list.c::_dbus_list_unlink" ref="ga57f1fc73dc1a4f8a7bf9860e000b1703" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="group__DBusList.html#ga57f1fc73dc1a4f8a7bf9860e000b1703">_dbus_list_unlink</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> ** </td>
<td class="paramname"><em>list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> * </td>
<td class="paramname"><em>link</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes the given link from the list, but doesn't free it. </p>
<p><a class="el" href="group__DBusList.html#ga40abea762d9cb44e5ec6b31b1769dc2e" title="Removes a link from the list.">_dbus_list_remove_link()</a> both removes the link and also frees it.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">list</td><td>the list </td></tr>
<tr><td class="paramname">link</td><td>the link in the list </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="dbus-list_8c_source.html#l00499">499</a> of file <a class="el" href="dbus-list_8c_source.html">dbus-list.c</a>.</p>
<p>References <a class="el" href="dbus-list_8h_source.html#l00037">next</a>, <a class="el" href="group__DBusMacros.html#ga070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-list_8h_source.html#l00036">prev</a>.</p>
<p>Referenced by <a class="el" href="dbus-connection_8c_source.html#l00625">_dbus_connection_message_sent_unlocked()</a>, <a class="el" href="dbus-list_8c_source.html#l00628">_dbus_list_pop_first_link()</a>, and <a class="el" href="dbus-list_8c_source.html#l00527">_dbus_list_remove_link()</a>.</p>
</div>
</div>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:32 for D-Bus by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>