**** Merged from MCS ****
[mono-project.git] / mcs / class / Mono.PEToolkit / MachineId.cs
blobe8a8deba37557c7e18fedf5d6376257a3235bb7c
2 //
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:
10 //
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
13 //
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>
26 namespace Mono.PEToolkit {
28 public enum MachineId : ushort {
30 /// <summary>
31 /// </summary>
32 /// <remarks>
33 /// IMAGE_FILE_MACHINE_UNKNOWN
34 /// </remarks>
35 UNKNOWN = 0,
37 /// <summary>
38 /// Intel 386.
39 /// </summary>
40 /// <remarks>
41 /// IMAGE_FILE_MACHINE_I386
42 /// </remarks>
43 I386 = 0x014c,
45 /// <summary>
46 /// Intel 486.
47 /// </summary>
48 /// <remarks>
49 /// </remarks>
50 I486 = 0x014d,
52 /// <summary>
53 /// Intel Pentium.
54 /// </summary>
55 /// <remarks>
56 /// </remarks>
57 PENTIUM = 0x014e,
59 /// <summary>
60 /// MIPS 3K big-endian
61 /// </summary>
62 /// <remarks>
63 /// IMAGE_FILE_MACHINE_R3000
64 /// </remarks>
65 R3000_BE = 0x0160,
67 /// <summary>
68 /// MIPS 3K little-endian, 0x160 big-endian
69 /// </summary>
70 /// <remarks>
71 /// IMAGE_FILE_MACHINE_R3000
72 /// </remarks>
73 R3000 = 0x0162,
75 /// <summary>
76 /// MIPS 4K little-endian
77 /// </summary>
78 /// <remarks>
79 /// IMAGE_FILE_MACHINE_R4000
80 /// </remarks>
81 R4000 = 0x0166,
83 /// <summary>
84 /// MIPS little-endian
85 /// </summary>
86 /// <remarks>
87 /// IMAGE_FILE_MACHINE_R10000
88 /// </remarks>
89 R10000 = 0x0168,
91 /// <summary>
92 /// MIPS little-endian WCE v2
93 /// </summary>
94 /// <remarks>
95 /// IMAGE_FILE_MACHINE_WCEMIPSV2
96 /// </remarks>
97 WCEMIPSV2 = 0x0169,
99 /// <summary>
100 /// Alpha_AXP
101 /// </summary>
102 /// <remarks>
103 /// IMAGE_FILE_MACHINE_ALPHA
104 /// </remarks>
105 ALPHA = 0x0184,
107 /// <summary>
108 /// SH3 little-endian
109 /// </summary>
110 /// <remarks>
111 /// IMAGE_FILE_MACHINE_SH3
112 /// </remarks>
113 SH3 = 0x01a2,
115 /// <summary>
116 /// </summary>
117 /// <remarks>
118 /// IMAGE_FILE_MACHINE_SH3DSP
119 /// </remarks>
120 SH3DSP = 0x01a3,
122 /// <summary>
123 /// SH3E little-endian
124 /// </summary>
125 /// <remarks>
126 /// IMAGE_FILE_MACHINE_SH3E
127 /// </remarks>
128 SH3E = 0x01a4,
130 /// <summary>
131 /// SH4 little-endian
132 /// </summary>
133 /// <remarks>
134 /// IMAGE_FILE_MACHINE_SH4
135 /// </remarks>
136 SH4 = 0x01a6,
138 /// <summary>
139 /// SH5
140 /// </summary>
141 /// <remarks>
142 /// IMAGE_FILE_MACHINE_SH5
143 /// </remarks>
144 SH5 = 0x01a8,
146 /// <summary>
147 /// ARM Little-Endian
148 /// </summary>
149 /// <remarks>
150 /// IMAGE_FILE_MACHINE_ARM
151 /// </remarks>
152 ARM = 0x01c0,
154 /// <summary>
155 /// ARM 10 Thumb family CPU.
156 /// </summary>
157 /// <remarks>
158 /// IMAGE_FILE_MACHINE_THUMB
159 /// http://www.arm.com/armtech/ARM10_Thumb?OpenDocument&ExpandSection=2
160 /// </remarks>
161 THUMB = 0x01c2,
163 /// <summary>
164 /// </summary>
165 /// <remarks>
166 /// IMAGE_FILE_MACHINE_AM33
167 /// </remarks>
168 AM33 = 0x01d3,
170 /// <summary>
171 /// IBM PowerPC Little-Endian
172 /// </summary>
173 /// <remarks>
174 /// IMAGE_FILE_MACHINE_POWERPC
175 /// </remarks>
176 POWERPC = 0x01F0,
178 /// <summary>
179 /// </summary>
180 /// <remarks>
181 /// IMAGE_FILE_MACHINE_POWERPCFP
182 /// </remarks>
183 POWERPCFP = 0x01f1,
185 /// <summary>
186 /// Intel 64
187 /// </summary>
188 /// <remarks>
189 /// IMAGE_FILE_MACHINE_IA64
190 /// </remarks>
191 IA64 = 0x0200,
193 /// <summary>
194 /// MIPS
195 /// </summary>
196 /// <remarks>
197 /// IMAGE_FILE_MACHINE_MIPS16
198 /// </remarks>
199 MIPS16 = 0x0266,
201 /// <summary>
202 /// ALPHA64
203 /// </summary>
204 /// <remarks>
205 /// IMAGE_FILE_MACHINE_ALPHA64
206 /// </remarks>
207 ALPHA64 = 0x0284,
209 /// <summary>
210 /// MIPS
211 /// </summary>
212 /// <remarks>
213 /// IMAGE_FILE_MACHINE_MIPSFPU
214 /// </remarks>
215 MIPSFPU = 0x0366,
217 /// <summary>
218 /// MIPS
219 /// </summary>
220 /// <remarks>
221 /// IMAGE_FILE_MACHINE_MIPSFPU16
222 /// </remarks>
223 MIPSFPU16 = 0x0466,
225 /// <summary>
226 /// </summary>
227 /// <remarks>
228 /// IMAGE_FILE_MACHINE_AXP64
229 /// </remarks>
230 AXP64 = ALPHA64,
232 /// <summary>
233 /// Infineon
234 /// </summary>
235 /// <remarks>
236 /// IMAGE_FILE_MACHINE_TRICORE
237 /// http://www.infineon.com/tricore
238 /// </remarks>
239 TRICORE = 0x0520,
241 /// <summary>
242 /// Common Executable Format (Windows CE).
243 /// </summary>
244 /// <remarks>
245 /// IMAGE_FILE_MACHINE_CEF
246 /// </remarks>
247 CEF = 0x0CEF,
249 /// <summary>
250 /// EFI Byte Code
251 /// </summary>
252 EBC = 0x0EBC,
254 /// <summary>
255 /// AMD64 (K8)
256 /// </summary>
257 /// <remarks>
258 /// IMAGE_FILE_MACHINE_AMD64
259 /// </remarks>
260 AMD64 = 0x8664,
262 /// <summary>
263 /// M32R little-endian
264 /// </summary>
265 /// <remarks>
266 /// IMAGE_FILE_MACHINE_M32R
267 /// </remarks>
268 M32R = 0x9104,
270 /// <summary>
271 /// </summary>
272 /// <remarks>
273 /// IMAGE_FILE_MACHINE_CEE
274 /// </remarks>
275 CEE = 0xC0EE,