X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fgetopt.h;h=fee099a259ef05f94b39838282b125a52c0aef83;hb=7b52ebbcc1ef1faaeb666bf42d72604b6e84f84a;hp=1ac561407dc8e1ba5b9a222502bc8fc87c7ca5c9;hpb=23e1e8f1890197a998b79b292a0a45343aecf6a3;p=libucw.git diff --git a/lib/getopt.h b/lib/getopt.h index 1ac56140..fee099a2 100644 --- a/lib/getopt.h +++ b/lib/getopt.h @@ -13,17 +13,17 @@ #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) +#define CF_OPERATIONS T(CLOSE) T(SET) T(CLEAR) T(ALL) \ + T(APPEND) T(PREPEND) T(REMOVE) T(EDIT) T(AFTER) T(BEFORE) T(COPY) /* Closing brace finishes previous block. * Basic attributes (static, dynamic, parsed) can be used with SET. * Dynamic arrays can be used with SET, APPEND, PREPEND. @@ -34,11 +34,21 @@ enum cf_operation { CF_OPERATIONS }; #undef T 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 */ + +struct fastbuf; 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