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