summaryrefslogtreecommitdiff
path: root/include/my_getopt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/my_getopt.h')
-rw-r--r--include/my_getopt.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/my_getopt.h b/include/my_getopt.h
new file mode 100644
index 00000000000..3132d6a1672
--- /dev/null
+++ b/include/my_getopt.h
@@ -0,0 +1,46 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+struct my_optarg
+{
+ char *arg; /* option argument */
+ int pos; /* next element in ARGV */
+ int verbose; /* 0 = inhibit warnings of unrecognized options */
+ int unrecognized; /* position of the unrecognized option */
+};
+
+
+enum get_opt_var_type { GET_NO_ARG, GET_INT, GET_LL, GET_STR };
+enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG };
+
+struct my_option
+{
+ const char *name; /* Name of the option */
+ const char *comment; /* option comment, for autom. --help */
+ char *value; /* The variable value */
+ const char **str_values; /* Pointer to possible values */
+ enum get_opt_var_type var_type;
+ enum get_opt_arg_type arg_type;
+ int id; /* unique id or short option */
+ long long def_value; /* Default value */
+ long long min_value; /* Min allowed value */
+ long long max_value; /* Max allowed value */
+ long long sub_size; /* Subtract this from given value */
+ long block_size; /* Value should be a mult. of this */
+ int app_type; /* To be used by an application */
+ my_bool changeable_var; /* If true, the option is a variable */
+};
+