KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21573/root/usr/share/devhelp/books/dbus/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21573/root/usr/share/devhelp/books/dbus/api/group__DBusList.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>D-Bus: Linked list</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<h1>Linked list<br>
<small>
[<a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a>]</small>
</h1><a class="el" href="structDBusList.html">DBusList</a> data structure.  
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusList.html">DBusList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A node in a linked list.  <a href="structDBusList.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gede4ace46d5ee497d75074bfec4490a2">_dbus_list_get_next_link</a>(list, link)&nbsp;&nbsp;&nbsp;((link)-&gt;next == *(list) ? NULL : (link)-&gt;next)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next link in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if there are no more links.  <a href="#gede4ace46d5ee497d75074bfec4490a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g6637493bf5fc09bddb44ac295c475cae">_dbus_list_get_prev_link</a>(list, link)&nbsp;&nbsp;&nbsp;((link) == *(list) ? NULL : (link)-&gt;prev)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the previous link in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if there are no more links.  <a href="#g6637493bf5fc09bddb44ac295c475cae"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gc20b9981531cef590d49a59240344cd8">_dbus_list_alloc_link</a> (void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocates a linked list node.  <a href="#gc20b9981531cef590d49a59240344cd8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g6e824f717125ce40c549d5402e32610f">_dbus_list_free_link</a> (<a class="el" href="structDBusList.html">DBusList</a> *link)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees a linked list node allocated with _dbus_list_alloc_link.  <a href="#g6e824f717125ce40c549d5402e32610f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gd99045e79db46159babe69718f343053">_dbus_list_append</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends a value to the list.  <a href="#gd99045e79db46159babe69718f343053"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gb4aa60e0466ac7075f3d1751909d6a52">_dbus_list_prepend</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepends a value to the list.  <a href="#gb4aa60e0466ac7075f3d1751909d6a52"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g20e549175e2b8f450f907592dc39d953">_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">&nbsp;</td><td class="mdescRight">Appends a link to the list.  <a href="#g20e549175e2b8f450f907592dc39d953"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gb3dd068e3bd8a319c0d12150785050a7">_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">&nbsp;</td><td class="mdescRight">Prepends a link to the list.  <a href="#gb3dd068e3bd8a319c0d12150785050a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g2dacb82db59f0012951d8245017473c9">_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">&nbsp;</td><td class="mdescRight">Inserts data into the list after the given existing link.  <a href="#g2dacb82db59f0012951d8245017473c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g0d1fde0acf1330cb41a9c290c7ae87b5">_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">&nbsp;</td><td class="mdescRight">Inserts a link into the list before the given existing link.  <a href="#g0d1fde0acf1330cb41a9c290c7ae87b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g20f6b11dd53979b94b6c4822ff6c1141">_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">&nbsp;</td><td class="mdescRight">Inserts a link into the list after the given existing link.  <a href="#g20f6b11dd53979b94b6c4822ff6c1141"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g202e6ac8ad3e4a9d4413e0248ffcf3e3">_dbus_list_remove</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a value from the list.  <a href="#g202e6ac8ad3e4a9d4413e0248ffcf3e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gd93f1fc853914144e94fc7a7dc0945aa">_dbus_list_remove_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a value from the list.  <a href="#gd93f1fc853914144e94fc7a7dc0945aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g5929ad5253d2f538158e513e9df3002b">_dbus_list_find_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a value in the list.  <a href="#g5929ad5253d2f538158e513e9df3002b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g57f1fc73dc1a4f8a7bf9860e000b1703">_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">&nbsp;</td><td class="mdescRight">Removes the given link from the list, but doesn't free it.  <a href="#g57f1fc73dc1a4f8a7bf9860e000b1703"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g40abea762d9cb44e5ec6b31b1769dc2e">_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">&nbsp;</td><td class="mdescRight">Removes a link from the list.  <a href="#g40abea762d9cb44e5ec6b31b1769dc2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga36d13444a050a923941c53650b72f9d">_dbus_list_clear</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees all links in the list and sets the list head to <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.  <a href="#ga36d13444a050a923941c53650b72f9d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g1e26ce4fb4acb50593bd5ed2f4eeb3ae">_dbus_list_get_first_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the first link in the list.  <a href="#g1e26ce4fb4acb50593bd5ed2f4eeb3ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g42736fb02458bfffed948a509962c059">_dbus_list_get_last_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the last link in the list.  <a href="#g42736fb02458bfffed948a509962c059"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g18afc36fff1636a71295bcc7a75dc4f6">_dbus_list_get_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the last data in the list.  <a href="#g18afc36fff1636a71295bcc7a75dc4f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g254e18f698f5fc518bde031e723e67c6">_dbus_list_get_first</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the first data in the list.  <a href="#g254e18f698f5fc518bde031e723e67c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusList.html">DBusList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gab9a957eca9bf5466bbf377a23b4b25c">_dbus_list_pop_first_link</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the first link in the list and returns it.  <a href="#gab9a957eca9bf5466bbf377a23b4b25c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gcb96c9d3e9a869e63b8db4f8913a5a60">_dbus_list_pop_first</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the first value in the list and returns it.  <a href="#gcb96c9d3e9a869e63b8db4f8913a5a60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#gad2ba56c77f2bba8e1e8dcb4b24542a6">_dbus_list_pop_last</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the last value in the list and returns it.  <a href="#gad2ba56c77f2bba8e1e8dcb4b24542a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g1a85785891866750c9438bc10ad0350a">_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">&nbsp;</td><td class="mdescRight">Copies a list.  <a href="#g1a85785891866750c9438bc10ad0350a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#ga2144a5489bb35b16b2b671488ad597c">_dbus_list_get_length</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the length of a list.  <a href="#ga2144a5489bb35b16b2b671488ad597c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g8dd69084b53361803a765e6d53d5b9d1">_dbus_list_foreach</a> (<a class="el" href="structDBusList.html">DBusList</a> **list, <a class="el" href="group__DBusInternalsUtils.html#gadf9d45082dd1c9f59d8420d13492669">DBusForeachFunction</a> function, void *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls the given function for each element in the list.  <a href="#g8dd69084b53361803a765e6d53d5b9d1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusList.html#g1d0e850f8e151630fa94d3b05e6038d9">_dbus_list_length_is_one</a> (<a class="el" href="structDBusList.html">DBusList</a> **list)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether length is exactly one.  <a href="#g1d0e850f8e151630fa94d3b05e6038d9"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="structDBusList.html">DBusList</a> data structure. 
<p>
Types and functions related to <a class="el" href="structDBusList.html">DBusList</a>. <hr><h2>Define Documentation</h2>
<a class="anchor" name="gede4ace46d5ee497d75074bfec4490a2"></a><!-- doxytag: member="dbus-list.h::_dbus_list_get_next_link" ref="gede4ace46d5ee497d75074bfec4490a2" args="(list, link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _dbus_list_get_next_link          </td>
          <td>(</td>
          <td class="paramtype">list,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">link&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((link)-&gt;next == *(list) ? NULL : (link)-&gt;next)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the next link in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if there are no more links. 
<p>
Used for iteration.<p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structDBusList.html">DBusList</a> *link;
 link = <a class="code" href="group__DBusList.html#g1e26ce4fb4acb50593bd5ed2f4eeb3ae">_dbus_list_get_first_link</a> (&amp;list);
 <span class="keywordflow">while</span> (link != <a class="code" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)
   {
     printf (<span class="stringliteral">"value is %p\n"</span>, link-&gt;<a class="code" href="structDBusList.html#29ab457bcf9092252bb0c4282c727055">data</a>);
     link = <a class="code" href="group__DBusList.html#gede4ace46d5ee497d75074bfec4490a2">_dbus_list_get_next_link</a> (&amp;link);
   }
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>current link. </td></tr>
  </table>
</dl>
<dl compact><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#l00093">93</a> of file <a class="el" href="dbus-list_8h-source.html">dbus-list.h</a>.
<p>
Referenced by <a class="el" href="dbus-list_8c-source.html#l00549">_dbus_list_clear()</a>, <a class="el" href="dbus-list_8c-source.html#l00727">_dbus_list_copy()</a>, <a class="el" href="dbus-list_8c-source.html#l00789">_dbus_list_foreach()</a>, <a class="el" href="dbus-list_8c-source.html#l00760">_dbus_list_get_length()</a>, <a class="el" href="dbus-list_8c-source.html#l00422">_dbus_list_remove()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00731">_dbus_object_tree_dispatch_and_unlock()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00238">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-watch_8c-source.html#l00253">_dbus_watch_list_set_functions()</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#l04220">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>.
</div>
</div><p>
<a class="anchor" name="g6637493bf5fc09bddb44ac295c475cae"></a><!-- doxytag: member="dbus-list.h::_dbus_list_get_prev_link" ref="g6637493bf5fc09bddb44ac295c475cae" args="(list, link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _dbus_list_get_prev_link          </td>
          <td>(</td>
          <td class="paramtype">list,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">link&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((link) == *(list) ? NULL : (link)-&gt;prev)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the previous link in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if there are no more links. 
<p>
Used for iteration.<p>
<div class="fragment"><pre class="fragment"> <a class="code" href="structDBusList.html">DBusList</a> *link;
 link = <a class="code" href="group__DBusList.html#g42736fb02458bfffed948a509962c059">_dbus_list_get_last_link</a> (&amp;list);
 <span class="keywordflow">while</span> (link != <a class="code" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)
   {
     printf (<span class="stringliteral">"value is %p\n"</span>, link-&gt;<a class="code" href="structDBusList.html#29ab457bcf9092252bb0c4282c727055">data</a>);
     link = <a class="code" href="group__DBusList.html#g6637493bf5fc09bddb44ac295c475cae">_dbus_list_get_prev_link</a> (&amp;link);
   }
</pre></div><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>current link. </td></tr>
  </table>
</dl>
<dl compact><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#l00094">94</a> of file <a class="el" href="dbus-list_8h-source.html">dbus-list.h</a>.
<p>
Referenced by <a class="el" href="dbus-list_8c-source.html#l00479">_dbus_list_find_last()</a>, and <a class="el" href="dbus-connection_8c-source.html#l05212">dbus_connection_remove_filter()</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gc20b9981531cef590d49a59240344cd8"></a><!-- doxytag: member="dbus-list.c::_dbus_list_alloc_link" ref="gc20b9981531cef590d49a59240344cd8" args="(void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* _dbus_list_alloc_link           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocates a linked list node. 
<p>
Useful for preallocating nodes and using <a class="el" href="group__DBusList.html#g20e549175e2b8f450f907592dc39d953">_dbus_list_append_link()</a> to avoid allocations.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to store in the link. </td></tr>
  </table>
</dl>
<dl compact><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#l00218">218</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l01163">_dbus_connection_new_for_transport()</a>, <a class="el" href="dbus-message_8c-source.html#l00229">_dbus_message_add_size_counter()</a>, and <a class="el" href="dbus-pending-call_8c-source.html#l00336">_dbus_pending_call_set_timeout_error_unlocked()</a>.
</div>
</div><p>
<a class="anchor" name="gd99045e79db46159babe69718f343053"></a><!-- doxytag: member="dbus-list.c::_dbus_list_append" ref="gd99045e79db46159babe69718f343053" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_append           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Appends a value to the list. 
<p>
May return <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if insufficient memory exists to add a list link. This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to append. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00246">246</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00268">_dbus_list_prepend()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-threads_8c-source.html#l00200">_dbus_condvar_new_at_location()</a>, <a class="el" href="dbus-list_8c-source.html#l00727">_dbus_list_copy()</a>, <a class="el" href="dbus-threads_8c-source.html#l00088">_dbus_mutex_new_at_location()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00731">_dbus_object_tree_dispatch_and_unlock()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00259">_dbus_split_paths_and_append()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00309">_dbus_timeout_list_add_timeout()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00050">_dbus_validate_signature_with_reason()</a>, <a class="el" href="dbus-watch_8c-source.html#l00351">_dbus_watch_list_add_watch()</a>, <a class="el" href="dbus-connection_8c-source.html#l05160">dbus_connection_add_filter()</a>, and <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>.
</div>
</div><p>
<a class="anchor" name="g20e549175e2b8f450f907592dc39d953"></a><!-- doxytag: member="dbus-list.c::_dbus_list_append_link" ref="g20e549175e2b8f450f907592dc39d953" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_append_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>link</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Appends a link to the list. 
<p>
Cannot fail due to out of memory. This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the link to append. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00291">291</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00309">_dbus_list_prepend_link()</a>, and <a class="el" href="dbus-list_8h-source.html#l00037">next</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l00447">_dbus_connection_queue_received_message_link()</a>, <a class="el" href="dbus-connection_8c-source.html#l00508">_dbus_connection_queue_synthesized_message_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00383">_dbus_list_insert_before_link()</a>, and <a class="el" href="dbus-message_8c-source.html#l00193">_dbus_message_add_size_counter_link()</a>.
</div>
</div><p>
<a class="anchor" name="ga36d13444a050a923941c53650b72f9d"></a><!-- doxytag: member="dbus-list.c::_dbus_list_clear" ref="ga36d13444a050a923941c53650b72f9d" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_clear           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>. 
<p>
Does not free the data in each link, for obvious reasons. This is a linear-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00549">549</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8h-source.html#l00093">_dbus_list_get_next_link</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-auth_8c-source.html#l02243">_dbus_auth_unref()</a>, <a class="el" href="dbus-list_8c-source.html#l00727">_dbus_list_copy()</a>, <a class="el" href="dbus-message_8c-source.html#l03354">_dbus_message_loader_unref()</a>, <a class="el" href="dbus-pending-call_8c-source.html#l00154">_dbus_pending_call_set_reply_unlocked()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00259">_dbus_split_paths_and_append()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00210">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-marshal-validate_8c-source.html#l00050">_dbus_validate_signature_with_reason()</a>, <a class="el" href="dbus-watch_8c-source.html#l00225">_dbus_watch_list_free()</a>, <a class="el" href="dbus-connection_8c-source.html#l04220">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>.
</div>
</div><p>
<a class="anchor" name="g1a85785891866750c9438bc10ad0350a"></a><!-- doxytag: member="dbus-list.c::_dbus_list_copy" ref="g1a85785891866750c9438bc10ad0350a" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_copy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> **&nbsp;</td>
          <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copies a list. 
<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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the head of the list to copy. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>address where the copied list should be placed. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if not enough memory. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00727">727</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-list_8c-source.html#l00246">_dbus_list_append()</a>, <a class="el" href="dbus-list_8c-source.html#l00549">_dbus_list_clear()</a>, <a class="el" href="dbus-list_8h-source.html#l00093">_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#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l04220">dbus_connection_dispatch()</a>.
</div>
</div><p>
<a class="anchor" name="g5929ad5253d2f538158e513e9df3002b"></a><!-- doxytag: member="dbus-list.c::_dbus_list_find_last" ref="g5929ad5253d2f538158e513e9df3002b" 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>* _dbus_list_find_last           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finds a value in the list. 
<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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if no value found that matches.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to find. </td></tr>
  </table>
</dl>
<dl compact><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#l00479">479</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00587">_dbus_list_get_last_link()</a>, <a class="el" href="dbus-list_8h-source.html#l00094">_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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-list_8c-source.html#l00453">_dbus_list_remove_last()</a>, <a class="el" href="dbus-message_8c-source.html#l03592">_dbus_message_loader_queue_messages()</a>, and <a class="el" href="dbus-message_8c-source.html#l00253">_dbus_message_remove_size_counter()</a>.
</div>
</div><p>
<a class="anchor" name="g8dd69084b53361803a765e6d53d5b9d1"></a><!-- doxytag: member="dbus-list.c::_dbus_list_foreach" ref="g8dd69084b53361803a765e6d53d5b9d1" args="(DBusList **list, DBusForeachFunction function, void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_foreach           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__DBusInternalsUtils.html#gadf9d45082dd1c9f59d8420d13492669">DBusForeachFunction</a>&nbsp;</td>
          <td class="paramname"> <em>function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calls the given function for each element in the list. 
<p>
The function is passed the list element as its first argument, and the given data as its second argument.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the head of the list. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>function</em>&nbsp;</td><td>function to call for each element. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>extra data for the function. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00789">789</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8h-source.html#l00093">_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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-message_8c-source.html#l03354">_dbus_message_loader_unref()</a>, <a class="el" href="dbus-sysdeps_8c-source.html#l00259">_dbus_split_paths_and_append()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00210">_dbus_timeout_list_free()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00238">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-watch_8c-source.html#l00225">_dbus_watch_list_free()</a>, <a class="el" href="dbus-watch_8c-source.html#l00253">_dbus_watch_list_set_functions()</a>, and <a class="el" href="dbus-connection_8c-source.html#l04220">dbus_connection_dispatch()</a>.
</div>
</div><p>
<a class="anchor" name="g6e824f717125ce40c549d5402e32610f"></a><!-- doxytag: member="dbus-list.c::_dbus_list_free_link" ref="g6e824f717125ce40c549d5402e32610f" args="(DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_free_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> *&nbsp;</td>
          <td class="paramname"> <em>link</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Frees a linked list node allocated with _dbus_list_alloc_link. 
<p>
Does not free the data in the node.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the list node </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00230">230</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l01163">_dbus_connection_new_for_transport()</a>, <a class="el" href="dbus-message_8c-source.html#l00253">_dbus_message_remove_size_counter()</a>, <a class="el" href="dbus-connection_8c-source.html#l04220">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-connection_8c-source.html#l02956">dbus_connection_free_preallocated_send()</a>.
</div>
</div><p>
<a class="anchor" name="g254e18f698f5fc518bde031e723e67c6"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_first" ref="g254e18f698f5fc518bde031e723e67c6" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* _dbus_list_get_first           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the first data in the list. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the first data in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00619">619</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l03533">dbus_connection_borrow_message()</a>.
</div>
</div><p>
<a class="anchor" name="g1e26ce4fb4acb50593bd5ed2f4eeb3ae"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_first_link" ref="g1e26ce4fb4acb50593bd5ed2f4eeb3ae" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* _dbus_list_get_first_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the first link in the list. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the first link, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00574">574</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
Referenced by <a class="el" href="dbus-list_8c-source.html#l00656">_dbus_list_pop_first()</a>, <a class="el" href="dbus-list_8c-source.html#l00635">_dbus_list_pop_first_link()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00731">_dbus_object_tree_dispatch_and_unlock()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00238">_dbus_timeout_list_set_functions()</a>, <a class="el" href="dbus-watch_8c-source.html#l00253">_dbus_watch_list_set_functions()</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#l04220">dbus_connection_dispatch()</a>, and <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>.
</div>
</div><p>
<a class="anchor" name="g18afc36fff1636a71295bcc7a75dc4f6"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_last" ref="g18afc36fff1636a71295bcc7a75dc4f6" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* _dbus_list_get_last           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the last data in the list. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the last data in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00603">603</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l00569">_dbus_connection_get_message_to_send()</a>.
</div>
</div><p>
<a class="anchor" name="g42736fb02458bfffed948a509962c059"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_last_link" ref="g42736fb02458bfffed948a509962c059" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* _dbus_list_get_last_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the last link in the list. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the last link, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00587">587</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l00585">_dbus_connection_message_sent()</a>, <a class="el" href="dbus-list_8c-source.html#l00479">_dbus_list_find_last()</a>, <a class="el" href="dbus-list_8c-source.html#l00679">_dbus_list_pop_last()</a>, and <a class="el" href="dbus-connection_8c-source.html#l05212">dbus_connection_remove_filter()</a>.
</div>
</div><p>
<a class="anchor" name="ga2144a5489bb35b16b2b671488ad597c"></a><!-- doxytag: member="dbus-list.c::_dbus_list_get_length" ref="ga2144a5489bb35b16b2b671488ad597c" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int _dbus_list_get_length           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the length of a list. 
<p>
This is a linear-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the head of the list </td></tr>
  </table>
</dl>
<dl compact><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#l00760">760</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8h-source.html#l00093">_dbus_list_get_next_link</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-object-tree_8c-source.html#l00731">_dbus_object_tree_dispatch_and_unlock()</a>, and <a class="el" href="dbus-address_8c-source.html#l00363">dbus_parse_address()</a>.
</div>
</div><p>
<a class="anchor" name="g2dacb82db59f0012951d8245017473c9"></a><!-- doxytag: member="dbus-list.c::_dbus_list_insert_after" ref="g2dacb82db59f0012951d8245017473c9" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_insert_after           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>after_this_link</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inserts data into the list after the given existing link. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to modify </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>after_this_link</em>&nbsp;</td><td>existing link to insert after, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> to prepend </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to insert </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if memory allocation fails </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00355">355</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00268">_dbus_list_prepend()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
</div>
</div><p>
<a class="anchor" name="g20f6b11dd53979b94b6c4822ff6c1141"></a><!-- doxytag: member="dbus-list.c::_dbus_list_insert_after_link" ref="g20f6b11dd53979b94b6c4822ff6c1141" args="(DBusList **list, DBusList *after_this_link, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_insert_after_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>link</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inserts a link into the list after the given existing link. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to modify </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>after_this_link</em>&nbsp;</td><td>existing link to insert after, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> to prepend </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the link to insert </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00401">401</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00309">_dbus_list_prepend_link()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g0d1fde0acf1330cb41a9c290c7ae87b5"></a><!-- doxytag: member="dbus-list.c::_dbus_list_insert_before_link" ref="g0d1fde0acf1330cb41a9c290c7ae87b5" args="(DBusList **list, DBusList *before_this_link, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_insert_before_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>link</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inserts a link into the list before the given existing link. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list to modify </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>before_this_link</em>&nbsp;</td><td>existing link to insert before, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> to append </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the link to insert </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00383">383</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00291">_dbus_list_append_link()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g1d0e850f8e151630fa94d3b05e6038d9"></a><!-- doxytag: member="dbus-list.c::_dbus_list_length_is_one" ref="g1d0e850f8e151630fa94d3b05e6038d9" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_length_is_one           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check whether length is exactly one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if length is exactly one </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00813">813</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="gcb96c9d3e9a869e63b8db4f8913a5a60"></a><!-- doxytag: member="dbus-list.c::_dbus_list_pop_first" ref="gcb96c9d3e9a869e63b8db4f8913a5a60" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* _dbus_list_pop_first           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes the first value in the list and returns it. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the first data in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00656">656</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00574">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00534">_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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-message_8c-source.html#l03672">_dbus_message_loader_pop_message()</a>, and <a class="el" href="dbus-connection_8c-source.html#l03614">dbus_connection_steal_borrowed_message()</a>.
</div>
</div><p>
<a class="anchor" name="gab9a957eca9bf5466bbf377a23b4b25c"></a><!-- doxytag: member="dbus-list.c::_dbus_list_pop_first_link" ref="gab9a957eca9bf5466bbf377a23b4b25c" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDBusList.html">DBusList</a>* _dbus_list_pop_first_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes the first link in the list and returns it. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the first link in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00635">635</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00574">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00506">_dbus_list_unlink()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-message_8c-source.html#l03686">_dbus_message_loader_pop_message_link()</a>.
</div>
</div><p>
<a class="anchor" name="gad2ba56c77f2bba8e1e8dcb4b24542a6"></a><!-- doxytag: member="dbus-list.c::_dbus_list_pop_last" ref="gad2ba56c77f2bba8e1e8dcb4b24542a6" args="(DBusList **list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* _dbus_list_pop_last           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes the last value in the list and returns it. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the last data in the list, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> for an empty list. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00679">679</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00587">_dbus_list_get_last_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00534">_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#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-marshal-validate_8c-source.html#l00050">_dbus_validate_signature_with_reason()</a>.
</div>
</div><p>
<a class="anchor" name="gb4aa60e0466ac7075f3d1751909d6a52"></a><!-- doxytag: member="dbus-list.c::_dbus_list_prepend" ref="gb4aa60e0466ac7075f3d1751909d6a52" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_prepend           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepends a value to the list. 
<p>
May return <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> if insufficient memory exists to add a list link. This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to prepend. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00268">268</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-list_8c-source.html#l00246">_dbus_list_append()</a>, and <a class="el" href="dbus-list_8c-source.html#l00355">_dbus_list_insert_after()</a>.
</div>
</div><p>
<a class="anchor" name="gb3dd068e3bd8a319c0d12150785050a7"></a><!-- doxytag: member="dbus-list.c::_dbus_list_prepend_link" ref="gb3dd068e3bd8a319c0d12150785050a7" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_prepend_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>link</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepends a link to the list. 
<p>
Cannot fail due to out of memory. This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the link to prepend. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00309">309</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l00585">_dbus_connection_message_sent()</a>, <a class="el" href="dbus-list_8c-source.html#l00291">_dbus_list_append_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00401">_dbus_list_insert_after_link()</a>, and <a class="el" href="dbus-message_8c-source.html#l03698">_dbus_message_loader_putback_message_link()</a>.
</div>
</div><p>
<a class="anchor" name="g202e6ac8ad3e4a9d4413e0248ffcf3e3"></a><!-- doxytag: member="dbus-list.c::_dbus_list_remove" ref="g202e6ac8ad3e4a9d4413e0248ffcf3e3" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_remove           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a value from the list. 
<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 compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to remove. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if a value was found to remove. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00422">422</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8h-source.html#l00093">_dbus_list_get_next_link</a>, <a class="el" href="dbus-list_8c-source.html#l00534">_dbus_list_remove_link()</a>, <a class="el" href="dbus-list_8h-source.html#l00038">data</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-threads_8c-source.html#l00232">_dbus_condvar_free_at_location()</a>, <a class="el" href="dbus-threads_8c-source.html#l00126">_dbus_mutex_free_at_location()</a>, <a class="el" href="dbus-timeout_8c-source.html#l00339">_dbus_timeout_list_remove_timeout()</a>, and <a class="el" href="dbus-watch_8c-source.html#l00384">_dbus_watch_list_remove_watch()</a>.
</div>
</div><p>
<a class="anchor" name="gd93f1fc853914144e94fc7a7dc0945aa"></a><!-- doxytag: member="dbus-list.c::_dbus_list_remove_last" ref="gd93f1fc853914144e94fc7a7dc0945aa" 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#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> _dbus_list_remove_last           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a value from the list. 
<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 compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>the value to remove. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> if a value was found to remove. </dd></dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00453">453</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00479">_dbus_list_find_last()</a>, <a class="el" href="dbus-list_8c-source.html#l00534">_dbus_list_remove_link()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, and <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.
<p>
Referenced by <a class="el" href="dbus-timeout_8c-source.html#l00309">_dbus_timeout_list_add_timeout()</a>, and <a class="el" href="dbus-watch_8c-source.html#l00351">_dbus_watch_list_add_watch()</a>.
</div>
</div><p>
<a class="anchor" name="g40abea762d9cb44e5ec6b31b1769dc2e"></a><!-- doxytag: member="dbus-list.c::_dbus_list_remove_link" ref="g40abea762d9cb44e5ec6b31b1769dc2e" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_remove_link           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>link</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a link from the list. 
<p>
This is a constant-time operation.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>address of the list head. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the list link to remove. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00534">534</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8c-source.html#l00506">_dbus_list_unlink()</a>.
<p>
Referenced by <a class="el" href="dbus-list_8c-source.html#l00656">_dbus_list_pop_first()</a>, <a class="el" href="dbus-list_8c-source.html#l00679">_dbus_list_pop_last()</a>, <a class="el" href="dbus-list_8c-source.html#l00422">_dbus_list_remove()</a>, <a class="el" href="dbus-list_8c-source.html#l00453">_dbus_list_remove_last()</a>, <a class="el" href="dbus-object-tree_8c-source.html#l00731">_dbus_object_tree_dispatch_and_unlock()</a>, and <a class="el" href="dbus-connection_8c-source.html#l05212">dbus_connection_remove_filter()</a>.
</div>
</div><p>
<a class="anchor" name="g57f1fc73dc1a4f8a7bf9860e000b1703"></a><!-- doxytag: member="dbus-list.c::_dbus_list_unlink" ref="g57f1fc73dc1a4f8a7bf9860e000b1703" args="(DBusList **list, DBusList *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void _dbus_list_unlink           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDBusList.html">DBusList</a> **&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>link</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes the given link from the list, but doesn't free it. 
<p>
<a class="el" href="group__DBusList.html#g40abea762d9cb44e5ec6b31b1769dc2e">_dbus_list_remove_link()</a> both removes the link and also frees it.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>link</em>&nbsp;</td><td>the link in the list </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="dbus-list_8c-source.html#l00506">506</a> of file <a class="el" href="dbus-list_8c-source.html">dbus-list.c</a>.
<p>
References <a class="el" href="dbus-list_8h-source.html#l00037">next</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-list_8h-source.html#l00036">prev</a>.
<p>
Referenced by <a class="el" href="dbus-connection_8c-source.html#l00585">_dbus_connection_message_sent()</a>, <a class="el" href="dbus-list_8c-source.html#l00635">_dbus_list_pop_first_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00534">_dbus_list_remove_link()</a>, and <a class="el" href="dbus-message_8c-source.html#l00253">_dbus_message_remove_size_counter()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:14 2009 for D-Bus by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

Anon7 - 2021