Set svn:eol-style=native, delete svn:executable.
[mono.git] / mcs / class / corlib / System.Security.Permissions / IBuiltInPermission.cs
1 //
2 // System.Security.Permissions.IBuiltInPermission.cs
3 //
4 // Author:
5 //      Sebastien Pouliot  <sebastien@ximian.com>
6 //
7 // Copyright (C) 2003 Motus Technologies (http://www.motus.com)
8 // Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
17 // 
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 // 
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 //
29
30 namespace System.Security.Permissions {
31
32         // LAMESPEC: Undocumented interface
33         internal interface IBuiltInPermission {
34                 int GetTokenIndex ();
35         }
36
37         // 1_1  2_0     Name
38         // 0    0       EnvironmentPermission
39         // 1    1       FileDialogPermission
40         // 2    2       FileIOPermission
41         // 3    3       IsolatedStorageFilePermission
42         // 4    4       ReflectionPermission
43         // 5    5       RegistryPermission
44         // 6    6       SecurityPermission
45         // 7    7       UIPermission
46         // 8    8       PrincipalPermission
47         // N/A  9       HostProtectionPermission (internal)
48         // 9    10      PublisherIdentityPermission
49         // 10   11      SiteIdentityPermission
50         // 11   12      StrongNameIdentityPermission
51         // 12   13      UrlIdentityPermission
52         // 13   14      ZoneIdentityPermission
53         // N/A  15      GacIdentityPermission
54         // N/A  16      KeyContainerPermission
55
56         internal enum BuiltInToken {
57                 Environment = 0,
58                 FileDialog = 1,
59                 FileIO = 2,
60                 IsolatedStorageFile = 3,
61                 Reflection = 4,
62                 Registry = 5,
63                 Security = 6,
64                 UI = 7,
65                 Principal = 8,
66 #if !NET_2_0
67                 PublisherIdentity = 9,
68                 SiteIdentity = 10,
69                 StrongNameIdentity = 11,
70                 UrlIdentity = 12,
71                 ZoneIdentity = 13,
72 #else
73                 HostProtection = 9,
74                 PublisherIdentity = 10,
75                 SiteIdentity = 11,
76                 StrongNameIdentity = 12,
77                 UrlIdentity = 13,
78                 ZoneIdentity = 14,
79                 GacIdentity = 15,
80                 KeyContainer = 16,
81 #endif
82         }
83 }