xref: /aosp_15_r20/external/libxml2/doc/devhelp/libxml2-list.html (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>list: lists interfaces</title>
5<meta name="generator" content="Libxml2 devhelp stylesheet">
6<link rel="start" href="index.html" title="libxml2 Reference Manual">
7<link rel="up" href="general.html" title="API">
8<link rel="stylesheet" href="style.css" type="text/css">
9<link rel="chapter" href="general.html" title="API">
10</head>
11<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
12<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
13<td><a accesskey="p" href="libxml2-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
14<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
15<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
16<td><a accesskey="n" href="libxml2-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
17<th width="100%" align="center">libxml2 Reference Manual</th>
18</tr></table>
19<h2><span class="refentrytitle">list</span></h2>
20<p>list - lists interfaces</p>
21<p>this module implement the list support used in various place in the library. </p>
22<p>Author(s): Gary Pennington &lt;[email protected]&gt; </p>
23<div class="refsynopsisdiv">
24<h2>Synopsis</h2>
25<pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
26typedef <a href="libxml2-list.html#xmlLink">xmlLink</a> * <a href="#xmlLinkPtr">xmlLinkPtr</a>;
27typedef struct _xmlList <a href="#xmlList">xmlList</a>;
28typedef <a href="libxml2-list.html#xmlList">xmlList</a> * <a href="#xmlListPtr">xmlListPtr</a>;
29void *	<a href="#xmlLinkGetData">xmlLinkGetData</a>			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
30int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
31void	<a href="#xmlListClear">xmlListClear</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
32int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
33<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);
34typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>		(const void * data0, <br>					 const void * data1);
35typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a>		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
36void	<a href="#xmlListDelete">xmlListDelete</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
37<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
38int	<a href="#xmlListEmpty">xmlListEmpty</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
39<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListEnd">xmlListEnd</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
40<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListFront">xmlListFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
41int	<a href="#xmlListInsert">xmlListInsert</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
42void	<a href="#xmlListMerge">xmlListMerge</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
43void	<a href="#xmlListPopBack">xmlListPopBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
44void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
45int	<a href="#xmlListPushBack">xmlListPushBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
46int	<a href="#xmlListPushFront">xmlListPushFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
47int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
48int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
49int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
50void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
51void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
52void	<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>					 void * user);
53void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
54int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
55void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
56void	<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>					 void * user);
57typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br>					 void * user);
58</pre>
59</div>
60<div class="refsect1" lang="en"><h2>Description</h2></div>
61<div class="refsect1" lang="en">
62<h2>Details</h2>
63<div class="refsect2" lang="en">
64<div class="refsect2" lang="en">
65<h3>
66<a name="xmlLink">Structure </a>xmlLink</h3>
67<pre class="programlisting">struct _xmlLink {
68The content of this structure is not made public by the API.
69} xmlLink;
70</pre>
71<p></p>
72</div>
73<hr>
74<div class="refsect2" lang="en">
75<h3>
76<a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3>
77<pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
78</pre>
79<p></p>
80</div>
81<hr>
82<div class="refsect2" lang="en">
83<h3>
84<a name="xmlList">Structure </a>xmlList</h3>
85<pre class="programlisting">struct _xmlList {
86The content of this structure is not made public by the API.
87} xmlList;
88</pre>
89<p></p>
90</div>
91<hr>
92<div class="refsect2" lang="en">
93<h3>
94<a name="xmlListPtr">Typedef </a>xmlListPtr</h3>
95<pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
96</pre>
97<p></p>
98</div>
99<hr>
100<div class="refsect2" lang="en">
101<h3>
102<a name="xmlListDataCompare"></a>Function type xmlListDataCompare</h3>
103<pre class="programlisting">int	xmlListDataCompare		(const void * data0, <br>					 const void * data1)<br>
104</pre>
105<p>Callback function used to compare 2 data.</p>
106<div class="variablelist"><table border="0">
107<col align="left">
108<tbody>
109<tr>
110<td><span class="term"><i><tt>data0</tt></i>:</span></td>
111<td>the first data</td>
112</tr>
113<tr>
114<td><span class="term"><i><tt>data1</tt></i>:</span></td>
115<td>the second data</td>
116</tr>
117<tr>
118<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
119<td>0 is equality, -1 or 1 otherwise depending on the ordering.</td>
120</tr>
121</tbody>
122</table></div>
123</div>
124<hr>
125<div class="refsect2" lang="en">
126<h3>
127<a name="xmlListDeallocator"></a>Function type xmlListDeallocator</h3>
128<pre class="programlisting">void	xmlListDeallocator		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
129</pre>
130<p>Callback function used to free data from a list.</p>
131<div class="variablelist"><table border="0">
132<col align="left">
133<tbody><tr>
134<td><span class="term"><i><tt>lk</tt></i>:</span></td>
135<td>the data to deallocate</td>
136</tr></tbody>
137</table></div>
138</div>
139<hr>
140<div class="refsect2" lang="en">
141<h3>
142<a name="xmlListWalker"></a>Function type xmlListWalker</h3>
143<pre class="programlisting">int	xmlListWalker			(const void * data, <br>					 void * user)<br>
144</pre>
145<p>Callback function used when walking a list with xmlListWalk().</p>
146<div class="variablelist"><table border="0">
147<col align="left">
148<tbody>
149<tr>
150<td><span class="term"><i><tt>data</tt></i>:</span></td>
151<td>the data found in the list</td>
152</tr>
153<tr>
154<td><span class="term"><i><tt>user</tt></i>:</span></td>
155<td>extra user provided data to the walker</td>
156</tr>
157<tr>
158<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
159<td>0 to stop walking the list, 1 otherwise.</td>
160</tr>
161</tbody>
162</table></div>
163</div>
164<hr>
165<div class="refsect2" lang="en">
166<h3>
167<a name="xmlLinkGetData"></a>xmlLinkGetData ()</h3>
168<pre class="programlisting">void *	xmlLinkGetData			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
169</pre>
170<p>See Returns.</p>
171<div class="variablelist"><table border="0">
172<col align="left">
173<tbody>
174<tr>
175<td><span class="term"><i><tt>lk</tt></i>:</span></td>
176<td>a link</td>
177</tr>
178<tr>
179<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
180<td>a pointer to the data referenced from this link</td>
181</tr>
182</tbody>
183</table></div>
184</div>
185<hr>
186<div class="refsect2" lang="en">
187<h3>
188<a name="xmlListAppend"></a>xmlListAppend ()</h3>
189<pre class="programlisting">int	xmlListAppend			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
190</pre>
191<p>Insert data in the ordered list at the end for this value</p>
192<div class="variablelist"><table border="0">
193<col align="left">
194<tbody>
195<tr>
196<td><span class="term"><i><tt>l</tt></i>:</span></td>
197<td>a list</td>
198</tr>
199<tr>
200<td><span class="term"><i><tt>data</tt></i>:</span></td>
201<td>the data</td>
202</tr>
203<tr>
204<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
205<td>0 in case of success, 1 in case of failure</td>
206</tr>
207</tbody>
208</table></div>
209</div>
210<hr>
211<div class="refsect2" lang="en">
212<h3>
213<a name="xmlListClear"></a>xmlListClear ()</h3>
214<pre class="programlisting">void	xmlListClear			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
215</pre>
216<p>Remove the all data in the list</p>
217<div class="variablelist"><table border="0">
218<col align="left">
219<tbody><tr>
220<td><span class="term"><i><tt>l</tt></i>:</span></td>
221<td>a list</td>
222</tr></tbody>
223</table></div>
224</div>
225<hr>
226<div class="refsect2" lang="en">
227<h3>
228<a name="xmlListCopy"></a>xmlListCopy ()</h3>
229<pre class="programlisting">int	xmlListCopy			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
230</pre>
231<p>Move all the element from the old list in the new list</p>
232<div class="variablelist"><table border="0">
233<col align="left">
234<tbody>
235<tr>
236<td><span class="term"><i><tt>cur</tt></i>:</span></td>
237<td>the new list</td>
238</tr>
239<tr>
240<td><span class="term"><i><tt>old</tt></i>:</span></td>
241<td>the old list</td>
242</tr>
243<tr>
244<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
245<td>0 in case of success 1 in case of error</td>
246</tr>
247</tbody>
248</table></div>
249</div>
250<hr>
251<div class="refsect2" lang="en">
252<h3>
253<a name="xmlListCreate"></a>xmlListCreate ()</h3>
254<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>
255</pre>
256<p>Create a new list</p>
257<div class="variablelist"><table border="0">
258<col align="left">
259<tbody>
260<tr>
261<td><span class="term"><i><tt>deallocator</tt></i>:</span></td>
262<td>an optional deallocator function</td>
263</tr>
264<tr>
265<td><span class="term"><i><tt>compare</tt></i>:</span></td>
266<td>an optional comparison function</td>
267</tr>
268<tr>
269<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
270<td>the new list or NULL in case of error</td>
271</tr>
272</tbody>
273</table></div>
274</div>
275<hr>
276<div class="refsect2" lang="en">
277<h3>
278<a name="xmlListDelete"></a>xmlListDelete ()</h3>
279<pre class="programlisting">void	xmlListDelete			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
280</pre>
281<p>Deletes the list and its associated data</p>
282<div class="variablelist"><table border="0">
283<col align="left">
284<tbody><tr>
285<td><span class="term"><i><tt>l</tt></i>:</span></td>
286<td>a list</td>
287</tr></tbody>
288</table></div>
289</div>
290<hr>
291<div class="refsect2" lang="en">
292<h3>
293<a name="xmlListDup"></a>xmlListDup ()</h3>
294<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListDup		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
295</pre>
296<p>Duplicate the list</p>
297<div class="variablelist"><table border="0">
298<col align="left">
299<tbody>
300<tr>
301<td><span class="term"><i><tt>old</tt></i>:</span></td>
302<td>the list</td>
303</tr>
304<tr>
305<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
306<td>a new copy of the list or NULL in case of error</td>
307</tr>
308</tbody>
309</table></div>
310</div>
311<hr>
312<div class="refsect2" lang="en">
313<h3>
314<a name="xmlListEmpty"></a>xmlListEmpty ()</h3>
315<pre class="programlisting">int	xmlListEmpty			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
316</pre>
317<p>Is the list empty ?</p>
318<div class="variablelist"><table border="0">
319<col align="left">
320<tbody>
321<tr>
322<td><span class="term"><i><tt>l</tt></i>:</span></td>
323<td>a list</td>
324</tr>
325<tr>
326<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
327<td>1 if the list is empty, 0 if not empty and -1 in case of error</td>
328</tr>
329</tbody>
330</table></div>
331</div>
332<hr>
333<div class="refsect2" lang="en">
334<h3>
335<a name="xmlListEnd"></a>xmlListEnd ()</h3>
336<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
337</pre>
338<p>Get the last element in the list</p>
339<div class="variablelist"><table border="0">
340<col align="left">
341<tbody>
342<tr>
343<td><span class="term"><i><tt>l</tt></i>:</span></td>
344<td>a list</td>
345</tr>
346<tr>
347<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
348<td>the last element in the list, or NULL</td>
349</tr>
350</tbody>
351</table></div>
352</div>
353<hr>
354<div class="refsect2" lang="en">
355<h3>
356<a name="xmlListFront"></a>xmlListFront ()</h3>
357<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
358</pre>
359<p>Get the first element in the list</p>
360<div class="variablelist"><table border="0">
361<col align="left">
362<tbody>
363<tr>
364<td><span class="term"><i><tt>l</tt></i>:</span></td>
365<td>a list</td>
366</tr>
367<tr>
368<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
369<td>the first element in the list, or NULL</td>
370</tr>
371</tbody>
372</table></div>
373</div>
374<hr>
375<div class="refsect2" lang="en">
376<h3>
377<a name="xmlListInsert"></a>xmlListInsert ()</h3>
378<pre class="programlisting">int	xmlListInsert			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
379</pre>
380<p>Insert data in the ordered list at the beginning for this value</p>
381<div class="variablelist"><table border="0">
382<col align="left">
383<tbody>
384<tr>
385<td><span class="term"><i><tt>l</tt></i>:</span></td>
386<td>a list</td>
387</tr>
388<tr>
389<td><span class="term"><i><tt>data</tt></i>:</span></td>
390<td>the data</td>
391</tr>
392<tr>
393<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
394<td>0 in case of success, 1 in case of failure</td>
395</tr>
396</tbody>
397</table></div>
398</div>
399<hr>
400<div class="refsect2" lang="en">
401<h3>
402<a name="xmlListMerge"></a>xmlListMerge ()</h3>
403<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>
404</pre>
405<p>include all the elements of the second list in the first one and clear the second list</p>
406<div class="variablelist"><table border="0">
407<col align="left">
408<tbody>
409<tr>
410<td><span class="term"><i><tt>l1</tt></i>:</span></td>
411<td>the original list</td>
412</tr>
413<tr>
414<td><span class="term"><i><tt>l2</tt></i>:</span></td>
415<td>the new list</td>
416</tr>
417</tbody>
418</table></div>
419</div>
420<hr>
421<div class="refsect2" lang="en">
422<h3>
423<a name="xmlListPopBack"></a>xmlListPopBack ()</h3>
424<pre class="programlisting">void	xmlListPopBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
425</pre>
426<p>Removes the last element in the list</p>
427<div class="variablelist"><table border="0">
428<col align="left">
429<tbody><tr>
430<td><span class="term"><i><tt>l</tt></i>:</span></td>
431<td>a list</td>
432</tr></tbody>
433</table></div>
434</div>
435<hr>
436<div class="refsect2" lang="en">
437<h3>
438<a name="xmlListPopFront"></a>xmlListPopFront ()</h3>
439<pre class="programlisting">void	xmlListPopFront			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
440</pre>
441<p>Removes the first element in the list</p>
442<div class="variablelist"><table border="0">
443<col align="left">
444<tbody><tr>
445<td><span class="term"><i><tt>l</tt></i>:</span></td>
446<td>a list</td>
447</tr></tbody>
448</table></div>
449</div>
450<hr>
451<div class="refsect2" lang="en">
452<h3>
453<a name="xmlListPushBack"></a>xmlListPushBack ()</h3>
454<pre class="programlisting">int	xmlListPushBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
455</pre>
456<p>add the new data at the end of the list</p>
457<div class="variablelist"><table border="0">
458<col align="left">
459<tbody>
460<tr>
461<td><span class="term"><i><tt>l</tt></i>:</span></td>
462<td>a list</td>
463</tr>
464<tr>
465<td><span class="term"><i><tt>data</tt></i>:</span></td>
466<td>new data</td>
467</tr>
468<tr>
469<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
470<td>1 if successful, 0 otherwise</td>
471</tr>
472</tbody>
473</table></div>
474</div>
475<hr>
476<div class="refsect2" lang="en">
477<h3>
478<a name="xmlListPushFront"></a>xmlListPushFront ()</h3>
479<pre class="programlisting">int	xmlListPushFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
480</pre>
481<p>add the new data at the beginning of the list</p>
482<div class="variablelist"><table border="0">
483<col align="left">
484<tbody>
485<tr>
486<td><span class="term"><i><tt>l</tt></i>:</span></td>
487<td>a list</td>
488</tr>
489<tr>
490<td><span class="term"><i><tt>data</tt></i>:</span></td>
491<td>new data</td>
492</tr>
493<tr>
494<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
495<td>1 if successful, 0 otherwise</td>
496</tr>
497</tbody>
498</table></div>
499</div>
500<hr>
501<div class="refsect2" lang="en">
502<h3>
503<a name="xmlListRemoveAll"></a>xmlListRemoveAll ()</h3>
504<pre class="programlisting">int	xmlListRemoveAll		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
505</pre>
506<p>Remove the all instance associated to data in the list</p>
507<div class="variablelist"><table border="0">
508<col align="left">
509<tbody>
510<tr>
511<td><span class="term"><i><tt>l</tt></i>:</span></td>
512<td>a list</td>
513</tr>
514<tr>
515<td><span class="term"><i><tt>data</tt></i>:</span></td>
516<td>list data</td>
517</tr>
518<tr>
519<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
520<td>the number of deallocation, or 0 if not found</td>
521</tr>
522</tbody>
523</table></div>
524</div>
525<hr>
526<div class="refsect2" lang="en">
527<h3>
528<a name="xmlListRemoveFirst"></a>xmlListRemoveFirst ()</h3>
529<pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
530</pre>
531<p>Remove the first instance associated to data in the list</p>
532<div class="variablelist"><table border="0">
533<col align="left">
534<tbody>
535<tr>
536<td><span class="term"><i><tt>l</tt></i>:</span></td>
537<td>a list</td>
538</tr>
539<tr>
540<td><span class="term"><i><tt>data</tt></i>:</span></td>
541<td>list data</td>
542</tr>
543<tr>
544<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
545<td>1 if a deallocation occurred, or 0 if not found</td>
546</tr>
547</tbody>
548</table></div>
549</div>
550<hr>
551<div class="refsect2" lang="en">
552<h3>
553<a name="xmlListRemoveLast"></a>xmlListRemoveLast ()</h3>
554<pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
555</pre>
556<p>Remove the last instance associated to data in the list</p>
557<div class="variablelist"><table border="0">
558<col align="left">
559<tbody>
560<tr>
561<td><span class="term"><i><tt>l</tt></i>:</span></td>
562<td>a list</td>
563</tr>
564<tr>
565<td><span class="term"><i><tt>data</tt></i>:</span></td>
566<td>list data</td>
567</tr>
568<tr>
569<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
570<td>1 if a deallocation occurred, or 0 if not found</td>
571</tr>
572</tbody>
573</table></div>
574</div>
575<hr>
576<div class="refsect2" lang="en">
577<h3>
578<a name="xmlListReverse"></a>xmlListReverse ()</h3>
579<pre class="programlisting">void	xmlListReverse			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
580</pre>
581<p>Reverse the order of the elements in the list</p>
582<div class="variablelist"><table border="0">
583<col align="left">
584<tbody><tr>
585<td><span class="term"><i><tt>l</tt></i>:</span></td>
586<td>a list</td>
587</tr></tbody>
588</table></div>
589</div>
590<hr>
591<div class="refsect2" lang="en">
592<h3>
593<a name="xmlListReverseSearch"></a>xmlListReverseSearch ()</h3>
594<pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
595</pre>
596<p>Search the list in reverse order for an existing value of @data</p>
597<div class="variablelist"><table border="0">
598<col align="left">
599<tbody>
600<tr>
601<td><span class="term"><i><tt>l</tt></i>:</span></td>
602<td>a list</td>
603</tr>
604<tr>
605<td><span class="term"><i><tt>data</tt></i>:</span></td>
606<td>a search value</td>
607</tr>
608<tr>
609<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
610<td>the value associated to @data or NULL in case of error</td>
611</tr>
612</tbody>
613</table></div>
614</div>
615<hr>
616<div class="refsect2" lang="en">
617<h3>
618<a name="xmlListReverseWalk"></a>xmlListReverseWalk ()</h3>
619<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>					 void * user)<br>
620</pre>
621<p>Walk all the element of the list in reverse order and apply the walker function to it</p>
622<div class="variablelist"><table border="0">
623<col align="left">
624<tbody>
625<tr>
626<td><span class="term"><i><tt>l</tt></i>:</span></td>
627<td>a list</td>
628</tr>
629<tr>
630<td><span class="term"><i><tt>walker</tt></i>:</span></td>
631<td>a processing function</td>
632</tr>
633<tr>
634<td><span class="term"><i><tt>user</tt></i>:</span></td>
635<td>a user parameter passed to the walker function</td>
636</tr>
637</tbody>
638</table></div>
639</div>
640<hr>
641<div class="refsect2" lang="en">
642<h3>
643<a name="xmlListSearch"></a>xmlListSearch ()</h3>
644<pre class="programlisting">void *	xmlListSearch			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
645</pre>
646<p>Search the list for an existing value of @data</p>
647<div class="variablelist"><table border="0">
648<col align="left">
649<tbody>
650<tr>
651<td><span class="term"><i><tt>l</tt></i>:</span></td>
652<td>a list</td>
653</tr>
654<tr>
655<td><span class="term"><i><tt>data</tt></i>:</span></td>
656<td>a search value</td>
657</tr>
658<tr>
659<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
660<td>the value associated to @data or NULL in case of error</td>
661</tr>
662</tbody>
663</table></div>
664</div>
665<hr>
666<div class="refsect2" lang="en">
667<h3>
668<a name="xmlListSize"></a>xmlListSize ()</h3>
669<pre class="programlisting">int	xmlListSize			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
670</pre>
671<p>Get the number of elements in the list</p>
672<div class="variablelist"><table border="0">
673<col align="left">
674<tbody>
675<tr>
676<td><span class="term"><i><tt>l</tt></i>:</span></td>
677<td>a list</td>
678</tr>
679<tr>
680<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
681<td>the number of elements in the list or -1 in case of error</td>
682</tr>
683</tbody>
684</table></div>
685</div>
686<hr>
687<div class="refsect2" lang="en">
688<h3>
689<a name="xmlListSort"></a>xmlListSort ()</h3>
690<pre class="programlisting">void	xmlListSort			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
691</pre>
692<p>Sort all the elements in the list</p>
693<div class="variablelist"><table border="0">
694<col align="left">
695<tbody><tr>
696<td><span class="term"><i><tt>l</tt></i>:</span></td>
697<td>a list</td>
698</tr></tbody>
699</table></div>
700</div>
701<hr>
702<div class="refsect2" lang="en">
703<h3>
704<a name="xmlListWalk"></a>xmlListWalk ()</h3>
705<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>					 void * user)<br>
706</pre>
707<p>Walk all the element of the first from first to last and apply the walker function to it</p>
708<div class="variablelist"><table border="0">
709<col align="left">
710<tbody>
711<tr>
712<td><span class="term"><i><tt>l</tt></i>:</span></td>
713<td>a list</td>
714</tr>
715<tr>
716<td><span class="term"><i><tt>walker</tt></i>:</span></td>
717<td>a processing function</td>
718</tr>
719<tr>
720<td><span class="term"><i><tt>user</tt></i>:</span></td>
721<td>a user parameter passed to the walker function</td>
722</tr>
723</tbody>
724</table></div>
725</div>
726<hr>
727</div>
728</div>
729</body>
730</html>
731