1 #ifndef __MONO_METADATA_VERIFY_INTERNAL_H__
2 #define __MONO_METADATA_VERIFY_INTERNAL_H__
5 #include <mono/metadata/metadata.h>
6 #include <mono/utils/mono-compiler.h>
7 #include <mono/utils/mono-error.h>
12 MONO_VERIFIER_MODE_OFF
,
13 MONO_VERIFIER_MODE_VALID
,
14 MONO_VERIFIER_MODE_VERIFIABLE
,
15 MONO_VERIFIER_MODE_STRICT
18 void mono_verifier_set_mode (MiniVerifierMode mode
) MONO_INTERNAL
;
19 void mono_verifier_enable_verify_all (void) MONO_INTERNAL
;
21 gboolean
mono_verifier_is_enabled_for_image (MonoImage
*image
) MONO_INTERNAL
;
22 gboolean
mono_verifier_is_enabled_for_method (MonoMethod
*method
) MONO_INTERNAL
;
23 gboolean
mono_verifier_is_enabled_for_class (MonoClass
*klass
) MONO_INTERNAL
;
25 gboolean
mono_verifier_is_method_full_trust (MonoMethod
*method
) MONO_INTERNAL
;
26 gboolean
mono_verifier_is_class_full_trust (MonoClass
*klass
) MONO_INTERNAL
;
27 gboolean
mono_verifier_class_is_valid_generic_instantiation (MonoClass
*klass
) MONO_INTERNAL
;
28 gboolean
mono_verifier_is_method_valid_generic_instantiation (MonoMethod
*method
) MONO_INTERNAL
;
30 gboolean
mono_verifier_verify_class (MonoClass
*klass
) MONO_INTERNAL
;
32 GSList
* mono_method_verify_with_current_settings (MonoMethod
*method
, gboolean skip_visibility
, gboolean is_fulltrust
) MONO_INTERNAL
;
34 gboolean
mono_verifier_verify_pe_data (MonoImage
*image
, GSList
**error_list
) MONO_INTERNAL
;
35 gboolean
mono_verifier_verify_cli_data (MonoImage
*image
, GSList
**error_list
) MONO_INTERNAL
;
36 gboolean
mono_verifier_verify_table_data (MonoImage
*image
, GSList
**error_list
) MONO_INTERNAL
;
38 gboolean
mono_verifier_verify_full_table_data (MonoImage
*image
, GSList
**error_list
) MONO_INTERNAL
;
40 gboolean
mono_verifier_verify_field_signature (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
41 gboolean
mono_verifier_verify_method_header (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
42 gboolean
mono_verifier_verify_method_signature (MonoImage
*image
, guint32 offset
, MonoError
*error
) MONO_INTERNAL
;
43 gboolean
mono_verifier_verify_standalone_signature (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
44 gboolean
mono_verifier_verify_typespec_signature (MonoImage
*image
, guint32 offset
, guint32 token
, GSList
**error_list
) MONO_INTERNAL
;
45 gboolean
mono_verifier_verify_methodspec_signature (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
46 gboolean
mono_verifier_verify_string_signature (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
47 gboolean
mono_verifier_verify_cattr_blob (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
48 gboolean
mono_verifier_verify_cattr_content (MonoImage
*image
, MonoMethod
*ctor
, const guchar
*data
, guint32 size
, GSList
**error_list
) MONO_INTERNAL
;
49 gboolean
mono_verifier_is_sig_compatible (MonoImage
*image
, MonoMethod
*method
, MonoMethodSignature
*signature
) MONO_INTERNAL
;
50 gboolean
mono_verifier_verify_memberref_method_signature (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
51 gboolean
mono_verifier_verify_memberref_field_signature (MonoImage
*image
, guint32 offset
, GSList
**error_list
) MONO_INTERNAL
;
53 gboolean
mono_verifier_verify_typeref_row (MonoImage
*image
, guint32 row
, MonoError
*error
) MONO_INTERNAL
;
54 gboolean
mono_verifier_verify_methodimpl_row (MonoImage
*image
, guint32 row
, MonoError
*error
) MONO_INTERNAL
;
55 gboolean
mono_verifier_is_signature_compatible (MonoMethodSignature
*target
, MonoMethodSignature
*candidate
) MONO_INTERNAL
;
58 #endif /* __MONO_METADATA_VERIFY_INTERNAL_H__ */