* 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 , 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__