generated from sethub/template
[libxml2]Add libxml2 library
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief lists interfaces
|
||||
*
|
||||
* this module implement the list support used in
|
||||
* various place in the library.
|
||||
*
|
||||
* @copyright See Copyright for the status of this software.
|
||||
*
|
||||
* @author Gary Pennington
|
||||
*/
|
||||
|
||||
#ifndef __XML_LINK_INCLUDE__
|
||||
#define __XML_LINK_INCLUDE__
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Linked list item
|
||||
*
|
||||
* @deprecated Don't use in new code.
|
||||
*/
|
||||
typedef struct _xmlLink xmlLink;
|
||||
typedef xmlLink *xmlLinkPtr;
|
||||
|
||||
/**
|
||||
* Linked list
|
||||
*
|
||||
* @deprecated Don't use in new code.
|
||||
*/
|
||||
typedef struct _xmlList xmlList;
|
||||
typedef xmlList *xmlListPtr;
|
||||
|
||||
/**
|
||||
* Callback function used to free data from a list.
|
||||
*
|
||||
* @param lk the data to deallocate
|
||||
*/
|
||||
typedef void (*xmlListDeallocator) (xmlLink *lk);
|
||||
/**
|
||||
* Callback function used to compare 2 data.
|
||||
*
|
||||
* @param data0 the first data
|
||||
* @param data1 the second data
|
||||
* @returns 0 is equality, -1 or 1 otherwise depending on the ordering.
|
||||
*/
|
||||
typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
|
||||
/**
|
||||
* Callback function used when walking a list with #xmlListWalk.
|
||||
*
|
||||
* @param data the data found in the list
|
||||
* @param user extra user provided data to the walker
|
||||
* @returns 0 to stop walking the list, 1 otherwise.
|
||||
*/
|
||||
typedef int (*xmlListWalker) (const void *data, void *user);
|
||||
|
||||
/* Creation/Deletion */
|
||||
XMLPUBFUN xmlList *
|
||||
xmlListCreate (xmlListDeallocator deallocator,
|
||||
xmlListDataCompare compare);
|
||||
XMLPUBFUN void
|
||||
xmlListDelete (xmlList *l);
|
||||
|
||||
/* Basic Operators */
|
||||
XMLPUBFUN void *
|
||||
xmlListSearch (xmlList *l,
|
||||
void *data);
|
||||
XMLPUBFUN void *
|
||||
xmlListReverseSearch (xmlList *l,
|
||||
void *data);
|
||||
XMLPUBFUN int
|
||||
xmlListInsert (xmlList *l,
|
||||
void *data) ;
|
||||
XMLPUBFUN int
|
||||
xmlListAppend (xmlList *l,
|
||||
void *data) ;
|
||||
XMLPUBFUN int
|
||||
xmlListRemoveFirst (xmlList *l,
|
||||
void *data);
|
||||
XMLPUBFUN int
|
||||
xmlListRemoveLast (xmlList *l,
|
||||
void *data);
|
||||
XMLPUBFUN int
|
||||
xmlListRemoveAll (xmlList *l,
|
||||
void *data);
|
||||
XMLPUBFUN void
|
||||
xmlListClear (xmlList *l);
|
||||
XMLPUBFUN int
|
||||
xmlListEmpty (xmlList *l);
|
||||
XMLPUBFUN xmlLink *
|
||||
xmlListFront (xmlList *l);
|
||||
XMLPUBFUN xmlLink *
|
||||
xmlListEnd (xmlList *l);
|
||||
XMLPUBFUN int
|
||||
xmlListSize (xmlList *l);
|
||||
|
||||
XMLPUBFUN void
|
||||
xmlListPopFront (xmlList *l);
|
||||
XMLPUBFUN void
|
||||
xmlListPopBack (xmlList *l);
|
||||
XMLPUBFUN int
|
||||
xmlListPushFront (xmlList *l,
|
||||
void *data);
|
||||
XMLPUBFUN int
|
||||
xmlListPushBack (xmlList *l,
|
||||
void *data);
|
||||
|
||||
/* Advanced Operators */
|
||||
XMLPUBFUN void
|
||||
xmlListReverse (xmlList *l);
|
||||
XMLPUBFUN void
|
||||
xmlListSort (xmlList *l);
|
||||
XMLPUBFUN void
|
||||
xmlListWalk (xmlList *l,
|
||||
xmlListWalker walker,
|
||||
void *user);
|
||||
XMLPUBFUN void
|
||||
xmlListReverseWalk (xmlList *l,
|
||||
xmlListWalker walker,
|
||||
void *user);
|
||||
XMLPUBFUN void
|
||||
xmlListMerge (xmlList *l1,
|
||||
xmlList *l2);
|
||||
XMLPUBFUN xmlList *
|
||||
xmlListDup (xmlList *old);
|
||||
XMLPUBFUN int
|
||||
xmlListCopy (xmlList *cur,
|
||||
xmlList *old);
|
||||
/* Link operators */
|
||||
XMLPUBFUN void *
|
||||
xmlLinkGetData (xmlLink *lk);
|
||||
|
||||
/* xmlListUnique() */
|
||||
/* xmlListSwap */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __XML_LINK_INCLUDE__ */
|
||||
Reference in New Issue
Block a user