]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/cli/cli-setshow.h
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / cli / cli-setshow.h
CommitLineData
d318976c 1/* Header file for GDB CLI set and show commands implementation.
1d506c26 2 Copyright (C) 2000-2024 Free Software Foundation, Inc.
d318976c
FN
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
a9762ec7 6 the Free Software Foundation; either version 3 of the License, or
d318976c
FN
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
a9762ec7 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
d318976c 16
1a5c2598
TT
17#ifndef CLI_CLI_SETSHOW_H
18#define CLI_CLI_SETSHOW_H
d318976c 19
fdbc9870
PA
20#include <string>
21
da3331ec
AC
22struct cmd_list_element;
23
bd712aed
DE
24/* Parse ARG, an option to a boolean variable.
25 Returns 1 for true, 0 for false, and -1 if invalid. */
5bc98e52 26extern int parse_cli_boolean_value (const char *arg);
d318976c 27
9d0faba9
PA
28/* Same as above, but work with a pointer to pointer. ARG is advanced
29 past a successfully parsed value. */
30extern int parse_cli_boolean_value (const char **arg);
31
7aeb03e2
MR
32/* Parse ARG, an option to a var_uinteger, var_integer or var_pinteger
33 variable. Return the parsed value on success or throw an error. If
34 EXTRA_LITERALS is non-null, then interpret those literals accordingly.
35 If EXPRESSION is true, *ARG is parsed as an expression; otherwise,
36 it is parsed with get_ulongest. It's not possible to parse the
9d0faba9
PA
37 integer as an expression when there may be valid input after the
38 integer, such as when parsing command options. E.g., "print
39 -elements NUMBER -obj --". In such case, parsing as an expression
40 would parse "-obj --" as part of the expression as well. */
7aeb03e2
MR
41extern LONGEST parse_cli_var_integer (var_types var_type,
42 const literal_def *extra_literals,
43 const char **arg,
44 bool expression);
9d0faba9
PA
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. */
50const char *parse_cli_var_enum (const char **args,
51 const char *const *enums);
52
06900326 53extern void do_set_command (const char *arg, int from_tty,
5b9afe8a 54 struct cmd_list_element *c);
06900326 55extern void do_show_command (const char *arg, int from_tty,
5b9afe8a 56 struct cmd_list_element *c);
d318976c 57
1d7fe7f0
LS
58/* Get a string version of VAR's value. */
59extern std::string get_setshow_command_value_string (const setting &var);
fdbc9870 60
7aa1b46f 61extern void cmd_show_list (struct cmd_list_element *list, int from_tty);
d318976c 62
1a5c2598 63#endif /* CLI_CLI_SETSHOW_H */