2 * Copyright 2008 James Hawkins
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_CORHDR_H
20 #define __WINE_CORHDR_H
22 typedef enum CorTokenType
24 mdtModule = 0x00000000,
25 mdtTypeRef = 0x01000000,
26 mdtTypeDef = 0x02000000,
27 mdtFieldDef = 0x04000000,
28 mdtMethodDef = 0x06000000,
29 mdtParamDef = 0x08000000,
30 mdtInterfaceImpl = 0x09000000,
31 mdtMemberRef = 0x0a000000,
32 mdtCustomAttribute = 0x0c000000,
33 mdtPermission = 0x0e000000,
34 mdtSignature = 0x11000000,
35 mdtEvent = 0x14000000,
36 mdtProperty = 0x17000000,
37 mdtModuleRef = 0x1a000000,
38 mdtTypeSpec = 0x1b000000,
39 mdtAssembly = 0x20000000,
40 mdtAssemblyRef = 0x23000000,
42 mdtExportedType = 0x27000000,
43 mdtManifestResource = 0x28000000,
44 mdtGenericParam = 0x2a000000,
45 mdtMethodSpec = 0x2b000000,
46 mdtGenericParamConstraint = 0x2c000000,
47 mdtString = 0x70000000,
49 mdtBaseType = 0x72000000,
52 #define RidToToken(rid,tktype) ((rid) |= (tktype))
53 #define TokenFromRid(rid,tktype) ((rid) | (tktype))
54 #define RidFromToken(tk) ((RID)((tk) & 0x00ffffff))
55 #define TypeFromToken(tk) ((ULONG32)((tk) & 0xff000000))
56 #define IsNilToken(tk) ((RidFromToken(tk)) == 0)
58 #endif /* __WINE_CORHDR_H */