* symfile.c (find_separate_debug_file): Remove double free of
[deliverable/binutils-gdb.git] / gdb / mi / mi-cmds.h
CommitLineData
4389a95a
AC
1/* MI Command Set for GDB, the GNU debugger.
2
0fb0cc75 3 Copyright (C) 2000, 2003, 2004, 2005, 2007, 2008, 2009
9b254dd1 4 Free Software Foundation, 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
fb40c209
AC
38/* Function implementing each command */
39extern mi_cmd_argv_ftype mi_cmd_break_insert;
48cb2d85 40extern mi_cmd_argv_ftype mi_cmd_break_commands;
fb40c209
AC
41extern mi_cmd_argv_ftype mi_cmd_break_watch;
42extern mi_cmd_argv_ftype mi_cmd_disassemble;
43extern mi_cmd_argv_ftype mi_cmd_data_evaluate_expression;
44extern mi_cmd_argv_ftype mi_cmd_data_list_register_names;
45extern mi_cmd_argv_ftype mi_cmd_data_list_register_values;
46extern mi_cmd_argv_ftype mi_cmd_data_list_changed_registers;
47extern mi_cmd_argv_ftype mi_cmd_data_read_memory;
48extern mi_cmd_argv_ftype mi_cmd_data_write_memory;
24e8cecf 49extern mi_cmd_argv_ftype mi_cmd_data_write_register_values;
d8c83789 50extern mi_cmd_argv_ftype mi_cmd_enable_timings;
068890be
JJ
51extern mi_cmd_argv_ftype mi_cmd_env_cd;
52extern mi_cmd_argv_ftype mi_cmd_env_dir;
53extern mi_cmd_argv_ftype mi_cmd_env_path;
54extern mi_cmd_argv_ftype mi_cmd_env_pwd;
9e22b03a
VP
55extern mi_cmd_argv_ftype mi_cmd_exec_continue;
56extern mi_cmd_argv_ftype mi_cmd_exec_finish;
143260c9 57extern mi_cmd_argv_ftype mi_cmd_exec_jump;
9e22b03a
VP
58extern mi_cmd_argv_ftype mi_cmd_exec_next;
59extern mi_cmd_argv_ftype mi_cmd_exec_next_instruction;
60extern mi_cmd_argv_ftype mi_cmd_exec_return;
9e22b03a
VP
61extern mi_cmd_argv_ftype mi_cmd_exec_step;
62extern mi_cmd_argv_ftype mi_cmd_exec_step_instruction;
9e22b03a 63extern mi_cmd_argv_ftype mi_cmd_exec_interrupt;
1abaf70c 64extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_file;
57c22c6c 65extern mi_cmd_argv_ftype mi_cmd_file_list_exec_source_files;
fb40c209 66extern mi_cmd_argv_ftype mi_cmd_gdb_exit;
3cb3b8df
BR
67extern mi_cmd_argv_ftype mi_cmd_inferior_tty_set;
68extern mi_cmd_argv_ftype mi_cmd_inferior_tty_show;
4389a95a 69extern mi_cmd_argv_ftype mi_cmd_interpreter_exec;
084344da 70extern mi_cmd_argv_ftype mi_cmd_list_features;
c6ebd6cf 71extern mi_cmd_argv_ftype mi_cmd_list_target_features;
3ee1c036 72extern mi_cmd_argv_ftype mi_cmd_list_thread_groups;
fb40c209 73extern mi_cmd_argv_ftype mi_cmd_stack_info_depth;
3ba51a77 74extern mi_cmd_argv_ftype mi_cmd_stack_info_frame;
fb40c209
AC
75extern mi_cmd_argv_ftype mi_cmd_stack_list_args;
76extern mi_cmd_argv_ftype mi_cmd_stack_list_frames;
77extern mi_cmd_argv_ftype mi_cmd_stack_list_locals;
78extern mi_cmd_argv_ftype mi_cmd_stack_select_frame;
0d18235f 79extern mi_cmd_argv_ftype mi_cmd_symbol_list_lines;
6418d433 80extern mi_cmd_argv_ftype mi_cmd_target_detach;
a6b151f1
DJ
81extern mi_cmd_argv_ftype mi_cmd_target_file_get;
82extern mi_cmd_argv_ftype mi_cmd_target_file_put;
83extern mi_cmd_argv_ftype mi_cmd_target_file_delete;
8e8901c5 84extern mi_cmd_argv_ftype mi_cmd_thread_info;
fb40c209
AC
85extern mi_cmd_argv_ftype mi_cmd_thread_list_ids;
86extern mi_cmd_argv_ftype mi_cmd_thread_select;
87extern mi_cmd_argv_ftype mi_cmd_var_assign;
88extern mi_cmd_argv_ftype mi_cmd_var_create;
89extern mi_cmd_argv_ftype mi_cmd_var_delete;
90extern mi_cmd_argv_ftype mi_cmd_var_evaluate_expression;
91extern mi_cmd_argv_ftype mi_cmd_var_info_expression;
02142340 92extern mi_cmd_argv_ftype mi_cmd_var_info_path_expression;
fb40c209
AC
93extern mi_cmd_argv_ftype mi_cmd_var_info_num_children;
94extern mi_cmd_argv_ftype mi_cmd_var_info_type;
95extern mi_cmd_argv_ftype mi_cmd_var_list_children;
96extern mi_cmd_argv_ftype mi_cmd_var_set_format;
25d5ea92 97extern mi_cmd_argv_ftype mi_cmd_var_set_frozen;
b6313243 98extern mi_cmd_argv_ftype mi_cmd_var_set_visualizer;
fb40c209
AC
99extern mi_cmd_argv_ftype mi_cmd_var_show_attributes;
100extern mi_cmd_argv_ftype mi_cmd_var_show_format;
101extern mi_cmd_argv_ftype mi_cmd_var_update;
102
103/* Description of a single command. */
104
b2af646b
AC
105struct mi_cli
106{
107 /* Corresponding CLI command. If ARGS_P is non-zero, the MI
108 command's argument list is appended to the CLI command. */
109 const char *cmd;
110 int args_p;
111};
112
fb40c209 113struct mi_cmd
b2af646b
AC
114{
115 /* official name of the command. */
116 const char *name;
117 /* The corresponding CLI command that can be used to implement this
118 MI command (if cli.lhs is non NULL). */
119 struct mi_cli cli;
120 /* If non-null, the function implementing the MI command. */
b2af646b
AC
121 mi_cmd_argv_ftype *argv_func;
122};
fb40c209
AC
123
124/* Lookup a command in the mi comand table */
125
126extern struct mi_cmd *mi_lookup (const char *command);
127
128/* Debug flag */
129extern int mi_debug_p;
130
131/* Raw console output - FIXME: should this be a parameter? */
132extern struct ui_file *raw_stdout;
133
4389a95a
AC
134extern void mi_execute_command (char *cmd, int from_tty);
135
fb40c209 136#endif
This page took 0.732309 seconds and 4 git commands to generate.