Added piles of new enumerations from Sergey.
[mono.git] / mcs / class / corlib / System.Security.Permissions / SecurityPermissionFlag.cs
1 // SecurityPermissionFlag.cs\r
2 //\r
3 // This code was automatically generated from\r
4 // ECMA CLI XML Library Specification.\r
5 // Generator: libgen.xsl\r
6 // Source file: AllTypes.xml\r
7 // URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml\r
8 //\r
9 // (C) 2001 Ximian, Inc.  http://www.ximian.com\r
10 \r
11 \r
12 namespace System.Security.Permissions {\r
13 \r
14 \r
15         /// <summary>\r
16         /// <para>Specifies a set of security permissions applied to a\r
17         ///    <see cref="T:System.Security.Permissions.SecurityPermission" /> instance.</para>\r
18         /// </summary>\r
19         /// <remarks>\r
20         /// <para>This enumeration is used by <see cref="T:System.Security.Permissions.SecurityPermission" />.</para>\r
21         /// <para>\r
22         /// <see cref="T:System.Security.Permissions.SecurityPermissionFlag" /> is a bitfield. Specify\r
23         /// multiple values of this enumeration using the bit-wise OR\r
24         /// operator.</para>\r
25         /// <para>\r
26         /// <block subset="ECMAOnly" type="ECMA Only">For more information on security, see Partition \r
27         ///    II of the CLI Specification.</block>\r
28         /// </para>\r
29         /// <para>\r
30         /// <block subset="none" type="note">Many of these flags are powerful and\r
31         ///    should only be granted to highly trusted code. </block>\r
32         /// </para>\r
33         /// </remarks>\r
34         [Flags]\r
35         public enum SecurityPermissionFlag {\r
36 \r
37                 /// <summary><para> Specifies that none of the permissions in this \r
38                 ///       enumeration are available.</para></summary>\r
39                 NoFlags = 0x00000000,\r
40 \r
41                 /// <summary><para> Specifies the ability to assert<see langword=" " />\r
42                 /// that all of this code's\r
43                 /// callers have one\r
44                 /// or more permissions.</para></summary>\r
45                 Assertion = 0x00000001,\r
46 \r
47                 /// <summary><para> Specifies the ability to call unmanaged code.</para><block subset="none" type="note"><para> \r
48                 ///          Because unmanaged code potentially allows other permissions to be bypassed,\r
49                 ///          this permission should be used with caution. It is used for applications calling native\r
50                 ///          code using PInvoke.</para></block></summary>\r
51                 UnmanagedCode = 0x00000002,\r
52 \r
53                 /// <summary><para>Specifies the ability to skip verification of code in an assembly.</para><para><block subset="none" type="note">Code that is unverifiable can execute if \r
54                 ///       this permission is granted.</block></para></summary>\r
55                 SkipVerification = 0x00000004,\r
56 \r
57                 /// <summary><para> Specifies permission for the code to run. Without this\r
58                 ///  permission managed code cannot execute.</para></summary>\r
59                 Execution = 0x00000008,\r
60 \r
61                 /// <summary><para> Specifies the ability to use advanced operations on \r
62                 ///       threads. These operations include <see cref="M:System.Threading.Thread.Abort(System.Object)" />\r
63                 ///       and <see cref="M:System.Threading.Thread.ResetAbort" /> .</para></summary>\r
64                 ControlThread = 0x00000010,\r
65 \r
66                 /// <summary><para>Specifies all of the permissions defined by this\r
67                 ///       enumeration.</para><para><block subset="ECMAOnly" type="ECMA Only">The value of this constant is equal to the\r
68                 ///       values of this enumeration combined with a bitwise-OR operation. The higher-order bits in\r
69                 ///       this constant that are not specified in the CLI have been reserved for implementation-specific\r
70                 ///       use.</block></para></summary>\r
71                 AllFlags = Assertion | UnmanagedCode | SkipVerification | Execution | ControlThread,\r
72         } // SecurityPermissionFlag\r
73 \r
74 } // System.Security.Permissions\r