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 #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
1.2.15