X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fsecurity-manager.h;h=d9f49ceb510c86ff0ea33218dead8ce21bff1d14;hb=HEAD;hp=7fc070069bae2c83c7599d2668074f71ee9149d0;hpb=a3ea7ceb4d4f5e2cb8ea421313e8939640fb898c;p=mono.git diff --git a/mono/metadata/security-manager.h b/mono/metadata/security-manager.h index 7fc070069ba..d9f49ceb510 100644 --- a/mono/metadata/security-manager.h +++ b/mono/metadata/security-manager.h @@ -1,10 +1,12 @@ -/* - * security-manager.h: Security Manager +/** + * \file + * Security Manager * * Author: * Sebastien Pouliot * * Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com) + * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ #ifndef _MONO_METADATA_SECURITY_MANAGER_H_ @@ -38,43 +40,34 @@ enum { MONO_METADATA_INHERITANCEDEMAND_METHOD = 0x02 }; +typedef enum { + MONO_SECURITY_MODE_NONE, + MONO_SECURITY_MODE_CORE_CLR, +} MonoSecurityMode; /* Structures */ typedef struct { MonoClass *securitymanager; /* System.Security.SecurityManager */ - MonoMethod *demand; /* SecurityManager.InternalDemand */ - MonoMethod *demandchoice; /* SecurityManager.InternalDemandChoice */ - MonoMethod *demandunmanaged; /* SecurityManager.DemandUnmanaged */ - MonoMethod *inheritancedemand; /* SecurityManager.InheritanceDemand */ - MonoMethod *inheritsecurityexception; /* SecurityManager.InheritanceDemandSecurityException */ - MonoMethod *linkdemand; /* SecurityManager.LinkDemand */ - MonoMethod *linkdemandfulltrust; /* SecurityManager.LinkDemandFullTrust */ - MonoMethod *linkdemandunmanaged; /* SecurityManager.LinkDemandUnmanaged */ - MonoMethod *linkdemandsecurityexception;/* SecurityManager.LinkDemandSecurityException */ - - MonoClass *allowpartiallytrustedcallers; /* System.Security.AllowPartiallyTrustedCallersAttribute */ - MonoClass *suppressunmanagedcodesecurity; /* System.Security.SuppressUnmanagedCodeSecurityAttribute */ } MonoSecurityManager; - -/* Initialization/utility functions */ -void mono_activate_security_manager (void); -gboolean mono_is_security_manager_active (void); -MonoSecurityManager* mono_security_manager_get_methods (void); gboolean mono_is_ecma_key (const char *publickey, int size); MonoMethod* mono_get_context_capture_method (void); -void mono_secman_inheritancedemand_class (MonoClass *klass, MonoClass *parent); -void mono_secman_inheritancedemand_method (MonoMethod *override, MonoMethod *base); +MonoSecurityManager* mono_security_manager_get_methods (void); +/* Security mode */ +void mono_security_set_mode (MonoSecurityMode mode); +MonoSecurityMode mono_security_get_mode (void); /* internal calls */ MonoBoolean ves_icall_System_Security_SecurityManager_get_SecurityEnabled (void); void ves_icall_System_Security_SecurityManager_set_SecurityEnabled (MonoBoolean value); -MonoBoolean ves_icall_System_Security_SecurityManager_get_CheckExecutionRights (void); -void ves_icall_System_Security_SecurityManager_set_CheckExecutionRights (MonoBoolean value); -MonoBoolean ves_icall_System_Security_SecurityManager_GetLinkDemandSecurity (MonoReflectionMethod *m, MonoDeclSecurityActions *kactions, MonoDeclSecurityActions *mactions); +#ifndef DISABLE_SECURITY +#define mono_security_core_clr_enabled() (mono_security_get_mode () == MONO_SECURITY_MODE_CORE_CLR) +#else +#define mono_security_core_clr_enabled() (FALSE) +#endif #endif /* _MONO_METADATA_SECURITY_MANAGER_H_ */