Implement System.Double runtime support
[mono.git] / mono / utils / mono-error.h
index 6f722cff980bede42657a4e3a9b792f2e55e45ec..5e1102ec2b842006b8d799e93f969267fef68101 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef __MONO_ERROR_H__
 #define __MONO_ERROR_H__
 
+#include <mono/utils/mono-publib.h>
+
 enum {
        /*
        The supplied strings were dup'd by means of calling mono_error_dup_strings.
@@ -22,42 +24,45 @@ enum {
        MONO_ERROR_BAD_IMAGE = 5,
        MONO_ERROR_OUT_OF_MEMORY = 6,
        MONO_ERROR_ARGUMENT = 7,
+       MONO_ERROR_ARGUMENT_NULL = 11,
        MONO_ERROR_NOT_VERIFIABLE = 8,
        /*
         * This is a generic error mechanism is you need to raise an arbitrary corlib exception.
         * You must pass the exception name otherwise prepare_exception will fail with internal execution. 
         */
-       MONO_ERROR_GENERIC = 9
+       MONO_ERROR_GENERIC = 9,
+       /* This one encapsulates a managed exception instance */
+       MONO_ERROR_EXCEPTION_INSTANCE = 10
 };
 
 /*Keep in sync with MonoErrorInternal*/
-typedef struct {
+typedef struct _MonoError {
        unsigned short error_code;
     unsigned short hidden_0; /*DON'T TOUCH */
 
        void *hidden_1 [12]; /*DON'T TOUCH */
-    char hidden_2 [128]; /*DON'T TOUCH */
 } MonoError;
 
-G_BEGIN_DECLS
+MONO_BEGIN_DECLS
 
-void
+MONO_API void
 mono_error_init (MonoError *error);
 
-void
+MONO_API void
 mono_error_init_flags (MonoError *error, unsigned short flags);
 
-void
+MONO_API void
 mono_error_cleanup (MonoError *error);
 
-gboolean
+MONO_API mono_bool
 mono_error_ok (MonoError *error);
 
-unsigned short
+MONO_API unsigned short
 mono_error_get_error_code (MonoError *error);
 
-const char*
+MONO_API const char*
 mono_error_get_message (MonoError *error);
 
-G_END_DECLS
+MONO_END_DECLS
+
 #endif