aboutsummaryrefslogtreecommitdiff
path: root/gdb/magic.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/magic.h')
-rw-r--r--gdb/magic.h34
1 files changed, 30 insertions, 4 deletions
diff --git a/gdb/magic.h b/gdb/magic.h
index 7ff366c..ef8cf2e 100644
--- a/gdb/magic.h
+++ b/gdb/magic.h
@@ -1,6 +1,32 @@
/* magic.h - Interface to the General Magic debugger extras */
-extern void init_magic();
-extern CORE_ADDR deal_with_dispatch(CORE_ADDR pc);
-extern struct type *type_of_object(CORE_ADDR object);
-extern CORE_ADDR baseptr_of_object(CORE_ADDR object);
+/* object framework definitions, from FrameworkDefines.asm.h and Generic.h */
+
+#define kIDBitObject 31 /* set for valid object IDs */
+#define kIDBitUsable 26 /* set if objectID is usable */
+
+/* Return nonzero if <object> is a valid ObjectID */
+
+#define IsObjectID(object) (((unsigned long)(object) & 0x80000000) != 0)
+
+#define kSizeOfObjectHeader 12 /* size of object header in bytes */
+
+/* public interfaces */
+
+extern void
+init_magic PARAMS ((void));
+
+extern void
+magic_create_inferior_hook PARAMS ((void));
+
+extern struct type *
+type_of_object PARAMS ((CORE_ADDR object));
+
+extern CORE_ADDR
+baseptr_of_object PARAMS ((CORE_ADDR object));
+
+extern int
+magic_in_dispatcher PARAMS ((CORE_ADDR stop_pc, char *name));
+
+extern CORE_ADDR
+magic_skip_dispatcher PARAMS ((CORE_ADDR stop_pc));