00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __XML_LINK_INCLUDE__
00022
00023 #define __XML_LINK_INCLUDE__
00024
00025
00026
00027 #include <libxml/xmlversion.h>
00028
00029
00030
00031 #ifdef __cplusplus
00032
00033 extern "C" {
00034
00035 #endif
00036
00037
00038
00039 typedef struct _xmlLink xmlLink;
00040
00041 typedef xmlLink *xmlLinkPtr;
00042
00043
00044
00045 typedef struct _xmlList xmlList;
00046
00047 typedef xmlList *xmlListPtr;
00048
00049
00050
00063 typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
00064
00083 typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
00084
00103 typedef int (*xmlListWalker) (const void *data, const void *user);
00104
00105
00106
00107
00108
00109 XMLPUBFUN xmlListPtr XMLCALL
00110
00111 xmlListCreate (xmlListDeallocator deallocator,
00112
00113 xmlListDataCompare compare);
00114
00115 XMLPUBFUN void XMLCALL
00116
00117 xmlListDelete (xmlListPtr l);
00118
00119
00120
00121
00122
00123 XMLPUBFUN void * XMLCALL
00124
00125 xmlListSearch (xmlListPtr l,
00126
00127 void *data);
00128
00129 XMLPUBFUN void * XMLCALL
00130
00131 xmlListReverseSearch (xmlListPtr l,
00132
00133 void *data);
00134
00135 XMLPUBFUN int XMLCALL
00136
00137 xmlListInsert (xmlListPtr l,
00138
00139 void *data) ;
00140
00141 XMLPUBFUN int XMLCALL
00142
00143 xmlListAppend (xmlListPtr l,
00144
00145 void *data) ;
00146
00147 XMLPUBFUN int XMLCALL
00148
00149 xmlListRemoveFirst (xmlListPtr l,
00150
00151 void *data);
00152
00153 XMLPUBFUN int XMLCALL
00154
00155 xmlListRemoveLast (xmlListPtr l,
00156
00157 void *data);
00158
00159 XMLPUBFUN int XMLCALL
00160
00161 xmlListRemoveAll (xmlListPtr l,
00162
00163 void *data);
00164
00165 XMLPUBFUN void XMLCALL
00166
00167 xmlListClear (xmlListPtr l);
00168
00169 XMLPUBFUN int XMLCALL
00170
00171 xmlListEmpty (xmlListPtr l);
00172
00173 XMLPUBFUN xmlLinkPtr XMLCALL
00174
00175 xmlListFront (xmlListPtr l);
00176
00177 XMLPUBFUN xmlLinkPtr XMLCALL
00178
00179 xmlListEnd (xmlListPtr l);
00180
00181 XMLPUBFUN int XMLCALL
00182
00183 xmlListSize (xmlListPtr l);
00184
00185
00186
00187 XMLPUBFUN void XMLCALL
00188
00189 xmlListPopFront (xmlListPtr l);
00190
00191 XMLPUBFUN void XMLCALL
00192
00193 xmlListPopBack (xmlListPtr l);
00194
00195 XMLPUBFUN int XMLCALL
00196
00197 xmlListPushFront (xmlListPtr l,
00198
00199 void *data);
00200
00201 XMLPUBFUN int XMLCALL
00202
00203 xmlListPushBack (xmlListPtr l,
00204
00205 void *data);
00206
00207
00208
00209
00210
00211 XMLPUBFUN void XMLCALL
00212
00213 xmlListReverse (xmlListPtr l);
00214
00215 XMLPUBFUN void XMLCALL
00216
00217 xmlListSort (xmlListPtr l);
00218
00219 XMLPUBFUN void XMLCALL
00220
00221 xmlListWalk (xmlListPtr l,
00222
00223 xmlListWalker walker,
00224
00225 const void *user);
00226
00227 XMLPUBFUN void XMLCALL
00228
00229 xmlListReverseWalk (xmlListPtr l,
00230
00231 xmlListWalker walker,
00232
00233 const void *user);
00234
00235 XMLPUBFUN void XMLCALL
00236
00237 xmlListMerge (xmlListPtr l1,
00238
00239 xmlListPtr l2);
00240
00241 XMLPUBFUN xmlListPtr XMLCALL
00242
00243 xmlListDup (const xmlListPtr old);
00244
00245 XMLPUBFUN int XMLCALL
00246
00247 xmlListCopy (xmlListPtr cur,
00248
00249 const xmlListPtr old);
00250
00251
00252
00253 XMLPUBFUN void * XMLCALL
00254
00255 xmlLinkGetData (xmlLinkPtr lk);
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265 #ifdef __cplusplus
00266
00267 }
00268
00269 #endif
00270
00271
00272
00273 #endif
00274