2 * security-manager.h: Security Manager
5 * Sebastien Pouliot <sebastien@ximian.com>
7 * Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
10 #ifndef _MONO_METADATA_SECURITY_MANAGER_H_
11 #define _MONO_METADATA_SECURITY_MANAGER_H_
16 #include "metadata-internals.h"
17 #include "tokentype.h"
21 #include "reflection.h"
26 #define MONO_ECMA_KEY_LENGTH 16
29 MONO_METADATA_SECURITY_OK = 0x00,
30 MONO_METADATA_INHERITANCEDEMAND_CLASS = 0x01,
31 MONO_METADATA_INHERITANCEDEMAND_METHOD = 0x02
38 MonoClass *securitymanager; /* System.Security.SecurityManager */
39 MonoMethod *demand; /* SecurityManager.InternalDemand */
40 MonoMethod *demandchoice; /* SecurityManager.InternalDemandChoice */
41 MonoMethod *assert; /* SecurityManager.InternalAssert */
42 MonoMethod *deny; /* SecurityManager.InternalDeny */
43 MonoMethod *permitonly; /* SecurityManager.InternalPermitOnly */
44 MonoMethod *inheritancedemand; /* SecurityManager.InheritanceDemand */
45 MonoMethod *inheritsecurityexception; /* SecurityManager.InheritanceDemandSecurityException */
46 MonoMethod *linkdemand; /* SecurityManager.LinkDemand */
47 MonoMethod *linkdemandfulltrust; /* SecurityManager.LinkDemandFullTrust */
48 MonoMethod *linkdemandunmanaged; /* SecurityManager.LinkDemandUnmanaged */
49 MonoMethod *linkdemandsecurityexception;/* SecurityManager.LinkDemandSecurityException */
50 MonoClass *aptc; /* System.Security.AllowPartiallyTrustedCallersAttribute */
51 } MonoSecurityManager;
54 /* Initialization/utility functions */
55 void mono_activate_security_manager (void);
56 gboolean mono_is_security_manager_active (void);
57 MonoSecurityManager* mono_security_manager_get_methods (void);
58 gboolean mono_is_ecma_key (const char *publickey, int size);
60 void mono_secman_inheritancedemand_class (MonoClass *klass, MonoClass *parent);
61 void mono_secman_inheritancedemand_method (MonoMethod *override, MonoMethod *base);
65 MonoBoolean ves_icall_System_Security_SecurityManager_get_SecurityEnabled (void);
66 void ves_icall_System_Security_SecurityManager_set_SecurityEnabled (MonoBoolean value);
67 MonoBoolean ves_icall_System_Security_SecurityManager_get_CheckExecutionRights (void);
68 void ves_icall_System_Security_SecurityManager_set_CheckExecutionRights (MonoBoolean value);
71 #endif /* _MONO_METADATA_SECURITY_MANAGER_H_ */