New test.
[mono.git] / mono / metadata / loader.h
1 #ifndef _MONO_METADATA_LOADER_H_
2 #define _MONO_METADATA_LOADER_H_ 1
3
4 #include <mono/metadata/metadata.h>
5 #include <mono/metadata/image.h>
6
7 G_BEGIN_DECLS
8
9 typedef gboolean (*MonoStackWalk)     (MonoMethod *method, gint32 native_offset, gint32 il_offset, gboolean managed, gpointer data);
10
11 MonoMethod *
12 mono_get_method             (MonoImage *image, guint32 token, MonoClass *klass);
13
14 MonoMethod *
15 mono_get_method_full        (MonoImage *image, guint32 token, MonoClass *klass,
16                              MonoGenericContext *context);
17
18 MonoMethod *
19 mono_get_method_constrained (MonoImage *image, guint32 token, MonoClass *constrained_class,
20                              MonoGenericContext *context, MonoMethod **cil_method);
21
22 void               
23 mono_free_method           (MonoMethod *method);
24
25 MonoMethodSignature*
26 mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 token,
27                                 MonoGenericContext *context);
28
29 MonoMethodSignature* 
30 mono_method_get_signature  (MonoMethod *method, MonoImage *image, guint32 token);
31
32 MonoMethodSignature* 
33 mono_method_signature      (MonoMethod *method);
34
35 MonoMethodHeader* 
36 mono_method_get_header     (MonoMethod *method);
37
38 const char*
39 mono_method_get_name       (MonoMethod *method);
40
41 MonoClass*
42 mono_method_get_class      (MonoMethod *method);
43
44 guint32
45 mono_method_get_token      (MonoMethod *method);
46
47 guint32
48 mono_method_get_flags      (MonoMethod *method, guint32 *iflags);
49
50 guint32
51 mono_method_get_index      (MonoMethod *method);
52
53 MonoImage *
54 mono_load_image            (const char *fname, MonoImageOpenStatus *status);
55
56 void
57 mono_add_internal_call     (const char *name, gconstpointer method);
58
59 gpointer
60 mono_lookup_internal_call (MonoMethod *method);
61
62 void
63 mono_dllmap_insert (MonoImage *assembly, const char *dll, const char *func, const char *tdll, const char *tfunc);
64
65 gpointer
66 mono_lookup_pinvoke_call (MonoMethod *method, const char **exc_class, const char **exc_arg);
67
68 void
69 mono_method_get_param_names (MonoMethod *method, const char **names);
70
71 guint32
72 mono_method_get_param_token (MonoMethod *method, int idx);
73
74 void
75 mono_method_get_marshal_info (MonoMethod *method, MonoMarshalSpec **mspecs);
76
77 gboolean
78 mono_method_has_marshal_info (MonoMethod *method);
79
80 MonoMethod*
81 mono_method_get_last_managed  (void);
82
83 void
84 mono_stack_walk         (MonoStackWalk func, gpointer user_data);
85
86 /* Use this if the IL offset is not needed: it's faster */
87 void
88 mono_stack_walk_no_il   (MonoStackWalk func, gpointer user_data);
89
90 G_END_DECLS
91
92 #endif
93