1<?xml version="1.0" encoding="UTF-8"?> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 5 <title>list: lists interfaces</title> 6 <meta name="generator" content="Libxml2 devhelp stylesheet"/> 7 <link rel="start" href="index.html" title="libxml2 Reference Manual"/> 8 <link rel="up" href="general.html" title="API"/> 9 <link rel="stylesheet" href="style.css" type="text/css"/> 10 <link rel="chapter" href="general.html" title="API"/> 11 </head> 12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13 <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> 14 <tr valign="middle"> 15 <td> 16 <a accesskey="p" href="libxml2-hash.html"> 17 <img src="left.png" width="24" height="24" border="0" alt="Prev"/> 18 </a> 19 </td> 20 <td> 21 <a accesskey="u" href="general.html"> 22 <img src="up.png" width="24" height="24" border="0" alt="Up"/> 23 </a> 24 </td> 25 <td> 26 <a accesskey="h" href="index.html"> 27 <img src="home.png" width="24" height="24" border="0" alt="Home"/> 28 </a> 29 </td> 30 <td> 31 <a accesskey="n" href="libxml2-nanoftp.html"> 32 <img src="right.png" width="24" height="24" border="0" alt="Next"/> 33 </a> 34 </td> 35 <th width="100%" align="center">libxml2 Reference Manual</th> 36 </tr> 37 </table> 38 <h2> 39 <span class="refentrytitle">list</span> 40 </h2> 41 <p>list - lists interfaces</p> 42 <p>this module implement the list support used in various place in the library. </p> 43 <p>Author(s): Gary Pennington <Gary.Pennington@uk.sun.com> </p> 44 <div class="refsynopsisdiv"> 45 <h2>Synopsis</h2> 46 <pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>; 47typedef <a href="libxml2-list.html#xmlLink">xmlLink</a> * <a href="#xmlLinkPtr">xmlLinkPtr</a>; 48typedef struct _xmlList <a href="#xmlList">xmlList</a>; 49typedef <a href="libxml2-list.html#xmlList">xmlList</a> * <a href="#xmlListPtr">xmlListPtr</a>; 50int <a href="#xmlListInsert">xmlListInsert</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 51int <a href="#xmlListEmpty">xmlListEmpty</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 52void <a href="#xmlListSort">xmlListSort</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 53typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a> (<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk); 54void <a href="#xmlListMerge">xmlListMerge</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br/> <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2); 55<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> <a href="#xmlListCreate">xmlListCreate</a> (<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/> <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare); 56<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> <a href="#xmlListDup">xmlListDup</a> (const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old); 57int <a href="#xmlListRemoveLast">xmlListRemoveLast</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 58void <a href="#xmlListWalk">xmlListWalk</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/> const void * user); 59int <a href="#xmlListRemoveAll">xmlListRemoveAll</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 60int <a href="#xmlListCopy">xmlListCopy</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/> const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old); 61void <a href="#xmlListPopFront">xmlListPopFront</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 62void * <a href="#xmlListSearch">xmlListSearch</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 63typedef int <a href="#xmlListWalker">xmlListWalker</a> (const void * data, <br/> const void * user); 64int <a href="#xmlListRemoveFirst">xmlListRemoveFirst</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 65void <a href="#xmlListReverseWalk">xmlListReverseWalk</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/> const void * user); 66void * <a href="#xmlLinkGetData">xmlLinkGetData</a> (<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk); 67void <a href="#xmlListClear">xmlListClear</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 68int <a href="#xmlListAppend">xmlListAppend</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 69void <a href="#xmlListReverse">xmlListReverse</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 70typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a> (const void * data0, <br/> const void * data1); 71int <a href="#xmlListSize">xmlListSize</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 72int <a href="#xmlListPushFront">xmlListPushFront</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 73<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> <a href="#xmlListEnd">xmlListEnd</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 74void <a href="#xmlListPopBack">xmlListPopBack</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 75void * <a href="#xmlListReverseSearch">xmlListReverseSearch</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 76int <a href="#xmlListPushBack">xmlListPushBack</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data); 77<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> <a href="#xmlListFront">xmlListFront</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 78void <a href="#xmlListDelete">xmlListDelete</a> (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l); 79</pre> 80 </div> 81 <div class="refsect1" lang="en"> 82 <h2>Description</h2> 83 </div> 84 <div class="refsect1" lang="en"> 85 <h2>Details</h2> 86 <div class="refsect2" lang="en"> 87 <div class="refsect2" lang="en"><h3><a name="xmlLink">Structure </a>xmlLink</h3><pre class="programlisting">struct _xmlLink { 88The content of this structure is not made public by the API. 89} xmlLink; 90</pre><p/> 91</div> 92 <hr/> 93 <div class="refsect2" lang="en"><h3><a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3><pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr; 94</pre><p/> 95</div> 96 <hr/> 97 <div class="refsect2" lang="en"><h3><a name="xmlList">Structure </a>xmlList</h3><pre class="programlisting">struct _xmlList { 98The content of this structure is not made public by the API. 99} xmlList; 100</pre><p/> 101</div> 102 <hr/> 103 <div class="refsect2" lang="en"><h3><a name="xmlListPtr">Typedef </a>xmlListPtr</h3><pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr; 104</pre><p/> 105</div> 106 <hr/> 107 <div class="refsect2" lang="en"><h3><a name="xmlListDataCompare"/>Function type xmlListDataCompare</h3><pre class="programlisting">int xmlListDataCompare (const void * data0, <br/> const void * data1)<br/> 108</pre><p>Callback function used to compare 2 data.</p> 109<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>data0</tt></i>:</span></td><td>the first data</td></tr><tr><td><span class="term"><i><tt>data1</tt></i>:</span></td><td>the second data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 is equality, -1 or 1 otherwise depending on the ordering.</td></tr></tbody></table></div></div> 110 <hr/> 111 <div class="refsect2" lang="en"><h3><a name="xmlListDeallocator"/>Function type xmlListDeallocator</h3><pre class="programlisting">void xmlListDeallocator (<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br/> 112</pre><p>Callback function used to free data from a list.</p> 113<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>the data to deallocate</td></tr></tbody></table></div></div> 114 <hr/> 115 <div class="refsect2" lang="en"><h3><a name="xmlListWalker"/>Function type xmlListWalker</h3><pre class="programlisting">int xmlListWalker (const void * data, <br/> const void * user)<br/> 116</pre><p>Callback function used when walking a list with xmlListWalk().</p> 117<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data found in the list</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>extra user provided data to the walker</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 to stop walking the list, 1 otherwise.</td></tr></tbody></table></div></div> 118 <hr/> 119 <div class="refsect2" lang="en"><h3><a name="xmlLinkGetData"/>xmlLinkGetData ()</h3><pre class="programlisting">void * xmlLinkGetData (<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br/> 120</pre><p>See Returns.</p> 121<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>a link</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data referenced from this link</td></tr></tbody></table></div></div> 122 <hr/> 123 <div class="refsect2" lang="en"><h3><a name="xmlListAppend"/>xmlListAppend ()</h3><pre class="programlisting">int xmlListAppend (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 124</pre><p>Insert data in the ordered list at the end for this value</p> 125<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of failure</td></tr></tbody></table></div></div> 126 <hr/> 127 <div class="refsect2" lang="en"><h3><a name="xmlListClear"/>xmlListClear ()</h3><pre class="programlisting">void xmlListClear (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 128</pre><p>Remove the all data in the list</p> 129<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div> 130 <hr/> 131 <div class="refsect2" lang="en"><h3><a name="xmlListCopy"/>xmlListCopy ()</h3><pre class="programlisting">int xmlListCopy (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/> const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br/> 132</pre><p>Move all the element from the old list in the new list</p> 133<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the new list</td></tr><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the old list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success 1 in case of error</td></tr></tbody></table></div></div> 134 <hr/> 135 <div class="refsect2" lang="en"><h3><a name="xmlListCreate"/>xmlListCreate ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> xmlListCreate (<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/> <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br/> 136</pre><p>Create a new list</p> 137<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>deallocator</tt></i>:</span></td><td>an optional deallocator function</td></tr><tr><td><span class="term"><i><tt>compare</tt></i>:</span></td><td>an optional comparison function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new list or NULL in case of error</td></tr></tbody></table></div></div> 138 <hr/> 139 <div class="refsect2" lang="en"><h3><a name="xmlListDelete"/>xmlListDelete ()</h3><pre class="programlisting">void xmlListDelete (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 140</pre><p>Deletes the list and its associated data</p> 141<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div> 142 <hr/> 143 <div class="refsect2" lang="en"><h3><a name="xmlListDup"/>xmlListDup ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> xmlListDup (const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br/> 144</pre><p>Duplicate the list</p> 145<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>old</tt></i>:</span></td><td>the list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new copy of the list or NULL in case of error</td></tr></tbody></table></div></div> 146 <hr/> 147 <div class="refsect2" lang="en"><h3><a name="xmlListEmpty"/>xmlListEmpty ()</h3><pre class="programlisting">int xmlListEmpty (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 148</pre><p>Is the list empty ?</p> 149<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the list is empty, 0 if not empty and -1 in case of error</td></tr></tbody></table></div></div> 150 <hr/> 151 <div class="refsect2" lang="en"><h3><a name="xmlListEnd"/>xmlListEnd ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> xmlListEnd (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 152</pre><p>Get the last element in the list</p> 153<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element in the list, or NULL</td></tr></tbody></table></div></div> 154 <hr/> 155 <div class="refsect2" lang="en"><h3><a name="xmlListFront"/>xmlListFront ()</h3><pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> xmlListFront (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 156</pre><p>Get the first element in the list</p> 157<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element in the list, or NULL</td></tr></tbody></table></div></div> 158 <hr/> 159 <div class="refsect2" lang="en"><h3><a name="xmlListInsert"/>xmlListInsert ()</h3><pre class="programlisting">int xmlListInsert (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 160</pre><p>Insert data in the ordered list at the beginning for this value</p> 161<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of failure</td></tr></tbody></table></div></div> 162 <hr/> 163 <div class="refsect2" lang="en"><h3><a name="xmlListMerge"/>xmlListMerge ()</h3><pre class="programlisting">void xmlListMerge (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br/> <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br/> 164</pre><p>include all the elements of the second list in the first one and clear the second list</p> 165<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l1</tt></i>:</span></td><td>the original list</td></tr><tr><td><span class="term"><i><tt>l2</tt></i>:</span></td><td>the new list</td></tr></tbody></table></div></div> 166 <hr/> 167 <div class="refsect2" lang="en"><h3><a name="xmlListPopBack"/>xmlListPopBack ()</h3><pre class="programlisting">void xmlListPopBack (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 168</pre><p>Removes the last element in the list</p> 169<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div> 170 <hr/> 171 <div class="refsect2" lang="en"><h3><a name="xmlListPopFront"/>xmlListPopFront ()</h3><pre class="programlisting">void xmlListPopFront (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 172</pre><p>Removes the first element in the list</p> 173<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div> 174 <hr/> 175 <div class="refsect2" lang="en"><h3><a name="xmlListPushBack"/>xmlListPushBack ()</h3><pre class="programlisting">int xmlListPushBack (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 176</pre><p>add the new data at the end of the list</p> 177<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 otherwise</td></tr></tbody></table></div></div> 178 <hr/> 179 <div class="refsect2" lang="en"><h3><a name="xmlListPushFront"/>xmlListPushFront ()</h3><pre class="programlisting">int xmlListPushFront (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 180</pre><p>add the new data at the beginning of the list</p> 181<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 otherwise</td></tr></tbody></table></div></div> 182 <hr/> 183 <div class="refsect2" lang="en"><h3><a name="xmlListRemoveAll"/>xmlListRemoveAll ()</h3><pre class="programlisting">int xmlListRemoveAll (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 184</pre><p>Remove the all instance associated to data in the list</p> 185<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of deallocation, or 0 if not found</td></tr></tbody></table></div></div> 186 <hr/> 187 <div class="refsect2" lang="en"><h3><a name="xmlListRemoveFirst"/>xmlListRemoveFirst ()</h3><pre class="programlisting">int xmlListRemoveFirst (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 188</pre><p>Remove the first instance associated to data in the list</p> 189<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occured, or 0 if not found</td></tr></tbody></table></div></div> 190 <hr/> 191 <div class="refsect2" lang="en"><h3><a name="xmlListRemoveLast"/>xmlListRemoveLast ()</h3><pre class="programlisting">int xmlListRemoveLast (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 192</pre><p>Remove the last instance associated to data in the list</p> 193<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occured, or 0 if not found</td></tr></tbody></table></div></div> 194 <hr/> 195 <div class="refsect2" lang="en"><h3><a name="xmlListReverse"/>xmlListReverse ()</h3><pre class="programlisting">void xmlListReverse (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 196</pre><p>Reverse the order of the elements in the list</p> 197<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div> 198 <hr/> 199 <div class="refsect2" lang="en"><h3><a name="xmlListReverseSearch"/>xmlListReverseSearch ()</h3><pre class="programlisting">void * xmlListReverseSearch (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 200</pre><p>Search the list in reverse order for an existing value of @data</p> 201<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div></div> 202 <hr/> 203 <div class="refsect2" lang="en"><h3><a name="xmlListReverseWalk"/>xmlListReverseWalk ()</h3><pre class="programlisting">void xmlListReverseWalk (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/> const void * user)<br/> 204</pre><p>Walk all the element of the list in reverse order and apply the walker function to it</p> 205<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div></div> 206 <hr/> 207 <div class="refsect2" lang="en"><h3><a name="xmlListSearch"/>xmlListSearch ()</h3><pre class="programlisting">void * xmlListSearch (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> void * data)<br/> 208</pre><p>Search the list for an existing value of @data</p> 209<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div></div> 210 <hr/> 211 <div class="refsect2" lang="en"><h3><a name="xmlListSize"/>xmlListSize ()</h3><pre class="programlisting">int xmlListSize (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 212</pre><p>Get the number of elements in the list</p> 213<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list or -1 in case of error</td></tr></tbody></table></div></div> 214 <hr/> 215 <div class="refsect2" lang="en"><h3><a name="xmlListSort"/>xmlListSort ()</h3><pre class="programlisting">void xmlListSort (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/> 216</pre><p>Sort all the elements in the list</p> 217<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div> 218 <hr/> 219 <div class="refsect2" lang="en"><h3><a name="xmlListWalk"/>xmlListWalk ()</h3><pre class="programlisting">void xmlListWalk (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/> <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/> const void * user)<br/> 220</pre><p>Walk all the element of the first from first to last and apply the walker function to it</p> 221<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div></div> 222 <hr/> 223 </div> 224 </div> 225 </body> 226</html> 227