1 #ifndef __MONO_METADATA_VERIFY_H__
2 #define __MONO_METADATA_VERIFY_H__
4 #include <mono/metadata/metadata.h>
5 #include <mono/metadata/image.h>
6 #include <mono/metadata/loader.h>
7 #include <mono/metadata/class-internals.h>
8 #include <glib.h> /* GSList dep */
19 /* Status signaling code that is not verifiable.*/
20 MONO_VERIFY_NOT_VERIFIABLE = 8,
22 /*OR it with other flags*/
24 /* Abort the verification if the code is not verifiable.
25 * The standard behavior is to abort if the code is not valid.
27 MONO_VERIFY_FAIL_FAST = 16,
30 /* Perform less verification of the code. This flag should be used
31 * if one wants the verifier to be more compatible to the MS runtime.
32 * Mind that this is not to be more compatible with MS peverify, but
33 * with the runtime itself, that has a less strict verifier.
35 MONO_VERIFY_NON_STRICT = 32,
37 /*Skip all visibility related checks*/
38 MONO_VERIFY_SKIP_VISIBILITY = 64,
40 /*Skip all visibility related checks*/
41 MONO_VERIFY_REPORT_ALL_ERRORS = 128
47 MonoVerifyStatus status;
52 MonoExceptionType exception_type : 8; /*should be one of MONO_EXCEPTION_* */
53 } MonoVerifyInfoExtended;
56 MONO_API GSList* mono_method_verify (MonoMethod *method, int level);
57 MONO_API void mono_free_verify_list (GSList *list);
58 MONO_API char* mono_verify_corlib (void);
62 #endif /* __MONO_METADATA_VERIFY_H__ */