* ProtocolImporter.cs: Use the binding name as class name for the
[mono.git] / mcs / class / Mono.PEToolkit / Characteristics.cs
1 \r
2 //\r
3 // Permission is hereby granted, free of charge, to any person obtaining\r
4 // a copy of this software and associated documentation files (the\r
5 // "Software"), to deal in the Software without restriction, including\r
6 // without limitation the rights to use, copy, modify, merge, publish,\r
7 // distribute, sublicense, and/or sell copies of the Software, and to\r
8 // permit persons to whom the Software is furnished to do so, subject to\r
9 // the following conditions:\r
10 // \r
11 // The above copyright notice and this permission notice shall be\r
12 // included in all copies or substantial portions of the Software.\r
13 // \r
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
21 //\r
22 /*\r
23  * Copyright (c) 2002 Sergey Chaban <serge@wildwestsoftware.com>\r
24  */\r
25 \r
26 using System;\r
27 \r
28 namespace Mono.PEToolkit {\r
29 \r
30         [Flags]\r
31         public enum Characteristics : ushort {\r
32 \r
33 \r
34                 /// <summary>\r
35                 /// Relocation info stripped from file.\r
36                 /// </summary>\r
37                 /// <remarks>\r
38                 ///  IMAGE_FILE_RELOCS_STRIPPED\r
39                 /// </remarks>\r
40                 RELOCS_STRIPPED         =  0x0001,\r
41 \r
42 \r
43 \r
44                 /// <summary>\r
45                 /// File is executable\r
46                 /// (i.e. file is neither object file nor library file,\r
47                 /// so there are no unresolved externel references).\r
48                 /// </summary>\r
49                 /// <remarks>\r
50                 ///  IMAGE_FILE_EXECUTABLE_IMAGE\r
51                 /// </remarks>\r
52                 EXECUTABLE_IMAGE        =  0x0002,\r
53 \r
54 \r
55                 /// <summary>\r
56                 /// Line nunbers stripped from file.\r
57                 /// </summary>\r
58                 /// <remarks>\r
59                 ///  IMAGE_FILE_LINE_NUMS_STRIPPED\r
60                 /// </remarks>\r
61                 LINE_NUMS_STRIPPED      =  0x0004,\r
62 \r
63 \r
64                 /// <summary>\r
65                 /// Local symbols stripped from file.\r
66                 /// </summary>\r
67                 /// <remarks>\r
68                 ///  IMAGE_FILE_LOCAL_SYMS_STRIPPED\r
69                 /// </remarks>\r
70                 LOCAL_SYMS_STRIPPED     =   0x0008,\r
71 \r
72 \r
73                 /// <summary>\r
74                 /// Agressively trim working set\r
75                 /// </summary>\r
76                 /// <remarks>\r
77                 ///  IMAGE_FILE_AGGRESIVE_WS_TRIM\r
78                 /// </remarks>\r
79                 AGGRESIVE_WS_TRIM       =   0x0010,\r
80 \r
81 \r
82                 /// <summary>\r
83                 /// App can handle >2gb addresses\r
84                 /// </summary>\r
85                 /// <remarks>\r
86                 ///  IMAGE_FILE_LARGE_ADDRESS_AWARE\r
87                 /// </remarks>\r
88                 LARGE_ADDRESS_AWARE     =  0x0020,\r
89 \r
90 \r
91                 /// <summary>\r
92                 /// Bytes of machine word are reversed.\r
93                 /// </summary>\r
94                 /// <remarks>\r
95                 ///  IMAGE_FILE_BYTES_REVERSED_LO\r
96                 /// </remarks>\r
97                 BYTES_REVERSED_LO       =  0x0080,\r
98 \r
99 \r
100                 /// <summary>\r
101                 /// 32 bit word machine.\r
102                 /// </summary>\r
103                 /// <remarks>\r
104                 /// IMAGE_FILE_32BIT_MACHINE\r
105                 /// </remarks>\r
106                 MACHINE_32BIT           =  0x0100,\r
107 \r
108 \r
109                 /// <summary>\r
110                 /// Debugging info stripped from file in .DBG file\r
111                 /// </summary>\r
112                 /// <remarks>\r
113                 ///  IMAGE_FILE_DEBUG_STRIPPED\r
114                 /// </remarks>\r
115                 DEBUG_STRIPPED          =  0x0200,\r
116 \r
117 \r
118                 /// <summary>\r
119                 /// If Image is on removable media, copy and run from the swap file.\r
120                 /// </summary>\r
121                 /// <remarks>\r
122                 ///  IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP\r
123                 /// </remarks>\r
124                 REMOVABLE_RUN_FROM_SWAP =  0x0400,\r
125 \r
126 \r
127                 /// <summary>\r
128                 /// If Image is on Net, copy and run from the swap file.\r
129                 /// </summary>\r
130                 /// <remarks>\r
131                 ///  IMAGE_FILE_NET_RUN_FROM_SWAP\r
132                 /// </remarks>\r
133                 NET_RUN_FROM_SWAP       =  0x0800,\r
134 \r
135 \r
136                 /// <summary>\r
137                 /// This flag is used to indicate that the file\r
138                 /// is a system sile, such as device driver.\r
139                 /// </summary>\r
140                 /// <remarks>\r
141                 ///  IMAGE_FILE_SYSTEM\r
142                 /// </remarks>\r
143                 SYSTEM                  =  0x1000,\r
144 \r
145 \r
146                 /// <summary>\r
147                 /// This flag indicates that the file\r
148                 /// is a dynamic library (DLL).\r
149                 /// </summary>\r
150                 /// <remarks>\r
151                 ///  IMAGE_FILE_DLL\r
152                 /// </remarks>\r
153                 DLL                =  0x2000,\r
154 \r
155 \r
156                 /// <summary>\r
157                 /// File should only be run on a uni-processor (UP) machine.\r
158                 /// </summary>\r
159                 /// <remarks>\r
160                 ///  IMAGE_FILE_UP_SYSTEM_ONLY\r
161                 /// </remarks>\r
162                 UP_SYSTEM_ONLY          =  0x4000,\r
163 \r
164 \r
165                 /// <summary>\r
166                 /// Bytes of machine word are reversed.\r
167                 /// </summary>\r
168                 /// <remarks>\r
169                 ///  IMAGE_FILE_BYTES_REVERSED_HI\r
170                 /// </remarks>\r
171                 BYTES_REVERSED_HI       =  0x8000,\r
172 \r
173 \r
174 \r
175                 /// <summary>\r
176                 /// Default flags that must be set in CIL-only image.\r
177                 /// </summary>\r
178                 /// <remarks>\r
179                 /// See Partition II, 24.2.2.1\r
180                 /// </remarks>\r
181                 CIL_DEFAULT = LINE_NUMS_STRIPPED  |\r
182                               LOCAL_SYMS_STRIPPED |\r
183                               DEBUG_STRIPPED\r
184         }\r
185 \r
186 }\r