opt: wean off getopt_long, beef up tests.
[ccan] / ccan / opt / private.h
1 #ifndef CCAN_OPT_PRIVATE_H
2 #define CCAN_OPT_PRIVATE_H
3
4 extern struct opt_table *opt_table;
5 extern unsigned int opt_count, opt_num_short, opt_num_short_arg, opt_num_long;
6
7 extern const char *opt_argv0;
8
9 #define subtable_of(entry) ((struct opt_table *)((entry)->names))
10
11 const char *first_sopt(unsigned *i);
12 const char *next_sopt(const char *names, unsigned *i);
13 const char *first_lopt(unsigned *i, unsigned *len);
14 const char *next_lopt(const char *p, unsigned *i, unsigned *len);
15
16 int parse_one(int *argc, char *argv[], unsigned *offset,
17               void (*errlog)(const char *fmt, ...));
18
19 #endif /* CCAN_OPT_PRIVATE_H */