2 * security.c: Security internal calls
5 * Sebastien Pouliot <sebastien@ximian.com>
7 * (C) 2004 Novell (http://www.novell.com)
11 #ifndef _MONO_METADATA_SECURITY_H_
12 #define _MONO_METADATA_SECURITY_H_
14 #include <mono/metadata/object.h>
18 /* System.Environment */
19 extern MonoString
* ves_icall_System_Environment_get_UserName (void) MONO_INTERNAL
;
22 /* System.Security.Principal.WindowsIdentity */
23 extern MonoArray
* ves_icall_System_Security_Principal_WindowsIdentity_GetRoles (gpointer token
) MONO_INTERNAL
;
24 extern gpointer
ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken (void) MONO_INTERNAL
;
25 extern MonoString
* ves_icall_System_Security_Principal_WindowsIdentity_GetTokenName (gpointer token
) MONO_INTERNAL
;
26 extern gpointer
ves_icall_System_Security_Principal_WindowsIdentity_GetUserToken (MonoString
*username
) MONO_INTERNAL
;
29 /* System.Security.Principal.WindowsImpersonationContext */
30 extern gboolean
ves_icall_System_Security_Principal_WindowsImpersonationContext_CloseToken (gpointer token
) MONO_INTERNAL
;
31 extern gpointer
ves_icall_System_Security_Principal_WindowsImpersonationContext_DuplicateToken (gpointer token
) MONO_INTERNAL
;
32 extern gboolean
ves_icall_System_Security_Principal_WindowsImpersonationContext_SetCurrentToken (gpointer token
) MONO_INTERNAL
;
33 extern gboolean
ves_icall_System_Security_Principal_WindowsImpersonationContext_RevertToSelf (void) MONO_INTERNAL
;
36 /* System.Security.Principal.WindowsPrincipal */
37 extern gboolean
ves_icall_System_Security_Principal_WindowsPrincipal_IsMemberOfGroupId (gpointer user
, gpointer group
) MONO_INTERNAL
;
38 extern gboolean
ves_icall_System_Security_Principal_WindowsPrincipal_IsMemberOfGroupName (gpointer user
, MonoString
*group
) MONO_INTERNAL
;
41 /* Mono.Security.Cryptography.KeyPairPersistance */
42 extern MonoBoolean
ves_icall_Mono_Security_Cryptography_KeyPairPersistence_CanSecure (MonoString
*root
) MONO_INTERNAL
;
43 extern MonoBoolean
ves_icall_Mono_Security_Cryptography_KeyPairPersistence_IsMachineProtected (MonoString
*path
) MONO_INTERNAL
;
44 extern MonoBoolean
ves_icall_Mono_Security_Cryptography_KeyPairPersistence_IsUserProtected (MonoString
*path
) MONO_INTERNAL
;
45 extern MonoBoolean
ves_icall_Mono_Security_Cryptography_KeyPairPersistence_ProtectMachine (MonoString
*path
) MONO_INTERNAL
;
46 extern MonoBoolean
ves_icall_Mono_Security_Cryptography_KeyPairPersistence_ProtectUser (MonoString
*path
) MONO_INTERNAL
;
49 /* System.Security.Policy.Evidence */
50 MonoBoolean
ves_icall_System_Security_Policy_Evidence_IsAuthenticodePresent (MonoReflectionAssembly
*refass
) MONO_INTERNAL
;
52 /* System.Security.SecureString */
53 extern void ves_icall_System_Security_SecureString_DecryptInternal (MonoArray
*data
, MonoObject
*scope
) MONO_INTERNAL
;
54 extern void ves_icall_System_Security_SecureString_EncryptInternal (MonoArray
*data
, MonoObject
*scope
) MONO_INTERNAL
;
55 void invoke_protected_memory_method (MonoArray
*data
, MonoObject
*scope
, gboolean encrypt
);
59 #endif /* _MONO_METADATA_SECURITY_H_ */