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