00001 /* 00002 * libsgml -- SGML state machine parsing library. 00003 * 00004 * Copyright (c) 2002 Uninformed Research (http://www.uninformed.org) 00005 * All rights reserved. 00006 * 00007 * skape 00008 * [email protected] 00009 */ 00018 #ifndef _LIBSGML_DOMNODELIST_H 00019 #define _LIBSGML_DOMNODELIST_H 00020 00021 #ifdef __cplusplus 00022 extern "C" { 00023 #endif 00024 00025 #include "DomNode.h" 00026 00030 typedef struct _dom_node_list_node { 00031 00035 DOM_NODE *node; 00036 00040 struct _dom_node_list_node *next; 00041 00042 } DOM_NODE_LIST_NODE; 00043 00047 typedef struct _dom_node_list { 00048 00052 struct _dom_node_list_node *firstNode; 00056 struct _dom_node_list_node *lastNode; 00057 00061 unsigned long entries; 00062 00063 } DOM_NODE_LIST; 00064 00070 DOM_NODE_LIST *domNodeListNew(); 00076 void domNodeListDestroy(DOM_NODE_LIST *nodeList); 00077 00084 void domNodeListAddNode(DOM_NODE_LIST *nodeList, DOM_NODE *node); 00091 void domNodeListRemoveNode(DOM_NODE_LIST *nodeList, DOM_NODE *node); 00092 00099 unsigned long domNodeListGetNumEntries(DOM_NODE_LIST *nodeList); 00106 DOM_NODE_LIST_NODE *domNodeListGetFirstNode(DOM_NODE_LIST *nodeList); 00107 00108 #ifdef __cplusplus 00109 } 00110 #endif 00111 00112 #endif