X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fopt-internal.h;h=21c67a6e16e5ff9a906631aa180fb31270727dee;hb=9160b9f6e7a235113bbe95364d0fc1a4ad247186;hp=54717b3952addc13425795ec05c1d3dd9a404d9d;hpb=62673745e898e1b006d19bc0e4a9340adb772532;p=libucw.git diff --git a/ucw/opt-internal.h b/ucw/opt-internal.h index 54717b39..21c67a6e 100644 --- a/ucw/opt-internal.h +++ b/ucw/opt-internal.h @@ -15,13 +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; + const struct opt_item ** hooks; + int opt_count; + int hook_count; + int positional_max; + int positional_count; + 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