X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fgetopt.h;h=eb350012374f198bc2e50eeb2439a1e2cafc7cc4;hb=f0d1e456d7c57ea4c1fec2b778ba06739a999610;hp=3a5592470d1318aae8f26fb8ff5fb80aab8d556e;hpb=ce89c984c44f1b32713dd1dd742afc7e3ace8dc5;p=libucw.git diff --git a/ucw/getopt.h b/ucw/getopt.h index 3a559247..eb350012 100644 --- a/ucw/getopt.h +++ b/ucw/getopt.h @@ -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;