]> Git Repo - binutils.git/blob - gdb/cli/cli-setshow.h
Introduce generic command options framework
[binutils.git] / gdb / cli / cli-setshow.h
1 /* Header file for GDB CLI set and show commands implementation.
2    Copyright (C) 2000-2019 Free Software Foundation, Inc.
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 3 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
16
17 #ifndef CLI_CLI_SETSHOW_H
18 #define CLI_CLI_SETSHOW_H
19
20 struct cmd_list_element;
21
22 /* Parse ARG, an option to a boolean variable.
23    Returns 1 for true, 0 for false, and -1 if invalid.  */
24 extern int parse_cli_boolean_value (const char *arg);
25
26 /* Same as above, but work with a pointer to pointer.  ARG is advanced
27    past a successfully parsed value.  */
28 extern int parse_cli_boolean_value (const char **arg);
29
30 /* Parse ARG, an option to a var_uinteger or var_zuinteger variable.
31    Either returns the parsed value on success or throws an error.  If
32    EXPRESSION is true, *ARG is parsed as an expression; otherwise, it
33    is parsed with get_ulongest.  It's not possible to parse the
34    integer as an expression when there may be valid input after the
35    integer, such as when parsing command options.  E.g., "print
36    -elements NUMBER -obj --".  In such case, parsing as an expression
37    would parse "-obj --" as part of the expression as well.  */
38 extern unsigned int parse_cli_var_uinteger (var_types var_type,
39                                             const char **arg,
40                                             bool expression);
41
42 /* Like parse_cli_var_uinteger, for var_zuinteger_unlimited.  */
43 extern int parse_cli_var_zuinteger_unlimited (const char **arg,
44                                               bool expression);
45
46 /* Parse ARG, an option to a var_enum variable.  ENUM is a
47    null-terminated array of possible values. Either returns the parsed
48    value on success or throws an error.  ARG is advanced past the
49    parsed value.  */
50 const char *parse_cli_var_enum (const char **args,
51                                 const char *const *enums);
52
53 extern void do_set_command (const char *arg, int from_tty,
54                             struct cmd_list_element *c);
55 extern void do_show_command (const char *arg, int from_tty,
56                              struct cmd_list_element *c);
57
58 extern void cmd_show_list (struct cmd_list_element *list, int from_tty,
59                            const char *prefix);
60
61 #endif /* CLI_CLI_SETSHOW_H */
This page took 0.026736 seconds and 4 git commands to generate.