2003-04-24 Martin Baulig <martin@ximian.com>
[mono.git] / mono / metadata / loader.h
index efac33909e734d973e5b1ebf6ae738e3a49b53e0..74e1a353475f4061dffe31691479c95326f9656a 100644 (file)
@@ -13,12 +13,17 @@ typedef enum {
        MONO_WRAPPER_NATIVE_TO_MANAGED,
        MONO_WRAPPER_MANAGED_TO_NATIVE,
        MONO_WRAPPER_REMOTING_INVOKE,
+       MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK,
+       MONO_WRAPPER_LDFLD,
+       MONO_WRAPPER_STFLD,
+       MONO_WRAPPER_SYNCHRONIZED,
        MONO_WRAPPER_UNKNOWN
 } MonoWrapperType;
 
 typedef struct {
        guint16 flags;  /* method flags */
        guint16 iflags; /* method implementation flags */
+       guint32 token;
        MonoClass *klass;
        MonoMethodSignature *signature;
        gpointer addr;
@@ -75,6 +80,7 @@ typedef struct {
        MonoClass *string_class;
        MonoClass *enum_class;
        MonoClass *array_class;
+       MonoClass *delegate_class;
        MonoClass *multicastdelegate_class;
        MonoClass *asyncresult_class;
        MonoClass *waithandle_class;
@@ -83,22 +89,30 @@ typedef struct {
        MonoClass *methodhandle_class;
        MonoClass *monotype_class;
        MonoClass *exception_class;
+       MonoClass *threadabortexception_class;
        MonoClass *thread_class;
        MonoClass *transparent_proxy_class;
        MonoClass *real_proxy_class;
        MonoClass *mono_method_message_class;
        MonoClass *appdomain_class;
        MonoClass *field_info_class;
+       MonoClass *method_info_class;
        MonoClass *stringbuilder_class;
        MonoClass *math_class;
        MonoClass *stack_frame_class;
        MonoClass *stack_trace_class;
        MonoClass *marshal_class;
+       MonoClass *iserializeable_class;
+       MonoClass *serializationinfo_class;
+       MonoClass *streamingcontext_class;
+       MonoClass *typed_reference_class;
+       MonoClass *marshalbyrefobject_class;
+       MonoClass *monitor_class;
 } MonoDefaults;
 
 extern MonoDefaults mono_defaults;
 
-typedef gboolean (*MonoStackWalk)     (MonoMethod *method, gint32 native_offset, gint32 il_offset, gpointer data);
+typedef gboolean (*MonoStackWalk)     (MonoMethod *method, gint32 native_offset, gint32 il_offset, gboolean managed, gpointer data);
 typedef void     (*MonoStackWalkImpl) (MonoStackWalk func, gpointer user_data);
 
 void 
@@ -131,6 +145,9 @@ mono_lookup_pinvoke_call (MonoMethod *method);
 void
 mono_method_get_param_names (MonoMethod *method, const char **names);
 
+void
+mono_method_get_marshal_info (MonoMethod *method, MonoMarshalSpec **mspecs);
+
 gpointer
 mono_method_get_wrapper_data (MonoMethod *method, guint32 id);