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"
14 d xmlLinkPtr s * based(######typedef######)
16 d xmlListPtr s * based(######typedef######)
19 * @lk: the data to deallocate
21 * Callback function used to free data from a list.
23 d xmlListDeallocator...
24 d s * based(######typedef######)
28 * @data0: the first data
29 * @data1: the second data
31 * Callback function used to compare 2 data.
33 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
35 d xmlListDataCompare...
36 d s * based(######typedef######)
40 * @data: the data found in the list
41 * @user: extra user provided data to the walker
43 * Callback function used when walking a list with xmlListWalk().
45 * Returns 0 to stop walking the list, 1 otherwise.
47 d xmlListWalker s * based(######typedef######)
52 d xmlListCreate pr extproc('xmlListCreate')
54 d deallocator value like(xmlListDeallocator)
55 d compare value like(xmlListDataCompare)
57 d xmlListDelete pr extproc('xmlListDelete')
58 d l value like(xmlListPtr)
62 d xmlListSearch pr * extproc('xmlListSearch') void *
63 d l value like(xmlListPtr)
66 d xmlListReverseSearch...
67 d pr * extproc('xmlListReverseSearch') void *
68 d l value like(xmlListPtr)
71 d xmlListInsert pr 10i 0 extproc('xmlListInsert')
72 d l value like(xmlListPtr)
75 d xmlListAppend pr 10i 0 extproc('xmlListAppend')
76 d l value like(xmlListPtr)
79 d xmlListRemoveFirst...
80 d pr 10i 0 extproc('xmlListRemoveFirst')
81 d l value like(xmlListPtr)
84 d xmlListRemoveLast...
85 d pr 10i 0 extproc('xmlListRemoveLast')
86 d l value like(xmlListPtr)
90 d pr 10i 0 extproc('xmlListRemoveAll')
91 d l value like(xmlListPtr)
94 d xmlListClear pr extproc('xmlListClear')
95 d l value like(xmlListPtr)
97 d xmlListEmpty pr 10i 0 extproc('xmlListEmpty')
98 d l value like(xmlListPtr)
100 d xmlListFront pr extproc('xmlListFront')
102 d l value like(xmlListPtr)
104 d xmlListEnd pr extproc('xmlListEnd')
106 d l value like(xmlListPtr)
108 d xmlListSize pr 10i 0 extproc('xmlListSize')
109 d l value like(xmlListPtr)
112 d pr extproc('xmlListPopFront')
113 d l value like(xmlListPtr)
116 d pr extproc('xmlListPopBack')
117 d l value like(xmlListPtr)
119 d xmlListPushFront...
120 d pr 10i 0 extproc('xmlListPushFront')
121 d l value like(xmlListPtr)
122 d data * value void *
125 d pr 10i 0 extproc('xmlListPushBack')
126 d l value like(xmlListPtr)
127 d data * value void *
131 d xmlListReverse pr extproc('xmlListReverse')
132 d l value like(xmlListPtr)
134 d xmlListSort pr extproc('xmlListSort')
135 d l value like(xmlListPtr)
137 d xmlListWalk pr extproc('xmlListWalk')
138 d l value like(xmlListPtr)
139 d walker value like(xmlListWalker)
140 d user * value const void *
142 d xmlListReverseWalk...
143 d pr extproc('xmlListReverseWalk')
144 d l value like(xmlListPtr)
145 d walker value like(xmlListWalker)
146 d user * value const void *
148 d xmlListMerge pr extproc('xmlListMerge')
149 d l1 value like(xmlListPtr)
150 d l2 value like(xmlListPtr)
152 d xmlListDup pr extproc('xmlListDup')
154 d old value like(xmlListPtr)
156 d xmlListCopy pr 10i 0 extproc('xmlListCopy')
157 d cur value like(xmlListPtr)
158 d old value like(xmlListPtr) const
162 d xmlListGetData pr * extproc('xmlListGetData') void *
163 d lk value like(xmlLinkPtr)
168 /endif XML_LINK_INCLUDE__