1 * Summary: lists interfaces
2 * Description: this module implement the list support used in
3 * various place in the library.
5 * Copy: See Copyright for the status of this software.
7 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
9 /if not defined(XML_LINK_INCLUDE__)
10 /define XML_LINK_INCLUDE__
12 /include "libxmlrpg/xmlversion"
13 /include "libxmlrpg/xmlTypesC"
15 d xmlLinkPtr s * based(######typedef######)
17 d xmlListPtr s * based(######typedef######)
20 * @lk: the data to deallocate
22 * Callback function used to free data from a list.
24 d xmlListDeallocator...
25 d s * based(######typedef######)
29 * @data0: the first data
30 * @data1: the second data
32 * Callback function used to compare 2 data.
34 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
36 d xmlListDataCompare...
37 d s * based(######typedef######)
41 * @data: the data found in the list
42 * @user: extra user provided data to the walker
44 * Callback function used when walking a list with xmlListWalk().
46 * Returns 0 to stop walking the list, 1 otherwise.
48 d xmlListWalker s * based(######typedef######)
53 d xmlListCreate pr extproc('xmlListCreate')
55 d deallocator value like(xmlListDeallocator)
56 d compare value like(xmlListDataCompare)
58 d xmlListDelete pr extproc('xmlListDelete')
59 d l value like(xmlListPtr)
63 d xmlListSearch pr * extproc('xmlListSearch') void *
64 d l value like(xmlListPtr)
67 d xmlListReverseSearch...
68 d pr * extproc('xmlListReverseSearch') void *
69 d l value like(xmlListPtr)
72 d xmlListInsert pr extproc('xmlListInsert')
74 d l value like(xmlListPtr)
77 d xmlListAppend pr extproc('xmlListAppend')
79 d l value like(xmlListPtr)
82 d xmlListRemoveFirst...
83 d pr extproc('xmlListRemoveFirst')
85 d l value like(xmlListPtr)
88 d xmlListRemoveLast...
89 d pr extproc('xmlListRemoveLast')
91 d l value like(xmlListPtr)
95 d pr extproc('xmlListRemoveAll')
97 d l value like(xmlListPtr)
100 d xmlListClear pr extproc('xmlListClear')
101 d l value like(xmlListPtr)
103 d xmlListEmpty pr extproc('xmlListEmpty')
105 d l value like(xmlListPtr)
107 d xmlListFront pr extproc('xmlListFront')
109 d l value like(xmlListPtr)
111 d xmlListEnd pr extproc('xmlListEnd')
113 d l value like(xmlListPtr)
115 d xmlListSize pr extproc('xmlListSize')
117 d l value like(xmlListPtr)
120 d pr extproc('xmlListPopFront')
121 d l value like(xmlListPtr)
124 d pr extproc('xmlListPopBack')
125 d l value like(xmlListPtr)
127 d xmlListPushFront...
128 d pr extproc('xmlListPushFront')
130 d l value like(xmlListPtr)
131 d data * value void *
134 d pr extproc('xmlListPushBack')
136 d l value like(xmlListPtr)
137 d data * value void *
141 d xmlListReverse pr extproc('xmlListReverse')
142 d l value like(xmlListPtr)
144 d xmlListSort pr extproc('xmlListSort')
145 d l value like(xmlListPtr)
147 d xmlListWalk pr extproc('xmlListWalk')
148 d l value like(xmlListPtr)
149 d walker value like(xmlListWalker)
150 d user * value const void *
152 d xmlListReverseWalk...
153 d pr extproc('xmlListReverseWalk')
154 d l value like(xmlListPtr)
155 d walker value like(xmlListWalker)
156 d user * value const void *
158 d xmlListMerge pr extproc('xmlListMerge')
159 d l1 value like(xmlListPtr)
160 d l2 value like(xmlListPtr)
162 d xmlListDup pr extproc('xmlListDup')
164 d old value like(xmlListPtr)
166 d xmlListCopy pr extproc('xmlListCopy')
168 d cur value like(xmlListPtr)
169 d old value like(xmlListPtr) const
173 d xmlListGetData pr * extproc('xmlListGetData') void *
174 d lk value like(xmlLinkPtr)
179 /endif XML_LINK_INCLUDE__