X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fverify-internals.h;h=341b729255753123068c5dfcb32b8dc2d12abd59;hb=62b96ad507e6ba07bde09991a30e5447255e44ba;hp=413cecae5d7bf16546238d6b908cacee7de0e056;hpb=e8f084cc3bb132cd9f6dddf3450f660b3145f10e;p=mono.git diff --git a/mono/metadata/verify-internals.h b/mono/metadata/verify-internals.h index 413cecae5d7..341b7292557 100644 --- a/mono/metadata/verify-internals.h +++ b/mono/metadata/verify-internals.h @@ -1,7 +1,10 @@ #ifndef __MONO_METADATA_VERIFY_INTERNAL_H__ #define __MONO_METADATA_VERIFY_INTERNAL_H__ +#include #include +#include +#include G_BEGIN_DECLS @@ -12,38 +15,44 @@ typedef enum { MONO_VERIFIER_MODE_STRICT } MiniVerifierMode; -void mono_verifier_set_mode (MiniVerifierMode mode) MONO_INTERNAL; -void mono_verifier_enable_verify_all (void) MONO_INTERNAL; +void mono_verifier_set_mode (MiniVerifierMode mode); +void mono_verifier_enable_verify_all (void); -gboolean mono_verifier_is_enabled_for_image (MonoImage *image) MONO_INTERNAL; -gboolean mono_verifier_is_enabled_for_method (MonoMethod *method) MONO_INTERNAL; -gboolean mono_verifier_is_enabled_for_class (MonoClass *klass) MONO_INTERNAL; +gboolean mono_verifier_is_enabled_for_image (MonoImage *image); +gboolean mono_verifier_is_enabled_for_method (MonoMethod *method); +gboolean mono_verifier_is_enabled_for_class (MonoClass *klass); -gboolean mono_verifier_is_method_full_trust (MonoMethod *method) MONO_INTERNAL; -gboolean mono_verifier_is_class_full_trust (MonoClass *klass) MONO_INTERNAL; +gboolean mono_verifier_is_method_full_trust (MonoMethod *method); +gboolean mono_verifier_is_class_full_trust (MonoClass *klass); +gboolean mono_verifier_class_is_valid_generic_instantiation (MonoClass *klass); +gboolean mono_verifier_is_method_valid_generic_instantiation (MonoMethod *method); -gboolean mono_verifier_verify_class (MonoClass *klass) MONO_INTERNAL; +gboolean mono_verifier_verify_class (MonoClass *klass); -GSList* mono_method_verify_with_current_settings (MonoMethod *method, gboolean skip_visibility) MONO_INTERNAL; +GSList* mono_method_verify_with_current_settings (MonoMethod *method, gboolean skip_visibility, gboolean is_fulltrust); -gboolean mono_verifier_verify_pe_data (MonoImage *image, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_cli_data (MonoImage *image, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_table_data (MonoImage *image, GSList **error_list) MONO_INTERNAL; +gboolean mono_verifier_verify_pe_data (MonoImage *image, GSList **error_list); +gboolean mono_verifier_verify_cli_data (MonoImage *image, GSList **error_list); +gboolean mono_verifier_verify_table_data (MonoImage *image, GSList **error_list); -gboolean mono_verifier_verify_full_table_data (MonoImage *image, GSList **error_list) MONO_INTERNAL; +gboolean mono_verifier_verify_full_table_data (MonoImage *image, GSList **error_list); -gboolean mono_verifier_verify_field_signature (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_method_header (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_method_signature (MonoImage *image, guint32 offset, MonoError *error) MONO_INTERNAL; -gboolean mono_verifier_verify_memberref_signature (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_standalone_signature (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_typespec_signature (MonoImage *image, guint32 offset, guint32 token, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_methodspec_signature (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_string_signature (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_cattr_blob (MonoImage *image, guint32 offset, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_verify_cattr_content (MonoImage *image, MonoMethod *ctor, const guchar *data, guint32 size, GSList **error_list) MONO_INTERNAL; -gboolean mono_verifier_is_sig_compatible (MonoImage *image, MonoMethod *method, MonoMethodSignature *signature) MONO_INTERNAL; +gboolean mono_verifier_verify_field_signature (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_method_header (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_method_signature (MonoImage *image, guint32 offset, MonoError *error); +gboolean mono_verifier_verify_standalone_signature (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_typespec_signature (MonoImage *image, guint32 offset, guint32 token, GSList **error_list); +gboolean mono_verifier_verify_methodspec_signature (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_string_signature (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_cattr_blob (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_cattr_content (MonoImage *image, MonoMethod *ctor, const guchar *data, guint32 size, GSList **error_list); +gboolean mono_verifier_is_sig_compatible (MonoImage *image, MonoMethod *method, MonoMethodSignature *signature); +gboolean mono_verifier_verify_memberref_method_signature (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_memberref_field_signature (MonoImage *image, guint32 offset, GSList **error_list); +gboolean mono_verifier_verify_typeref_row (MonoImage *image, guint32 row, MonoError *error); +gboolean mono_verifier_verify_methodimpl_row (MonoImage *image, guint32 row, MonoError *error); +gboolean mono_verifier_is_signature_compatible (MonoMethodSignature *target, MonoMethodSignature *candidate); G_END_DECLS #endif /* __MONO_METADATA_VERIFY_INTERNAL_H__ */