--- cfg.h 2002/07/04 06:16:13 1.2
+++ cfg.h 2002/07/04 12:30:08 1.3
@@ -42,7 +42,9 @@
CFG_ERR_USE,
CFG_ERR_INT,
CFG_ERR_SYS,
- CFG_ERR_SYN
+ CFG_ERR_SYN,
+ CFG_ERR_FMT,
+ CFG_ERR_GOT
} cfg_rc_t;
/* ============================================================ */
@@ -59,7 +61,6 @@
/* list of node types */
typedef enum {
- CFG_NODE_TYPE_NN = 0, /* node unknown */
CFG_NODE_TYPE_SEQ, /* node represents a sequence */
CFG_NODE_TYPE_DIR, /* node represents a directive */
CFG_NODE_TYPE_TOK /* node represents a token */
@@ -75,6 +76,15 @@
CFG_NODE_ATTR_DATA /* pointer to the node annotation data */
} cfg_node_attr_t;
+/* list of node goto */
+typedef enum {
+ CFG_NODE_GOTO_PARENT,
+ CFG_NODE_GOTO_LBROTH,
+ CFG_NODE_GOTO_RBROTH,
+ CFG_NODE_GOTO_CHILD1,
+ CFG_NODE_GOTO_CHILDL
+} cfg_node_goto_t;
+
/* list of node linking variants */
typedef enum {
CFG_NODE_LINK_PARENT,
@@ -89,6 +99,7 @@
cfg_rc_t cfg_node_create (cfg_node_t **node);
cfg_rc_t cfg_node_set (cfg_node_t *node, cfg_node_attr_t attr, ...);
cfg_rc_t cfg_node_get (cfg_node_t *node, cfg_node_attr_t attr, ...);
+cfg_rc_t cfg_node_goto (cfg_node_t *node, cfg_node_goto_t id, cfg_node_t **node2);
cfg_rc_t cfg_node_link (cfg_node_t *node, cfg_node_link_t id, cfg_node_t *node2);
cfg_rc_t cfg_node_unlink (cfg_node_t *node);
cfg_rc_t cfg_node_apply (cfg_node_t *node, void (*cb_fct)(void *, cfg_node_t *), void *cb_ctx);
|