* Makefile: Don't build make-map.exe.
[mono.git] / mono / mini / trace.h
1 #ifndef __MONO_TRACE_H__
2 #define __MONO_TRACE_H__
3 #include <glib.h>
4 #include "mono/utils/mono-compiler.h"
5
6 typedef enum {
7         MONO_TRACEOP_ALL,
8         MONO_TRACEOP_PROGRAM,
9         MONO_TRACEOP_METHOD,
10         MONO_TRACEOP_ASSEMBLY,
11         MONO_TRACEOP_CLASS,
12         MONO_TRACEOP_NAMESPACE
13 } MonoTraceOpcode;
14
15 typedef struct {
16         MonoTraceOpcode op;
17         int   exclude;
18         void *data, *data2;
19 } MonoTraceOperation;
20
21 struct MonoTraceSpec {
22         int len;
23         gboolean enabled;
24         MonoTraceOperation *ops;
25
26         MonoAssembly *assembly;
27 };
28
29 G_BEGIN_DECLS
30
31 void
32 mono_trace_enter_method (MonoMethod *method, char *ebp) MONO_INTERNAL;
33
34 void 
35 mono_trace_leave_method (MonoMethod *method, ...) MONO_INTERNAL;
36
37 void mono_trace_enable (gboolean enable) MONO_INTERNAL;
38 gboolean mono_trace_is_enabled (void) MONO_INTERNAL;
39
40 G_END_DECLS
41
42 #endif /* __MONO_TRACE_H__ */