X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fopt-internal.h;h=21c67a6e16e5ff9a906631aa180fb31270727dee;hb=959566090f98dd31eaa67d3d5959b641e5fe902b;hp=0ac2a77324f05e0998923f69a17e155156931d41;hpb=beffdda5bfe844b0db22eb6e6c393b396a4f13f1;p=libucw.git diff --git a/ucw/opt-internal.h b/ucw/opt-internal.h index 0ac2a773..21c67a6e 100644 --- a/ucw/opt-internal.h +++ b/ucw/opt-internal.h @@ -15,25 +15,32 @@ #define opt_precompute ucw_opt_precompute #endif +enum opt_conf_state { + OPT_CONF_HOOK_BEGIN, + OPT_CONF_HOOK_CONFIG, + OPT_CONF_HOOK_OTHERS, +}; + struct opt_context { const struct opt_section * options; struct opt_precomputed * opts; struct opt_precomputed ** shortopt; - struct opt_item ** hooks; + const struct opt_item ** hooks; int opt_count; int hook_count; int positional_max; int positional_count; - bool stop_parsing; + int stop_parsing; + enum opt_conf_state conf_state; }; struct opt_precomputed { - struct opt_item * item; + const struct opt_item * item; const char * name; short flags; short count; }; -void opt_precompute(struct opt_precomputed *opt, struct opt_item *item); +void opt_precompute(struct opt_precomputed *opt, const struct opt_item *item); #endif