* Mono.Posix.dll.sources: Rename Mono.Posix to Mono.Unix.
[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 typedef struct _MonoMethod MonoMethod;
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, MonoGenericContext *context);
16
17 MonoMethod *
18 mono_get_method_constrained (MonoImage *image, guint32 token, MonoClass *constrained_class, MonoGenericContext *context);
19
20 void               
21 mono_free_method           (MonoMethod *method);
22
23 MonoMethodSignature* 
24 mono_method_get_signature  (MonoMethod *method, MonoImage *image, guint32 token);
25
26 MonoMethodSignature* 
27 mono_method_signature      (MonoMethod *method);
28
29 MonoMethodHeader* 
30 mono_method_get_header     (MonoMethod *method);
31
32 const char*
33 mono_method_get_name       (MonoMethod *method);
34
35 MonoClass*
36 mono_method_get_class      (MonoMethod *method);
37
38 guint32
39 mono_method_get_token      (MonoMethod *method);
40
41 guint32
42 mono_method_get_flags      (MonoMethod *method, guint32 *iflags);
43
44 MonoImage *
45 mono_load_image            (const char *fname, MonoImageOpenStatus *status);
46
47 void
48 mono_add_internal_call     (const char *name, gconstpointer method);
49
50 gpointer
51 mono_lookup_internal_call (MonoMethod *method);
52
53 void
54 mono_dllmap_insert (MonoImage *assembly, const char *dll, const char *func, const char *tdll, const char *tfunc);
55
56 gpointer
57 mono_lookup_pinvoke_call (MonoMethod *method, const char **exc_class, const char **exc_arg);
58
59 void
60 mono_method_get_param_names (MonoMethod *method, const char **names);
61
62 guint32
63 mono_method_get_param_token (MonoMethod *method, int index);
64
65 void
66 mono_method_get_marshal_info (MonoMethod *method, MonoMarshalSpec **mspecs);
67
68 gboolean
69 mono_method_has_marshal_info (MonoMethod *method);
70
71 MonoMethod*
72 mono_method_get_last_managed  (void);
73
74 void
75 mono_stack_walk         (MonoStackWalk func, gpointer user_data);
76
77 /* Use this if the IL offset is not needed: it's faster */
78 void
79 mono_stack_walk_no_il   (MonoStackWalk func, gpointer user_data);
80
81 #endif
82