GDB (API)
|
00001 /* Interface for common GDB/MI data 00002 Copyright (C) 2005-2013 Free Software Foundation, Inc. 00003 00004 This file is part of GDB. 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00018 00019 #ifndef MI_COMMON_H 00020 #define MI_COMMON_H 00021 00022 /* Represents the reason why GDB is sending an asynchronous command to 00023 the front end. NOTE: When modifing this, don't forget to update 00024 gdb.texinfo! */ 00025 enum async_reply_reason 00026 { 00027 EXEC_ASYNC_BREAKPOINT_HIT = 0, 00028 EXEC_ASYNC_WATCHPOINT_TRIGGER, 00029 EXEC_ASYNC_READ_WATCHPOINT_TRIGGER, 00030 EXEC_ASYNC_ACCESS_WATCHPOINT_TRIGGER, 00031 EXEC_ASYNC_FUNCTION_FINISHED, 00032 EXEC_ASYNC_LOCATION_REACHED, 00033 EXEC_ASYNC_WATCHPOINT_SCOPE, 00034 EXEC_ASYNC_END_STEPPING_RANGE, 00035 EXEC_ASYNC_EXITED_SIGNALLED, 00036 EXEC_ASYNC_EXITED, 00037 EXEC_ASYNC_EXITED_NORMALLY, 00038 EXEC_ASYNC_SIGNAL_RECEIVED, 00039 EXEC_ASYNC_SOLIB_EVENT, 00040 EXEC_ASYNC_FORK, 00041 EXEC_ASYNC_VFORK, 00042 EXEC_ASYNC_SYSCALL_ENTRY, 00043 EXEC_ASYNC_SYSCALL_RETURN, 00044 EXEC_ASYNC_EXEC, 00045 /* This is here only to represent the number of enums. */ 00046 EXEC_ASYNC_LAST 00047 }; 00048 00049 const char *async_reason_lookup (enum async_reply_reason reason); 00050 00051 struct mi_interp 00052 { 00053 /* MI's output channels */ 00054 struct ui_file *out; 00055 struct ui_file *err; 00056 struct ui_file *log; 00057 struct ui_file *targ; 00058 struct ui_file *event_channel; 00059 00060 /* MI's builder. */ 00061 struct ui_out *uiout; 00062 00063 /* This is the interpreter for the mi... */ 00064 struct interp *mi2_interp; 00065 struct interp *mi1_interp; 00066 struct interp *mi_interp; 00067 }; 00068 00069 #endif