--- cfg.h 2002/07/10 14:14:05 1.6
+++ cfg.h 2002/07/10 14:46:28 1.7
@@ -40,11 +40,12 @@
CFG_OK = 0, /* everything ok */
CFG_ERR_ARG, /* invalid argument */
CFG_ERR_USE, /* invalid use */
- CFG_ERR_SYS, /* operating system error (see errno) */
- CFG_ERR_SYN, /* syntax parsing error */
+ CFG_ERR_MEM, /* no more memory available */
+ CFG_ERR_SYS, /* operating system error */
CFG_ERR_FMT, /* formatting error */
- CFG_ERR_GOT, /* goto error */
- CFG_ERR_INT /* internal error */
+ CFG_ERR_INT, /* internal error */
+ CFG_ERR_SYN, /* syntax error */
+ CFG_ERR_NDE /* node reference error */
} cfg_rc_t;
/* configuration format */
@@ -117,11 +118,11 @@
/* configuration handling */
cfg_rc_t cfg_create (cfg_t **cfg);
cfg_rc_t cfg_destroy (cfg_t *cfg);
-cfg_rc_t cfg_error (cfg_t *cfg, cfg_rc_t rc, char *err_ptr, size_t err_len);
+cfg_rc_t cfg_error (cfg_t *cfg, cfg_rc_t rc, char **error);
/* configuration import/export */
cfg_rc_t cfg_import (cfg_t *cfg, cfg_node_t *node, cfg_fmt_t fmt, const char *in_ptr, size_t in_len);
-cfg_rc_t cfg_export (cfg_t *cfg, cfg_node_t *node, cfg_fmt_t fmt, char *ex_ptr, size_t ex_len);
+cfg_rc_t cfg_export (cfg_t *cfg, cfg_node_t *node, cfg_fmt_t fmt, char **ex_ptr, size_t ex_len);
/* node handling */
cfg_rc_t cfg_node_create (cfg_t *cfg, cfg_node_t **node);
@@ -132,12 +133,10 @@
cfg_rc_t cfg_node_set (cfg_t *cfg, cfg_node_t *node, cfg_node_attr_t attr, ...);
cfg_rc_t cfg_node_get (cfg_t *cfg, cfg_node_t *node, cfg_node_attr_t attr, ...);
-/* node traversing */
+/* node traversing/locating */
cfg_rc_t cfg_node_root (cfg_t *cfg, cfg_node_t **node);
-cfg_rc_t cfg_node_goto (cfg_t *cfg, cfg_node_t **node, const char *spec);
-
-/* node locating */
-cfg_rc_t cfg_node_select (cfg_t *cfg, cfg_node_t *node, const char *dotpath, cfg_node_t **node2);
+cfg_rc_t cfg_node_goto (cfg_t *cfg, cfg_node_t *node, const char *spec, cfg_node_t **node2);
+cfg_rc_t cfg_node_select (cfg_t *cfg, cfg_node_t *node, const char *spec, cfg_node_t **node2);
cfg_rc_t cfg_node_find (cfg_t *cfg, cfg_node_t *node, cfg_rc_t (*cb_fct_cmp)(cfg_t *, cfg_node_t *, void *), void *cb_ctx_cmp, cfg_node_t **cont);
cfg_rc_t cfg_node_apply (cfg_t *cfg, cfg_node_t *node, cfg_rc_t (*cb_fct_cmp)(cfg_t *, cfg_node_t *, void *), void *cb_ctx_cmp, cfg_rc_t (*cb_fct_cb)(cfg_t *, cfg_node_t *, void *), void *cb_ctx_cb);
cfg_rc_t cfg_node_cmp (cfg_t *cfg, cfg_node_t *node, void *token);
|