summaryrefslogtreecommitdiff
path: root/os400/libxmlrpg/list.rpgle
diff options
context:
space:
mode:
Diffstat (limited to 'os400/libxmlrpg/list.rpgle')
-rw-r--r--os400/libxmlrpg/list.rpgle168
1 files changed, 168 insertions, 0 deletions
diff --git a/os400/libxmlrpg/list.rpgle b/os400/libxmlrpg/list.rpgle
new file mode 100644
index 0000000..c62fcbd
--- /dev/null
+++ b/os400/libxmlrpg/list.rpgle
@@ -0,0 +1,168 @@
+ * 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"
+
+ 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 10i 0 extproc('xmlListInsert')
+ d l value like(xmlListPtr)
+ d data * value void *
+
+ d xmlListAppend pr 10i 0 extproc('xmlListAppend')
+ d l value like(xmlListPtr)
+ d data * value void *
+
+ d xmlListRemoveFirst...
+ d pr 10i 0 extproc('xmlListRemoveFirst')
+ d l value like(xmlListPtr)
+ d data * value void *
+
+ d xmlListRemoveLast...
+ d pr 10i 0 extproc('xmlListRemoveLast')
+ d l value like(xmlListPtr)
+ d data * value void *
+
+ d xmlListRemoveAll...
+ d pr 10i 0 extproc('xmlListRemoveAll')
+ d l value like(xmlListPtr)
+ d data * value void *
+
+ d xmlListClear pr extproc('xmlListClear')
+ d l value like(xmlListPtr)
+
+ d xmlListEmpty pr 10i 0 extproc('xmlListEmpty')
+ 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 10i 0 extproc('xmlListSize')
+ 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 10i 0 extproc('xmlListPushFront')
+ d l value like(xmlListPtr)
+ d data * value void *
+
+ d xmlListPushBack...
+ d pr 10i 0 extproc('xmlListPushBack')
+ 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 10i 0 extproc('xmlListCopy')
+ 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__