]> mj.ucw.cz Git - libucw.git/blob - ucw/opt-internal.h
0ac2a77324f05e0998923f69a17e155156931d41
[libucw.git] / ucw / opt-internal.h
1 /*
2  *      UCW Library -- Internals of the option parser
3  *
4  *      (c) 2013 Jan Moskyto Matejka <mq@ucw.cz>
5  *      (c) 2014 Martin Mares <mj@ucw.cz>
6  *
7  *      This software may be freely distributed and used according to the terms
8  *      of the GNU Lesser General Public License.
9  */
10
11 #ifndef _UCW_OPT_INTERNAL_H
12 #define _UCW_OPT_INTERNAL_H
13
14 #ifdef CONFIG_UCW_CLEAN_ABI
15 #define opt_precompute ucw_opt_precompute
16 #endif
17
18 struct opt_context {
19   const struct opt_section * options;
20   struct opt_precomputed * opts;
21   struct opt_precomputed ** shortopt;
22   struct opt_item ** hooks;
23   int opt_count;
24   int hook_count;
25   int positional_max;
26   int positional_count;
27   bool stop_parsing;
28 };
29
30 struct opt_precomputed {
31   struct opt_item * item;
32   const char * name;
33   short flags;
34   short count;
35 };
36
37 void opt_precompute(struct opt_precomputed *opt, struct opt_item *item);
38
39 #endif