Merge branch 'feature-dtrace'
[mono.git] / mono / mini / debug-debugger.h
index 9c6b5c0a54c1909447ecc06d304f88207867e393..b7c5b43e6df38ec3999d531b53e8d8c47e738b31 100644 (file)
@@ -23,6 +23,11 @@ typedef struct _MonoDebuggerMetadataInfo     MonoDebuggerMetadataInfo;
  */
 extern guint8 *mono_trampoline_code [];
 
+typedef enum {
+       DEBUGGER_RUNTIME_FLAGS_NONE             = 0,
+       DEBUGGER_RUNTIME_FLAGS_ATTACH_OK        = 1
+} MonoDebuggerRuntimeFlags;
+
 /*
  * There's a global data symbol called `MONO_DEBUGGER__debugger_info' which
  * contains pointers to global variables and functions which must be accessed
@@ -30,7 +35,9 @@ extern guint8 *mono_trampoline_code [];
  */
 struct _MonoDebuggerInfo {
        guint64 magic;
-       guint32 version;
+       guint32 major_version;
+       guint32 minor_version;
+       guint32 runtime_flags;
        guint32 total_size;
        guint32 symbol_table_size;
        guint32 mono_trampoline_num;
@@ -82,6 +89,11 @@ struct _MonoDebuggerInfo {
        void (**event_handler_ptr) (MonoDebuggerEvent event, guint64 data, guint64 arg);
        void (*debugger_event_handler) (MonoDebuggerEvent event, guint64 data, guint64 arg);
        gint32 *using_mono_debugger;
+       gint32 *interruption_request;
+
+       guint64 (*abort_runtime_invoke) (G_GNUC_UNUSED guint64 dummy1, G_GNUC_UNUSED guint64 dummy2);
+
+       guint32 *thread_abort_signal;
 };
 
 struct _MonoDebuggerMetadataInfo {