xref: /dflybsd-src/contrib/gdb-7/gdb/mi/mi-common.h (revision de8e141f24382815c10a4012d209bbbf7abf1112)
15796c8dcSSimon Schubert /* Interface for common GDB/MI data
2*ef5ccd6cSJohn Marino    Copyright (C) 2005-2013 Free Software Foundation, Inc.
35796c8dcSSimon Schubert 
45796c8dcSSimon Schubert    This file is part of GDB.
55796c8dcSSimon Schubert 
65796c8dcSSimon Schubert    This program is free software; you can redistribute it and/or modify
75796c8dcSSimon Schubert    it under the terms of the GNU General Public License as published by
85796c8dcSSimon Schubert    the Free Software Foundation; either version 3 of the License, or
95796c8dcSSimon Schubert    (at your option) any later version.
105796c8dcSSimon Schubert 
115796c8dcSSimon Schubert    This program is distributed in the hope that it will be useful,
125796c8dcSSimon Schubert    but WITHOUT ANY WARRANTY; without even the implied warranty of
135796c8dcSSimon Schubert    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
145796c8dcSSimon Schubert    GNU General Public License for more details.
155796c8dcSSimon Schubert 
165796c8dcSSimon Schubert    You should have received a copy of the GNU General Public License
175796c8dcSSimon Schubert    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
185796c8dcSSimon Schubert 
195796c8dcSSimon Schubert #ifndef MI_COMMON_H
205796c8dcSSimon Schubert #define MI_COMMON_H
215796c8dcSSimon Schubert 
22c50c785cSJohn Marino /* Represents the reason why GDB is sending an asynchronous command to
23c50c785cSJohn Marino    the front end.  NOTE: When modifing this, don't forget to update
24c50c785cSJohn Marino    gdb.texinfo!  */
255796c8dcSSimon Schubert enum async_reply_reason
265796c8dcSSimon Schubert {
275796c8dcSSimon Schubert   EXEC_ASYNC_BREAKPOINT_HIT = 0,
285796c8dcSSimon Schubert   EXEC_ASYNC_WATCHPOINT_TRIGGER,
295796c8dcSSimon Schubert   EXEC_ASYNC_READ_WATCHPOINT_TRIGGER,
305796c8dcSSimon Schubert   EXEC_ASYNC_ACCESS_WATCHPOINT_TRIGGER,
315796c8dcSSimon Schubert   EXEC_ASYNC_FUNCTION_FINISHED,
325796c8dcSSimon Schubert   EXEC_ASYNC_LOCATION_REACHED,
335796c8dcSSimon Schubert   EXEC_ASYNC_WATCHPOINT_SCOPE,
345796c8dcSSimon Schubert   EXEC_ASYNC_END_STEPPING_RANGE,
355796c8dcSSimon Schubert   EXEC_ASYNC_EXITED_SIGNALLED,
365796c8dcSSimon Schubert   EXEC_ASYNC_EXITED,
375796c8dcSSimon Schubert   EXEC_ASYNC_EXITED_NORMALLY,
385796c8dcSSimon Schubert   EXEC_ASYNC_SIGNAL_RECEIVED,
39a45ae5f8SJohn Marino   EXEC_ASYNC_SOLIB_EVENT,
40a45ae5f8SJohn Marino   EXEC_ASYNC_FORK,
41a45ae5f8SJohn Marino   EXEC_ASYNC_VFORK,
42a45ae5f8SJohn Marino   EXEC_ASYNC_SYSCALL_ENTRY,
43a45ae5f8SJohn Marino   EXEC_ASYNC_SYSCALL_RETURN,
44a45ae5f8SJohn Marino   EXEC_ASYNC_EXEC,
455796c8dcSSimon Schubert   /* This is here only to represent the number of enums.  */
465796c8dcSSimon Schubert   EXEC_ASYNC_LAST
475796c8dcSSimon Schubert };
485796c8dcSSimon Schubert 
495796c8dcSSimon Schubert const char *async_reason_lookup (enum async_reply_reason reason);
505796c8dcSSimon Schubert 
515796c8dcSSimon Schubert struct mi_interp
525796c8dcSSimon Schubert {
535796c8dcSSimon Schubert   /* MI's output channels */
545796c8dcSSimon Schubert   struct ui_file *out;
555796c8dcSSimon Schubert   struct ui_file *err;
565796c8dcSSimon Schubert   struct ui_file *log;
575796c8dcSSimon Schubert   struct ui_file *targ;
585796c8dcSSimon Schubert   struct ui_file *event_channel;
595796c8dcSSimon Schubert 
60a45ae5f8SJohn Marino   /* MI's builder.  */
61a45ae5f8SJohn Marino   struct ui_out *uiout;
62a45ae5f8SJohn Marino 
635796c8dcSSimon Schubert   /* This is the interpreter for the mi... */
645796c8dcSSimon Schubert   struct interp *mi2_interp;
655796c8dcSSimon Schubert   struct interp *mi1_interp;
665796c8dcSSimon Schubert   struct interp *mi_interp;
675796c8dcSSimon Schubert };
685796c8dcSSimon Schubert 
695796c8dcSSimon Schubert #endif
70