mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-14 19:24:06 +03:00
56a4cb8c4d
-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline - HTMLparser.[ch] HTMLtree.c SAX.c debugXML.c encoding.[ch] encoding.h entities.c error.c list.[ch] nanoftp.c nanohttp.c parser.[ch] parserInternals.[ch] testHTML.c testSAX.c testURI.c testXPath.c tree.[ch] uri.c valid.[ch] xinclude.c xmlIO.[ch] xmllint.c xmlmemory.c xpath.c xpathInternals.h xpointer.[ch] example/gjobread.c: Cleanup, staticfied a number of non-exported functions, detected and cleaned up a dozen of problem found this way, avoided a lot of public function name/typedef/system names clashes - doc/xml.html: updated - configure.in: switched private flags to the really pedantic ones. Daniel
93 lines
2.6 KiB
C
93 lines
2.6 KiB
C
/*
|
|
* list.h: lists interfaces
|
|
*
|
|
* Copyright (C) 2000 Gary Pennington and Daniel Veillard.
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
|
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
|
* MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
|
|
* CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
|
|
*
|
|
* Author: Gary.Pennington@uk.sun.com
|
|
*/
|
|
|
|
#ifndef __XML_LINK_INCLUDE__
|
|
#define __XML_LINK_INCLUDE__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct _xmlLink xmlLink;
|
|
typedef xmlLink *xmlLinkPtr;
|
|
|
|
typedef struct _xmlList xmlList;
|
|
typedef xmlList *xmlListPtr;
|
|
|
|
typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
|
|
typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
|
|
typedef int (*xmlListWalker) (const void *data, const void *user);
|
|
|
|
/* Creation/Deletion */
|
|
xmlListPtr xmlListCreate (xmlListDeallocator deallocator,
|
|
xmlListDataCompare compare);
|
|
void xmlListDelete (xmlListPtr l);
|
|
|
|
/* Basic Operators */
|
|
void * xmlListSearch (xmlListPtr l,
|
|
void *data);
|
|
void * xmlListReverseSearch (xmlListPtr l,
|
|
void *data);
|
|
int xmlListInsert (xmlListPtr l,
|
|
void *data) ;
|
|
int xmlListAppend (xmlListPtr l,
|
|
void *data) ;
|
|
int xmlListRemoveFirst (xmlListPtr l,
|
|
void *data);
|
|
int xmlListRemoveLast (xmlListPtr l,
|
|
void *data);
|
|
int xmlListRemoveAll (xmlListPtr l,
|
|
void *data);
|
|
void xmlListClear (xmlListPtr l);
|
|
int xmlListEmpty (xmlListPtr l);
|
|
xmlLinkPtr xmlListFront (xmlListPtr l);
|
|
xmlLinkPtr xmlListEnd (xmlListPtr l);
|
|
int xmlListSize (xmlListPtr l);
|
|
|
|
void xmlListPopFront (xmlListPtr l);
|
|
void xmlListPopBack (xmlListPtr l);
|
|
int xmlListPushFront (xmlListPtr l,
|
|
void *data);
|
|
int xmlListPushBack (xmlListPtr l,
|
|
void *data);
|
|
|
|
/* Advanced Operators */
|
|
void xmlListReverse (xmlListPtr l);
|
|
void xmlListSort (xmlListPtr l);
|
|
void xmlListWalk (xmlListPtr l,
|
|
xmlListWalker walker,
|
|
const void *user);
|
|
void xmlListReverseWalk (xmlListPtr l,
|
|
xmlListWalker walker,
|
|
const void *user);
|
|
void xmlListMerge (xmlListPtr l1,
|
|
xmlListPtr l2);
|
|
xmlListPtr xmlListDup (const xmlListPtr old);
|
|
int xmlListCopy (xmlListPtr cur,
|
|
const xmlListPtr old);
|
|
/* Link operators */
|
|
void * xmlLinkGetData (xmlLinkPtr lk);
|
|
|
|
/* xmlListUnique() */
|
|
/* xmlListSwap */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __XML_LINK_INCLUDE__ */
|