aboutsummaryrefslogtreecommitdiff
path: root/gdb/mi
diff options
context:
space:
mode:
authorBob Rossi <bob@brasko.net>2005-05-29 03:13:19 +0000
committerBob Rossi <bob@brasko.net>2005-05-29 03:13:19 +0000
commit034dad6fa14741c4392485c2e64120bef895c4ee (patch)
treea037ec1564fdd6b9d2efcb4e64effcc091d514d8 /gdb/mi
parent0915f927adbf740ae6b4192d0378091163024b03 (diff)
downloadgdb-034dad6fa14741c4392485c2e64120bef895c4ee.zip
gdb-034dad6fa14741c4392485c2e64120bef895c4ee.tar.gz
gdb-034dad6fa14741c4392485c2e64120bef895c4ee.tar.bz2
This is a cleanup change. It is the beggining of allowing GDB/MI to be
better understood (internally).
Diffstat (limited to 'gdb/mi')
-rw-r--r--gdb/mi/mi-common.c53
-rw-r--r--gdb/mi/mi-common.h46
2 files changed, 99 insertions, 0 deletions
diff --git a/gdb/mi/mi-common.c b/gdb/mi/mi-common.c
new file mode 100644
index 0000000..e8760bb
--- /dev/null
+++ b/gdb/mi/mi-common.c
@@ -0,0 +1,53 @@
+/* Interface for common GDB/MI data
+ Copyright 2005 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "mi-common.h"
+
+static const char * const async_reason_string_lookup[] =
+{
+ "breakpoint-hit",
+ "watchpoint-trigger",
+ "read-watchpoint-trigger",
+ "access-watchpoint-trigger",
+ "function-finished",
+ "location-reached",
+ "watchpoint-scope",
+ "end-stepping-range",
+ "exited-signalled",
+ "exited",
+ "exited-normally",
+ "signal-received",
+ NULL
+};
+
+const char *
+async_reason_lookup (enum async_reply_reason reason)
+{
+ return async_reason_string_lookup[reason];
+}
+
+void
+_initialize_gdb_mi_common (void)
+{
+ if (ARRAY_SIZE (async_reason_string_lookup) != EXEC_ASYNC_LAST + 1)
+ internal_error (__FILE__, __LINE__,
+ _("async_reason_string_lookup is inconsistent"));
+}
diff --git a/gdb/mi/mi-common.h b/gdb/mi/mi-common.h
new file mode 100644
index 0000000..df719c0
--- /dev/null
+++ b/gdb/mi/mi-common.h
@@ -0,0 +1,46 @@
+/* Interface for common GDB/MI data
+ Copyright 2005 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef MI_COMMON_H
+#define MI_COMMON_H
+
+/* Represents the reason why GDB is sending an asynchronous command to the
+ front end. NOTE: When modifing this, don't forget to update gdb.texinfo! */
+enum async_reply_reason
+{
+ EXEC_ASYNC_BREAKPOINT_HIT = 0,
+ EXEC_ASYNC_WATCHPOINT_TRIGGER,
+ EXEC_ASYNC_READ_WATCHPOINT_TRIGGER,
+ EXEC_ASYNC_ACCESS_WATCHPOINT_TRIGGER,
+ EXEC_ASYNC_FUNCTION_FINISHED,
+ EXEC_ASYNC_LOCATION_REACHED,
+ EXEC_ASYNC_WATCHPOINT_SCOPE,
+ EXEC_ASYNC_END_STEPPING_RANGE,
+ EXEC_ASYNC_EXITED_SIGNALLED,
+ EXEC_ASYNC_EXITED,
+ EXEC_ASYNC_EXITED_NORMALLY,
+ EXEC_ASYNC_SIGNAL_RECEIVED,
+ /* This is here only to represent the number of enums. */
+ EXEC_ASYNC_LAST
+};
+
+const char *async_reason_lookup (enum async_reply_reason reason);
+
+#endif