X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ucw%2Fgetopt.h;h=6263d47fb6df6acd8e19968216cab5cd9614efbf;hb=5de81f1debc4341fb3af4e756b0a18e196d5ba13;hp=3a5592470d1318aae8f26fb8ff5fb80aab8d556e;hpb=ce89c984c44f1b32713dd1dd742afc7e3ace8dc5;p=libucw.git diff --git a/ucw/getopt.h b/ucw/getopt.h index 3a559247..6263d47f 100644 --- a/ucw/getopt.h +++ b/ucw/getopt.h @@ -11,8 +11,8 @@ #ifndef _UCW_GETOPT_H #define _UCW_GETOPT_H -#ifdef CONFIG_OWN_GETOPT -#include "ucw/getopt/getopt-sh.h" +#ifdef CONFIG_UCW_OWN_GETOPT +#include #else #include #endif @@ -28,13 +28,17 @@ void reset_getopt(void); /** If you want to start parsing of the arguments from */ /** - * The default config (DEFAULT_CONFIG config option) or NULL if already loaded. + * The default config (as set by `CONFIG_UCW_DEFAULT_CONFIG`) or NULL if already loaded. * You can set it to something else manually. */ -extern char *cf_def_file; /* DEFAULT_CONFIG; NULL if already loaded */ -extern char *cf_env_file; /** ENV_VAR_CONFIG **/ +extern char *cf_def_file; +/** + * Name of environment variable that can override what configuration is loaded. + * Defaults to `CONFIG_UCW_ENV_VAR_CONFIG`. + **/ +extern char *cf_env_file; int cf_reload(const char *file); /** Reload configuration from @file, replace the old one. **/ -int cf_load(const char *file); /** Load configuration from @file. **/ +int cf_load(const char *file); /** Load configuration from @file. If @file is NULL, reload all loaded configuration files. **/ /** * Parse some part of configuration passed in @string. * The syntax is the same as in the <>. @@ -53,17 +57,20 @@ int cf_set(const char *string); /** * List of operations used on items. * This macro is used to generate internal source code, - * but you may be interested in the actions it creates. + * but you may be interested in the list of operations it creates. + * + * Each operation corresponds to the same-named operation + * described in <>. **/ #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) + T(APPEND) T(PREPEND) T(REMOVE) T(EDIT) T(AFTER) T(BEFORE) T(COPY) T(RESET) /* Closing brace finishes previous block. * Basic attributes (static, dynamic, parsed) can be used with SET. * Dynamic arrays can be used with SET, APPEND, PREPEND. * Sections can be used with SET. * Lists can be used with everything. */ #define T(x) OP_##x, -enum cf_operation { CF_OPERATIONS }; /** Allowed operations on items. See <>. **/ +enum cf_operation { CF_OPERATIONS }; /** Allowed operations on items. See <> for list (they have an `OP_` prefix -- it means you use `OP_SET` instead of just `SET`). **/ #undef T struct cf_item; @@ -160,7 +167,7 @@ void cf_journal_rollback_transaction(uns new_pool, struct cf_journal_item *oldj) "-C, --config filename\t" CF_USAGE_TAB "Override the default configuration file\n\ -S, --set sec.item=val\t" CF_USAGE_TAB "Manual setting of a configuration item\n" CF_USAGE_DEBUG -#ifdef CONFIG_DEBUG +#ifdef CONFIG_UCW_DEBUG #define CF_LONG_OPTS_DEBUG { "dumpconfig", 0, 0, 0x64436667 } , #define CF_USAGE_DEBUG " --dumpconfig\t" CF_USAGE_TAB "Dump program configuration\n" #else