-typedef enum {
- MONO_WRAPPER_NONE,
- MONO_WRAPPER_DELEGATE_INVOKE,
- MONO_WRAPPER_DELEGATE_BEGIN_INVOKE,
- MONO_WRAPPER_DELEGATE_END_INVOKE,
- MONO_WRAPPER_RUNTIME_INVOKE,
- 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_UNKNOWN
-} MonoWrapperType;
-
-typedef struct {
- guint16 flags; /* method flags */
- guint16 iflags; /* method implementation flags */
- guint32 token;
- MonoClass *klass;
- MonoMethodSignature *signature;
- gpointer addr;
- gpointer info; /* runtime info */
- gpointer remoting_tramp;
- gint slot;
- /* name is useful mostly for debugging */
- const char *name;
- /* this is used by the inlining algorithm */
- unsigned int inline_info:1;
- unsigned int uses_this:1;
- MonoWrapperType wrapper_type:4;
- unsigned int string_ctor:1;
- unsigned int save_lmf:1;
- gint16 inline_count;
-} MonoMethod;
-
-typedef struct {
- MonoMethod method;
- MonoMethodHeader *header;
-} MonoMethodNormal;
-
-typedef struct {
- MonoMethodNormal method;
- GList *data;
-} MonoMethodWrapper;
-
-typedef struct {
- MonoMethod method;
- void (*code) (void);
- /* add marshal info */
- guint16 piflags; /* pinvoke flags */
- guint16 implmap_idx; /* index into IMPLMAP */
-} MonoMethodPInvoke;
-
-typedef struct {
- MonoImage *corlib;
- MonoClass *object_class;
- MonoClass *byte_class;
- MonoClass *void_class;
- MonoClass *boolean_class;
- MonoClass *sbyte_class;
- MonoClass *int16_class;
- MonoClass *uint16_class;
- MonoClass *int32_class;
- MonoClass *uint32_class;
- MonoClass *int_class;
- MonoClass *uint_class;
- MonoClass *int64_class;
- MonoClass *uint64_class;
- MonoClass *single_class;
- MonoClass *double_class;
- MonoClass *char_class;
- MonoClass *string_class;
- MonoClass *enum_class;
- MonoClass *array_class;
- MonoClass *multicastdelegate_class;
- MonoClass *asyncresult_class;
- MonoClass *waithandle_class;
- MonoClass *typehandle_class;
- MonoClass *fieldhandle_class;
- 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;
-} MonoDefaults;
-
-extern MonoDefaults mono_defaults;