Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / mi / mi-cmds.h
CommitLineData
4389a95a
AC
1/* MI Command Set for GDB, the GNU debugger.
2
88b9d363 3 Copyright (C) 2000-2022 Free Software Foundation, Inc.
4389a95a 4
ab91fdd5 5 Contributed by Cygnus Solutions (a Red Hat company).
fb40c209
AC
6
7 This file is part of GDB.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
a9762ec7 11 the Free Software Foundation; either version 3 of the License, or
fb40c209
AC
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
a9762ec7 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
fb40c209 21
1a5c2598
TT
22#ifndef MI_MI_CMDS_H
23#define MI_MI_CMDS_H
fb40c209 24
90e645cd
NR
25enum print_values {
26 PRINT_NO_VALUES,
27 PRINT_ALL_VALUES,
28 PRINT_SIMPLE_VALUES
29};
30
9f33b8b7 31typedef void (mi_cmd_argv_ftype) (const char *command, char **argv, int argc);
fb40c209 32
2b03b41d
SS
33/* Declarations of the functions implementing each command. */
34
75082e8c 35extern mi_cmd_argv_ftype mi_cmd_ada_task_info;
a79b8f6e 36extern mi_cmd_argv_ftype mi_cmd_add_inferior;
fb40c209 37extern mi_cmd_argv_ftype mi_cmd_break_insert;
c5867ab6 38extern mi_cmd_argv_ftype mi_cmd_dprintf_insert;
79aabb73 39extern mi_cmd_argv_ftype mi_cmd_break_condition;
48cb2d85 40extern mi_cmd_argv_ftype mi_cmd_break_commands;
9b4c786c 41extern mi_cmd_argv_ftype mi_cmd_break_passcount;
fb40c209 42extern mi_cmd_argv_ftype mi_cmd_break_watch;
349774ef
JB
43extern mi_cmd_argv_ftype mi_cmd_catch_assert;
44extern mi_cmd_argv_ftype mi_cmd_catch_exception;
bea298f9 45extern mi_cmd_argv_ftype mi_cmd_catch_handlers;
91985142
MG
46extern mi_cmd_argv_ftype mi_cmd_catch_load;
47extern mi_cmd_argv_ftype mi_cmd_catch_unload;
30056ea0
AB
48extern mi_cmd_argv_ftype mi_cmd_catch_throw;
49extern mi_cmd_argv_ftype mi_cmd_catch_rethrow;
50extern mi_cmd_argv_ftype mi_cmd_catch_catch;
fb40c209
AC
51extern mi_cmd_argv_ftype mi_cmd_disassemble;
52extern mi_cmd_argv_ftype mi_cmd_data_evaluate_expression;
53extern mi_cmd_argv_ftype mi_cmd_data_list_register_names;
54extern mi_cmd_argv_ftype mi_cmd_data_list_register_values;
55extern mi_cmd_argv_ftype mi_cmd_data_list_changed_registers;
56extern mi_cmd_argv_ftype mi_cmd_data_read_memory;
8dedea02 57extern mi_cmd_argv_ftype mi_cmd_data_read_memory_bytes;
fb40c209 58extern mi_cmd_argv_ftype mi_cmd_data_write_memory;
8dedea02 59extern mi_cmd_argv_ftype mi_cmd_data_write_memory_bytes;
24e8cecf 60extern mi_cmd_argv_ftype mi_cmd_data_write_register_values;
d8c83789 61extern mi_cmd_argv_ftype mi_cmd_enable_timings;
068890be
JJ
62extern mi_cmd_argv_ftype mi_cmd_env_cd;
63extern mi_cmd_argv_ftype mi_cmd_env_dir;
64extern mi_cmd_argv_ftype mi_cmd_env_path;
65extern mi_cmd_argv_ftype mi_cmd_env_pwd;
9e22b03a
VP
66extern mi_cmd_argv_ftype mi_cmd_exec_continue;
67extern mi_cmd_argv_ftype mi_cmd_exec_finish;
115d30f9 68extern mi_cmd_argv_ftype mi_cmd_exec_interrupt;
143260c9 69extern mi_cmd_argv_ftype mi_cmd_exec_jump;
9e22b03a
VP
70extern mi_cmd_argv_ftype mi_cmd_exec_next;
71extern mi_cmd_argv_ftype mi_cmd_exec_next_instruction;
72extern mi_cmd_argv_ftype mi_cmd_exec_return;
115d30f9 73extern mi_cmd_argv_ftype mi_cmd_exec_run;
9e22b03a
VP
74extern mi_cmd_argv_ftype mi_cmd_exec_step;
75extern mi_cmd_argv_ftype mi_cmd_exec_step_instruction;
1abaf70c 76extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file;
57c22c6c 77extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_files;
51457a05 78extern mi_cmd_argv_ftype mi_cmd_file_list_shared_libraries;
fb40c209 79extern mi_cmd_argv_ftype mi_cmd_gdb_exit;
3cb3b8df
BR
80extern mi_cmd_argv_ftype mi_cmd_inferior_tty_set;
81extern mi_cmd_argv_ftype mi_cmd_inferior_tty_show;
a7e332c2 82extern mi_cmd_argv_ftype mi_cmd_info_ada_exceptions;
6b7cbff1 83extern mi_cmd_argv_ftype mi_cmd_info_gdb_mi_command;
f3e0e960 84extern mi_cmd_argv_ftype mi_cmd_info_os;
4389a95a 85extern mi_cmd_argv_ftype mi_cmd_interpreter_exec;
084344da 86extern mi_cmd_argv_ftype mi_cmd_list_features;
c6ebd6cf 87extern mi_cmd_argv_ftype mi_cmd_list_target_features;
3ee1c036 88extern mi_cmd_argv_ftype mi_cmd_list_thread_groups;
a79b8f6e 89extern mi_cmd_argv_ftype mi_cmd_remove_inferior;
fb40c209 90extern mi_cmd_argv_ftype mi_cmd_stack_info_depth;
3ba51a77 91extern mi_cmd_argv_ftype mi_cmd_stack_info_frame;
fb40c209
AC
92extern mi_cmd_argv_ftype mi_cmd_stack_list_args;
93extern mi_cmd_argv_ftype mi_cmd_stack_list_frames;
94extern mi_cmd_argv_ftype mi_cmd_stack_list_locals;
daf3c977 95extern mi_cmd_argv_ftype mi_cmd_stack_list_variables;
fb40c209 96extern mi_cmd_argv_ftype mi_cmd_stack_select_frame;
0d18235f 97extern mi_cmd_argv_ftype mi_cmd_symbol_list_lines;
7dc42066 98extern mi_cmd_argv_ftype mi_cmd_symbol_info_functions;
293b38d6
AB
99extern mi_cmd_argv_ftype mi_cmd_symbol_info_module_functions;
100extern mi_cmd_argv_ftype mi_cmd_symbol_info_module_variables;
db5960b4 101extern mi_cmd_argv_ftype mi_cmd_symbol_info_modules;
7dc42066
AB
102extern mi_cmd_argv_ftype mi_cmd_symbol_info_types;
103extern mi_cmd_argv_ftype mi_cmd_symbol_info_variables;
6418d433 104extern mi_cmd_argv_ftype mi_cmd_target_detach;
a6b151f1
DJ
105extern mi_cmd_argv_ftype mi_cmd_target_file_get;
106extern mi_cmd_argv_ftype mi_cmd_target_file_put;
107extern mi_cmd_argv_ftype mi_cmd_target_file_delete;
78cbbba8 108extern mi_cmd_argv_ftype mi_cmd_target_flash_erase;
8e8901c5 109extern mi_cmd_argv_ftype mi_cmd_thread_info;
fb40c209
AC
110extern mi_cmd_argv_ftype mi_cmd_thread_list_ids;
111extern mi_cmd_argv_ftype mi_cmd_thread_select;
40e1c229 112extern mi_cmd_argv_ftype mi_cmd_trace_define_variable;
f197e0f1 113extern mi_cmd_argv_ftype mi_cmd_trace_find;
dc673c81 114extern mi_cmd_argv_ftype mi_cmd_trace_frame_collected;
40e1c229 115extern mi_cmd_argv_ftype mi_cmd_trace_list_variables;
011aacb0 116extern mi_cmd_argv_ftype mi_cmd_trace_save;
f224b49d
VP
117extern mi_cmd_argv_ftype mi_cmd_trace_start;
118extern mi_cmd_argv_ftype mi_cmd_trace_status;
119extern mi_cmd_argv_ftype mi_cmd_trace_stop;
fb40c209
AC
120extern mi_cmd_argv_ftype mi_cmd_var_assign;
121extern mi_cmd_argv_ftype mi_cmd_var_create;
122extern mi_cmd_argv_ftype mi_cmd_var_delete;
123extern mi_cmd_argv_ftype mi_cmd_var_evaluate_expression;
124extern mi_cmd_argv_ftype mi_cmd_var_info_expression;
02142340 125extern mi_cmd_argv_ftype mi_cmd_var_info_path_expression;
fb40c209
AC
126extern mi_cmd_argv_ftype mi_cmd_var_info_num_children;
127extern mi_cmd_argv_ftype mi_cmd_var_info_type;
128extern mi_cmd_argv_ftype mi_cmd_var_list_children;
129extern mi_cmd_argv_ftype mi_cmd_var_set_format;
25d5ea92 130extern mi_cmd_argv_ftype mi_cmd_var_set_frozen;
b6313243 131extern mi_cmd_argv_ftype mi_cmd_var_set_visualizer;
fb40c209
AC
132extern mi_cmd_argv_ftype mi_cmd_var_show_attributes;
133extern mi_cmd_argv_ftype mi_cmd_var_show_format;
134extern mi_cmd_argv_ftype mi_cmd_var_update;
0cc7d26f 135extern mi_cmd_argv_ftype mi_cmd_enable_pretty_printing;
1e611234 136extern mi_cmd_argv_ftype mi_cmd_enable_frame_filters;
0cc7d26f 137extern mi_cmd_argv_ftype mi_cmd_var_set_update_range;
26648588 138extern mi_cmd_argv_ftype mi_cmd_complete;
fb40c209 139
2b03b41d 140/* Description of a single command. */
fb40c209 141
b2af646b
AC
142struct mi_cli
143{
144 /* Corresponding CLI command. If ARGS_P is non-zero, the MI
145 command's argument list is appended to the CLI command. */
146 const char *cmd;
147 int args_p;
148};
149
fb40c209 150struct mi_cmd
b2af646b 151{
2b03b41d 152 /* Official name of the command. */
b2af646b
AC
153 const char *name;
154 /* The corresponding CLI command that can be used to implement this
155 MI command (if cli.lhs is non NULL). */
156 struct mi_cli cli;
157 /* If non-null, the function implementing the MI command. */
b2af646b 158 mi_cmd_argv_ftype *argv_func;
648beb2b
YQ
159 /* If non-null, the pointer to a field in
160 'struct mi_suppress_notification', which will be set to true by MI
161 command processor (mi-main.c:mi_cmd_execute) when this command is
162 being executed. It will be set back to false when command has been
163 executed. */
164 int *suppress_notification;
b2af646b 165};
fb40c209 166
2b03b41d 167/* Lookup a command in the MI command table. */
fb40c209
AC
168
169extern struct mi_cmd *mi_lookup (const char *command);
170
171/* Debug flag */
172extern int mi_debug_p;
173
ee047554 174extern void mi_execute_command (const char *cmd, int from_tty);
4389a95a 175
1a5c2598 176#endif /* MI_MI_CMDS_H */
This page took 2.724219 seconds and 4 git commands to generate.