New test.
[mono.git] / mono / mini / trace.h
index e40aebb0f10fc396927790bc7c02b702873f0fe9..9912a3e8457e80036a4b14b98f0b683625bf1c4b 100644 (file)
@@ -1,12 +1,14 @@
 #ifndef __MONO_TRACE_H__
 #define __MONO_TRACE_H__
+#include <glib.h>
 
 typedef enum {
        MONO_TRACEOP_ALL,
        MONO_TRACEOP_PROGRAM,
        MONO_TRACEOP_METHOD,
        MONO_TRACEOP_ASSEMBLY,
-       MONO_TRACEOP_CLASS
+       MONO_TRACEOP_CLASS,
+       MONO_TRACEOP_NAMESPACE
 } MonoTraceOpcode;
 
 typedef struct {
@@ -17,9 +19,23 @@ typedef struct {
 
 struct MonoTraceSpec {
        int len;
+       gboolean enabled;
        MonoTraceOperation *ops;
 
        MonoAssembly *assembly;
 };
 
+G_BEGIN_DECLS
+
+void
+mono_trace_enter_method (MonoMethod *method, char *ebp);
+
+void 
+mono_trace_leave_method (MonoMethod *method, ...);
+
+void mono_trace_enable (gboolean enable);
+gboolean mono_trace_is_enabled (void);
+
+G_END_DECLS
+
 #endif /* __MONO_TRACE_H__ */