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 * mmiller@hick.org 00009 */ 00018 #ifndef _LIBSGML_DOMNODELIST_H 00019 #define _LIBSGML_DOMNODELIST_H 00020 00021 #include "DomNode.h" 00022 00026 typedef struct _dom_node_list_node { 00027 00031 DOM_NODE *node; 00032 00036 struct _dom_node_list_node *next; 00037 00038 } DOM_NODE_LIST_NODE; 00039 00043 typedef struct _dom_node_list { 00044 00048 struct _dom_node_list_node *firstNode; 00052 struct _dom_node_list_node *lastNode; 00053 00057 unsigned long entries; 00058 00059 } DOM_NODE_LIST; 00060 00066 DOM_NODE_LIST *domNodeListNew(); 00072 void domNodeListDestroy(DOM_NODE_LIST *nodeList); 00073 00080 void domNodeListAddNode(DOM_NODE_LIST *nodeList, DOM_NODE *node); 00087 void domNodeListRemoveNode(DOM_NODE_LIST *nodeList, DOM_NODE *node); 00088 00095 unsigned long domNodeListGetNumEntries(DOM_NODE_LIST *nodeList); 00102 DOM_NODE_LIST_NODE *domNodeListGetFirstNode(DOM_NODE_LIST *nodeList); 00103 00104 #endif