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 */