xref: /dflybsd-src/contrib/gdb-7/gdb/mi/mi-common.h (revision 5796c8dc12c637f18a1740c26afd8d40ffa9b719)
1*5796c8dcSSimon Schubert /* Interface for common GDB/MI data
2*5796c8dcSSimon Schubert    Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
3*5796c8dcSSimon Schubert 
4*5796c8dcSSimon Schubert    This file is part of GDB.
5*5796c8dcSSimon Schubert 
6*5796c8dcSSimon Schubert    This program is free software; you can redistribute it and/or modify
7*5796c8dcSSimon Schubert    it under the terms of the GNU General Public License as published by
8*5796c8dcSSimon Schubert    the Free Software Foundation; either version 3 of the License, or
9*5796c8dcSSimon Schubert    (at your option) any later version.
10*5796c8dcSSimon Schubert 
11*5796c8dcSSimon Schubert    This program is distributed in the hope that it will be useful,
12*5796c8dcSSimon Schubert    but WITHOUT ANY WARRANTY; without even the implied warranty of
13*5796c8dcSSimon Schubert    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*5796c8dcSSimon Schubert    GNU General Public License for more details.
15*5796c8dcSSimon Schubert 
16*5796c8dcSSimon Schubert    You should have received a copy of the GNU General Public License
17*5796c8dcSSimon Schubert    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
18*5796c8dcSSimon Schubert 
19*5796c8dcSSimon Schubert #ifndef MI_COMMON_H
20*5796c8dcSSimon Schubert #define MI_COMMON_H
21*5796c8dcSSimon Schubert 
22*5796c8dcSSimon Schubert /* Represents the reason why GDB is sending an asynchronous command to the
23*5796c8dcSSimon Schubert    front end.  NOTE: When modifing this, don't forget to update gdb.texinfo!  */
24*5796c8dcSSimon Schubert enum async_reply_reason
25*5796c8dcSSimon Schubert {
26*5796c8dcSSimon Schubert   EXEC_ASYNC_BREAKPOINT_HIT = 0,
27*5796c8dcSSimon Schubert   EXEC_ASYNC_WATCHPOINT_TRIGGER,
28*5796c8dcSSimon Schubert   EXEC_ASYNC_READ_WATCHPOINT_TRIGGER,
29*5796c8dcSSimon Schubert   EXEC_ASYNC_ACCESS_WATCHPOINT_TRIGGER,
30*5796c8dcSSimon Schubert   EXEC_ASYNC_FUNCTION_FINISHED,
31*5796c8dcSSimon Schubert   EXEC_ASYNC_LOCATION_REACHED,
32*5796c8dcSSimon Schubert   EXEC_ASYNC_WATCHPOINT_SCOPE,
33*5796c8dcSSimon Schubert   EXEC_ASYNC_END_STEPPING_RANGE,
34*5796c8dcSSimon Schubert   EXEC_ASYNC_EXITED_SIGNALLED,
35*5796c8dcSSimon Schubert   EXEC_ASYNC_EXITED,
36*5796c8dcSSimon Schubert   EXEC_ASYNC_EXITED_NORMALLY,
37*5796c8dcSSimon Schubert   EXEC_ASYNC_SIGNAL_RECEIVED,
38*5796c8dcSSimon Schubert   /* This is here only to represent the number of enums.  */
39*5796c8dcSSimon Schubert   EXEC_ASYNC_LAST
40*5796c8dcSSimon Schubert };
41*5796c8dcSSimon Schubert 
42*5796c8dcSSimon Schubert const char *async_reason_lookup (enum async_reply_reason reason);
43*5796c8dcSSimon Schubert 
44*5796c8dcSSimon Schubert struct mi_interp
45*5796c8dcSSimon Schubert {
46*5796c8dcSSimon Schubert   /* MI's output channels */
47*5796c8dcSSimon Schubert   struct ui_file *out;
48*5796c8dcSSimon Schubert   struct ui_file *err;
49*5796c8dcSSimon Schubert   struct ui_file *log;
50*5796c8dcSSimon Schubert   struct ui_file *targ;
51*5796c8dcSSimon Schubert   struct ui_file *event_channel;
52*5796c8dcSSimon Schubert 
53*5796c8dcSSimon Schubert   /* This is the interpreter for the mi... */
54*5796c8dcSSimon Schubert   struct interp *mi2_interp;
55*5796c8dcSSimon Schubert   struct interp *mi1_interp;
56*5796c8dcSSimon Schubert   struct interp *mi_interp;
57*5796c8dcSSimon Schubert };
58*5796c8dcSSimon Schubert 
59*5796c8dcSSimon Schubert #endif
60