Return TRUE from mono_gc_dllmain
[mono.git] / mono / metadata / exception.h
index 58cba415b14d50d9a54681b34fc61aaa90457885..fa17fa29e241a8ba920b2ea10c198c0ec2ae50e8 100644 (file)
@@ -1,30 +1,33 @@
 #ifndef _MONO_METADATA_EXCEPTION_H_
 #define _MONO_METADATA_EXCEPTION_H_
 
-#ifdef MONO_USE_EXC_TABLES
-#define MONO_ARCH_SAVE_REGS __builtin_unwind_init ()
-#else
+/* here for compat: should not be used anymore */
 #define MONO_ARCH_SAVE_REGS 
-#endif
 
 #include <mono/metadata/object.h>
 #include <mono/metadata/image.h>
 
-typedef void (*MonoExceptionClassInitFunc)(MonoClass *klass);
-typedef void (*MonoExceptionObjectInitFunc)(MonoObject *obj, MonoClass *klass);
-
-extern void
-mono_exception_install_handlers (MonoExceptionClassInitFunc class_init,
-                                MonoExceptionObjectInitFunc obj_init);
+MONO_BEGIN_DECLS
 
 extern MonoException *
 mono_exception_from_name               (MonoImage *image, 
                                        const char* name_space, 
                                        const char *name);
 
+MonoException *
+mono_exception_from_token              (MonoImage *image, uint32_t token);
+
+MonoException *
+mono_exception_from_name_two_strings (MonoImage *image, const char *name_space,
+                                     const char *name, MonoString *a1, MonoString *a2);
+
 MonoException *
 mono_exception_from_name_msg          (MonoImage *image, const char *name_space,
-                                       const char *name, const guchar *msg);
+                                       const char *name, const char *msg);
+
+MonoException *
+mono_exception_from_token_two_strings (MonoImage *image, uint32_t token,
+                                                  MonoString *a1, MonoString *a2);
 
 extern MonoException *
 mono_exception_from_name_domain        (MonoDomain *domain, MonoImage *image, 
@@ -47,20 +50,26 @@ MonoException *
 mono_get_exception_null_reference      (void);
 
 MonoException *
-mono_get_exception_execution_engine    (const guchar *msg);
+mono_get_exception_execution_engine    (const char *msg);
 
 MonoException *
 mono_get_exception_thread_abort        (void);
 
 MonoException *
-mono_get_exception_thread_state        (const guchar *msg);
+mono_get_exception_thread_state        (const char *msg);
+
+MonoException *
+mono_get_exception_thread_interrupted  (void);
 
 MonoException *
-mono_get_exception_serialization       (const guchar *msg);
+mono_get_exception_serialization       (const char *msg);
 
 MonoException *
 mono_get_exception_invalid_cast        (void);
 
+MonoException *
+mono_get_exception_invalid_operation (const char *msg);
+
 MonoException *
 mono_get_exception_index_out_of_range  (void);
 
@@ -68,42 +77,74 @@ MonoException *
 mono_get_exception_array_type_mismatch (void);
 
 MonoException *
-mono_get_exception_type_load           (MonoString *type_name);
+mono_get_exception_type_load           (MonoString *class_name, char *assembly_name);
+
+MonoException *
+mono_get_exception_missing_method      (const char *class_name, const char *member_name);
+
+MonoException *
+mono_get_exception_missing_field       (const char *class_name, const char *member_name);
 
 MonoException *
-mono_get_exception_missing_method      (void);
+mono_get_exception_not_implemented     (const char *msg);
 
 MonoException *
-mono_get_exception_not_implemented     (const guchar *msg);
+mono_get_exception_not_supported       (const char *msg);
 
 MonoException*
-mono_get_exception_argument_null       (const guchar *arg);
+mono_get_exception_argument_null       (const char *arg);
 
 MonoException *
-mono_get_exception_argument            (const guchar *arg, const guchar *msg);
+mono_get_exception_argument            (const char *arg, const char *msg);
 
 MonoException *
-mono_get_exception_argument_out_of_range (const guchar *arg);
+mono_get_exception_argument_out_of_range (const char *arg);
 
 MonoException *
-mono_get_exception_io                    (const guchar *msg);
+mono_get_exception_io                    (const char *msg);
 
 MonoException *
 mono_get_exception_file_not_found        (MonoString *fname);
 
 MonoException *
-mono_get_exception_type_initialization (const gchar *type_name, MonoException *inner);
+mono_get_exception_file_not_found2       (const char *msg, MonoString *fname);
+
+MonoException *
+mono_get_exception_type_initialization (const char *type_name, MonoException *inner);
 
 MonoException *
-mono_get_exception_synchronization_lock (const guchar *msg);
+mono_get_exception_synchronization_lock (const char *msg);
 
 MonoException *
-mono_get_exception_cannot_unload_appdomain (const guchar *msg);
+mono_get_exception_cannot_unload_appdomain (const char *msg);
 
 MonoException *
 mono_get_exception_appdomain_unloaded (void);
 
 MonoException *
-mono_get_exception_bad_image_format (const guchar *msg);
+mono_get_exception_bad_image_format (const char *msg);
+
+MonoException *
+mono_get_exception_bad_image_format2 (const char *msg, MonoString *fname);
+
+MonoException *
+mono_get_exception_stack_overflow (void);
+
+MonoException *
+mono_get_exception_out_of_memory (void);
+
+MonoException *
+mono_get_exception_field_access (void);
+
+MonoException *
+mono_get_exception_method_access (void);
+
+MonoException *
+mono_get_exception_reflection_type_load (MonoArray *types, MonoArray *exceptions);
+
+MonoException *
+mono_get_exception_runtime_wrapped (MonoObject *wrapped_exception);
+
+MONO_END_DECLS
 
 #endif /* _MONO_METADATA_EXCEPTION_H_ */