3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 * Copyright (c) 2002 Sergey Chaban <serge@wildwestsoftware.com>
28 namespace Mono
.PEToolkit
{
31 public enum Characteristics
: ushort {
35 /// Relocation info stripped from file.
38 /// IMAGE_FILE_RELOCS_STRIPPED
40 RELOCS_STRIPPED
= 0x0001,
45 /// File is executable
46 /// (i.e. file is neither object file nor library file,
47 /// so there are no unresolved externel references).
50 /// IMAGE_FILE_EXECUTABLE_IMAGE
52 EXECUTABLE_IMAGE
= 0x0002,
56 /// Line nunbers stripped from file.
59 /// IMAGE_FILE_LINE_NUMS_STRIPPED
61 LINE_NUMS_STRIPPED
= 0x0004,
65 /// Local symbols stripped from file.
68 /// IMAGE_FILE_LOCAL_SYMS_STRIPPED
70 LOCAL_SYMS_STRIPPED
= 0x0008,
74 /// Agressively trim working set
77 /// IMAGE_FILE_AGGRESIVE_WS_TRIM
79 AGGRESIVE_WS_TRIM
= 0x0010,
83 /// App can handle >2gb addresses
86 /// IMAGE_FILE_LARGE_ADDRESS_AWARE
88 LARGE_ADDRESS_AWARE
= 0x0020,
92 /// Bytes of machine word are reversed.
95 /// IMAGE_FILE_BYTES_REVERSED_LO
97 BYTES_REVERSED_LO
= 0x0080,
101 /// 32 bit word machine.
104 /// IMAGE_FILE_32BIT_MACHINE
106 MACHINE_32BIT
= 0x0100,
110 /// Debugging info stripped from file in .DBG file
113 /// IMAGE_FILE_DEBUG_STRIPPED
115 DEBUG_STRIPPED
= 0x0200,
119 /// If Image is on removable media, copy and run from the swap file.
122 /// IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
124 REMOVABLE_RUN_FROM_SWAP
= 0x0400,
128 /// If Image is on Net, copy and run from the swap file.
131 /// IMAGE_FILE_NET_RUN_FROM_SWAP
133 NET_RUN_FROM_SWAP
= 0x0800,
137 /// This flag is used to indicate that the file
138 /// is a system sile, such as device driver.
141 /// IMAGE_FILE_SYSTEM
147 /// This flag indicates that the file
148 /// is a dynamic library (DLL).
157 /// File should only be run on a uni-processor (UP) machine.
160 /// IMAGE_FILE_UP_SYSTEM_ONLY
162 UP_SYSTEM_ONLY
= 0x4000,
166 /// Bytes of machine word are reversed.
169 /// IMAGE_FILE_BYTES_REVERSED_HI
171 BYTES_REVERSED_HI
= 0x8000,
176 /// Default flags that must be set in CIL-only image.
179 /// See Partition II, 24.2.2.1
181 CIL_DEFAULT
= LINE_NUMS_STRIPPED
|
182 LOCAL_SYMS_STRIPPED
|