30
32
#define GET_ENUM 12
32
34
#define GET_DOUBLE 14
37
#define GET_ULONG_IS_FAIL 17
34
39
#define GET_ASK_ADDR 128
35
40
#define GET_TYPE_MASK 127
41
#include <mysys/my_sys.h>
43
47
enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG };
65
69
typedef bool (* my_get_one_option) (int, const struct my_option *, char * );
66
70
typedef void (* my_error_reporter) (enum loglevel level, const char *format, ... );
71
typedef char ** (*getopt_get_addr_func)(const char *, uint32_t, const struct my_option *);
68
73
extern char *disabled_my_option;
69
74
extern bool my_getopt_print_errors;
70
75
extern bool my_getopt_skip_unknown;
71
76
extern my_error_reporter my_getopt_error_reporter;
77
void default_reporter(enum loglevel level, const char *format, ...);
73
extern int handle_options (int *argc, char ***argv,
79
extern int handle_options (int *argc, char ***argv,
74
80
const struct my_option *longopts, my_get_one_option);
75
81
extern void my_cleanup_options(const struct my_option *options);
76
82
extern void my_print_help(const struct my_option *options);
77
83
extern void my_print_variables(const struct my_option *options);
78
extern void my_getopt_register_get_addr(char ** (*func_addr)(const char *, uint,
79
const struct my_option *));
84
extern void my_getopt_register_get_addr(getopt_get_addr_func func_addr);
81
86
uint64_t getopt_ull_limit_value(uint64_t num, const struct my_option *optp,