Annotation of embedaddon/libxml2/include/libxml/list.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Summary: lists interfaces
! 3: * Description: this module implement the list support used in
! 4: * various place in the library.
! 5: *
! 6: * Copy: See Copyright for the status of this software.
! 7: *
! 8: * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
! 9: */
! 10:
! 11: #ifndef __XML_LINK_INCLUDE__
! 12: #define __XML_LINK_INCLUDE__
! 13:
! 14: #include <libxml/xmlversion.h>
! 15:
! 16: #ifdef __cplusplus
! 17: extern "C" {
! 18: #endif
! 19:
! 20: typedef struct _xmlLink xmlLink;
! 21: typedef xmlLink *xmlLinkPtr;
! 22:
! 23: typedef struct _xmlList xmlList;
! 24: typedef xmlList *xmlListPtr;
! 25:
! 26: /**
! 27: * xmlListDeallocator:
! 28: * @lk: the data to deallocate
! 29: *
! 30: * Callback function used to free data from a list.
! 31: */
! 32: typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
! 33: /**
! 34: * xmlListDataCompare:
! 35: * @data0: the first data
! 36: * @data1: the second data
! 37: *
! 38: * Callback function used to compare 2 data.
! 39: *
! 40: * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
! 41: */
! 42: typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
! 43: /**
! 44: * xmlListWalker:
! 45: * @data: the data found in the list
! 46: * @user: extra user provided data to the walker
! 47: *
! 48: * Callback function used when walking a list with xmlListWalk().
! 49: *
! 50: * Returns 0 to stop walking the list, 1 otherwise.
! 51: */
! 52: typedef int (*xmlListWalker) (const void *data, const void *user);
! 53:
! 54: /* Creation/Deletion */
! 55: XMLPUBFUN xmlListPtr XMLCALL
! 56: xmlListCreate (xmlListDeallocator deallocator,
! 57: xmlListDataCompare compare);
! 58: XMLPUBFUN void XMLCALL
! 59: xmlListDelete (xmlListPtr l);
! 60:
! 61: /* Basic Operators */
! 62: XMLPUBFUN void * XMLCALL
! 63: xmlListSearch (xmlListPtr l,
! 64: void *data);
! 65: XMLPUBFUN void * XMLCALL
! 66: xmlListReverseSearch (xmlListPtr l,
! 67: void *data);
! 68: XMLPUBFUN int XMLCALL
! 69: xmlListInsert (xmlListPtr l,
! 70: void *data) ;
! 71: XMLPUBFUN int XMLCALL
! 72: xmlListAppend (xmlListPtr l,
! 73: void *data) ;
! 74: XMLPUBFUN int XMLCALL
! 75: xmlListRemoveFirst (xmlListPtr l,
! 76: void *data);
! 77: XMLPUBFUN int XMLCALL
! 78: xmlListRemoveLast (xmlListPtr l,
! 79: void *data);
! 80: XMLPUBFUN int XMLCALL
! 81: xmlListRemoveAll (xmlListPtr l,
! 82: void *data);
! 83: XMLPUBFUN void XMLCALL
! 84: xmlListClear (xmlListPtr l);
! 85: XMLPUBFUN int XMLCALL
! 86: xmlListEmpty (xmlListPtr l);
! 87: XMLPUBFUN xmlLinkPtr XMLCALL
! 88: xmlListFront (xmlListPtr l);
! 89: XMLPUBFUN xmlLinkPtr XMLCALL
! 90: xmlListEnd (xmlListPtr l);
! 91: XMLPUBFUN int XMLCALL
! 92: xmlListSize (xmlListPtr l);
! 93:
! 94: XMLPUBFUN void XMLCALL
! 95: xmlListPopFront (xmlListPtr l);
! 96: XMLPUBFUN void XMLCALL
! 97: xmlListPopBack (xmlListPtr l);
! 98: XMLPUBFUN int XMLCALL
! 99: xmlListPushFront (xmlListPtr l,
! 100: void *data);
! 101: XMLPUBFUN int XMLCALL
! 102: xmlListPushBack (xmlListPtr l,
! 103: void *data);
! 104:
! 105: /* Advanced Operators */
! 106: XMLPUBFUN void XMLCALL
! 107: xmlListReverse (xmlListPtr l);
! 108: XMLPUBFUN void XMLCALL
! 109: xmlListSort (xmlListPtr l);
! 110: XMLPUBFUN void XMLCALL
! 111: xmlListWalk (xmlListPtr l,
! 112: xmlListWalker walker,
! 113: const void *user);
! 114: XMLPUBFUN void XMLCALL
! 115: xmlListReverseWalk (xmlListPtr l,
! 116: xmlListWalker walker,
! 117: const void *user);
! 118: XMLPUBFUN void XMLCALL
! 119: xmlListMerge (xmlListPtr l1,
! 120: xmlListPtr l2);
! 121: XMLPUBFUN xmlListPtr XMLCALL
! 122: xmlListDup (const xmlListPtr old);
! 123: XMLPUBFUN int XMLCALL
! 124: xmlListCopy (xmlListPtr cur,
! 125: const xmlListPtr old);
! 126: /* Link operators */
! 127: XMLPUBFUN void * XMLCALL
! 128: xmlLinkGetData (xmlLinkPtr lk);
! 129:
! 130: /* xmlListUnique() */
! 131: /* xmlListSwap */
! 132:
! 133: #ifdef __cplusplus
! 134: }
! 135: #endif
! 136:
! 137: #endif /* __XML_LINK_INCLUDE__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>