From 02e471ba458a1158204be876bec93da73c8a2909 Mon Sep 17 00:00:00 2001 From: Robert Spalek Date: Fri, 28 Apr 2006 16:44:13 +0200 Subject: [PATCH] conf2: source files references in header files, and advanced journaling moved --- lib/conf-journal.c | 1 + lib/conf.h | 13 ++++--------- lib/getopt.h | 15 +++++++++++++-- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/lib/conf-journal.c b/lib/conf-journal.c index a28c2286..591aa8a5 100644 --- a/lib/conf-journal.c +++ b/lib/conf-journal.c @@ -10,6 +10,7 @@ #include "lib/lib.h" #include "lib/conf.h" +#include "lib/getopt.h" #include "lib/conf-internal.h" #include "lib/mempool.h" diff --git a/lib/conf.h b/lib/conf.h index 15d16817..eac0ad84 100644 --- a/lib/conf.h +++ b/lib/conf.h @@ -135,7 +135,7 @@ struct cf_section { // creates a static instance of a dynamic array // FIXME: overcast doesn't work for the double type -/* Memory allocation */ +/* Memory allocation: conf-alloc.c */ struct mempool; extern struct mempool *cf_pool; void *cf_malloc(uns size); @@ -143,21 +143,16 @@ void *cf_malloc_zero(uns size); byte *cf_strdup(byte *s); byte *cf_printf(char *fmt, ...) FORMAT_CHECK(printf,1,2); -/* Undo journal for error recovery */ +/* Undo journal for error recovery: conf-journal.c */ extern uns cf_need_journal; void cf_journal_block(void *ptr, uns len); #define CF_JOURNAL_VAR(var) cf_journal_block(&(var), sizeof(var)) -struct cf_journal_item; -struct cf_journal_item *cf_journal_new_transaction(uns new_pool); -void cf_journal_commit_transaction(uns new_pool, struct cf_journal_item *oldj); -void cf_journal_rollback_transaction(uns new_pool, struct cf_journal_item *oldj); - -/* Declaration */ +/* Declaration: conf-section.c */ void cf_declare_section(byte *name, struct cf_section *sec, uns allow_unknown); void cf_init_section(byte *name, struct cf_section *sec, void *ptr, uns do_bzero); -/* Parsers for basic types */ +/* Parsers for basic types: conf-parse.c */ byte *cf_parse_int(byte *str, int *ptr); byte *cf_parse_u64(byte *str, u64 *ptr); byte *cf_parse_double(byte *str, double *ptr); diff --git a/lib/getopt.h b/lib/getopt.h index 1ac56140..7aaa99fa 100644 --- a/lib/getopt.h +++ b/lib/getopt.h @@ -13,14 +13,14 @@ #include -/* Safe loading and reloading of configuration files */ +/* Safe loading and reloading of configuration files: conf-input.c */ extern byte *cf_def_file; /* DEFAULT_CONFIG; NULL if already loaded */ int cf_reload(byte *file); int cf_load(byte *file); int cf_set(byte *string); -/* Direct access to configuration items */ +/* Direct access to configuration items: conf-intr.c */ #define CF_OPERATIONS T(CLOSE) T(SET) T(CLEAR) T(APPEND) T(PREPEND) \ T(REMOVE) T(EDIT) T(AFTER) T(BEFORE) T(COPY) @@ -37,8 +37,18 @@ struct cf_item; struct fastbuf; byte *cf_find_item(byte *name, struct cf_item *item); byte *cf_write_item(struct cf_item *item, enum cf_operation op, int number, byte **pars); + +/* Debug dumping: conf-dump.c */ + void cf_dump_sections(struct fastbuf *fb); +/* Journaling control: conf-journal.c */ + +struct cf_journal_item; +struct cf_journal_item *cf_journal_new_transaction(uns new_pool); +void cf_journal_commit_transaction(uns new_pool, struct cf_journal_item *oldj); +void cf_journal_rollback_transaction(uns new_pool, struct cf_journal_item *oldj); + /* * cf_getopt() takes care of parsing the command-line arguments, loading the * default configuration file (cf_def_file) and processing configuration options. @@ -69,6 +79,7 @@ void cf_dump_sections(struct fastbuf *fb); #define CF_USAGE_DEBUG #endif +// conf-input.c int cf_getopt(int argc, char * const argv[], const char *short_opts, const struct option *long_opts, int *long_index); #endif -- 2.39.2