* Summary: lists interfaces * Description: this module implement the list support used in * various place in the library. * * Copy: See Copyright for the status of this software. * * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. /if not defined(XML_LINK_INCLUDE__) /define XML_LINK_INCLUDE__ /include "libxmlrpg/xmlversion" /include "libxmlrpg/xmlTypesC"
d xmlLinkPtr s * based(######typedef######)
d xmlListPtr s * based(######typedef######)
* xmlListDeallocator: * @lk: the data to deallocate * * Callback function used to free data from a list.
d xmlListDeallocator… d s * based(######typedef######) d procptr
* xmlListDataCompare: * @data0: the first data * @data1: the second data * * Callback function used to compare 2 data. * * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
d xmlListDataCompare… d s * based(######typedef######) d procptr
* xmlListWalker: * @data: the data found in the list * @user: extra user provided data to the walker * * Callback function used when walking a list with xmlListWalk(). * * Returns 0 to stop walking the list, 1 otherwise.
d xmlListWalker s * based(######typedef######) d procptr
* Creation/Deletion
d xmlListCreate pr extproc('xmlListCreate') d like(xmlListPtr) d deallocator value like(xmlListDeallocator) d compare value like(xmlListDataCompare)
d xmlListDelete pr extproc('xmlListDelete') d l value like(xmlListPtr)
* Basic Operators
d xmlListSearch pr * extproc('xmlListSearch') void * d l value like(xmlListPtr) d data * value void *
d xmlListReverseSearch… d pr * extproc('xmlListReverseSearch') void * d l value like(xmlListPtr) d data * value void *
d xmlListInsert pr extproc('xmlListInsert') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
d xmlListAppend pr extproc('xmlListAppend') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
d xmlListRemoveFirst… d pr extproc('xmlListRemoveFirst') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
d xmlListRemoveLast… d pr extproc('xmlListRemoveLast') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
d xmlListRemoveAll… d pr extproc('xmlListRemoveAll') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
d xmlListClear pr extproc('xmlListClear') d l value like(xmlListPtr)
d xmlListEmpty pr extproc('xmlListEmpty') d like(xmlCint) d l value like(xmlListPtr)
d xmlListFront pr extproc('xmlListFront') d like(xmlLinkPtr) d l value like(xmlListPtr)
d xmlListEnd pr extproc('xmlListEnd') d like(xmlLinkPtr) d l value like(xmlListPtr)
d xmlListSize pr extproc('xmlListSize') d like(xmlCint) d l value like(xmlListPtr)
d xmlListPopFront… d pr extproc('xmlListPopFront') d l value like(xmlListPtr)
d xmlListPopBack… d pr extproc('xmlListPopBack') d l value like(xmlListPtr)
d xmlListPushFront… d pr extproc('xmlListPushFront') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
d xmlListPushBack… d pr extproc('xmlListPushBack') d like(xmlCint) d l value like(xmlListPtr) d data * value void *
* Advanced Operators
d xmlListReverse pr extproc('xmlListReverse') d l value like(xmlListPtr)
d xmlListSort pr extproc('xmlListSort') d l value like(xmlListPtr)
d xmlListWalk pr extproc('xmlListWalk') d l value like(xmlListPtr) d walker value like(xmlListWalker) d user * value const void *
d xmlListReverseWalk… d pr extproc('xmlListReverseWalk') d l value like(xmlListPtr) d walker value like(xmlListWalker) d user * value const void *
d xmlListMerge pr extproc('xmlListMerge') d l1 value like(xmlListPtr) d l2 value like(xmlListPtr)
d xmlListDup pr extproc('xmlListDup') d like(xmlListPtr) d old value like(xmlListPtr)
d xmlListCopy pr extproc('xmlListCopy') d like(xmlCint) d cur value like(xmlListPtr) d old value like(xmlListPtr) const
* Link operators
d xmlListGetData pr * extproc('xmlListGetData') void * d lk value like(xmlLinkPtr)
* xmlListUnique() * xmlListSwap /endif XML_LINK_INCLUDE__