1 /**
2  * \file
3  */
4 
5 #ifndef _MONO_METADATA_TOKENTYPE_H_
6 #define _MONO_METADATA_TOKENTYPE_H_
7 
8 /*
9  * These tokens match the table ID except for the last
10  * three (string, name and base type which are special)
11  */
12 
13 typedef enum {
14 	MONO_TOKEN_MODULE            = 0x00000000,
15 	MONO_TOKEN_TYPE_REF          = 0x01000000,
16 	MONO_TOKEN_TYPE_DEF          = 0x02000000,
17 	MONO_TOKEN_FIELD_DEF         = 0x04000000,
18 	MONO_TOKEN_METHOD_DEF        = 0x06000000,
19 	MONO_TOKEN_PARAM_DEF         = 0x08000000,
20 	MONO_TOKEN_INTERFACE_IMPL    = 0x09000000,
21 	MONO_TOKEN_MEMBER_REF        = 0x0a000000,
22 	MONO_TOKEN_CUSTOM_ATTRIBUTE  = 0x0c000000,
23 	MONO_TOKEN_PERMISSION        = 0x0e000000,
24 	MONO_TOKEN_SIGNATURE         = 0x11000000,
25 	MONO_TOKEN_EVENT             = 0x14000000,
26 	MONO_TOKEN_PROPERTY          = 0x17000000,
27 	MONO_TOKEN_MODULE_REF        = 0x1a000000,
28 	MONO_TOKEN_TYPE_SPEC         = 0x1b000000,
29 	MONO_TOKEN_ASSEMBLY          = 0x20000000,
30 	MONO_TOKEN_ASSEMBLY_REF      = 0x23000000,
31 	MONO_TOKEN_FILE              = 0x26000000,
32 	MONO_TOKEN_EXPORTED_TYPE     = 0x27000000,
33 	MONO_TOKEN_MANIFEST_RESOURCE = 0x28000000,
34 	MONO_TOKEN_GENERIC_PARAM     = 0x2a000000,
35 	MONO_TOKEN_METHOD_SPEC       = 0x2b000000,
36 
37 	/*
38 	 * These do not match metadata tables directly
39 	 */
40 	MONO_TOKEN_STRING            = 0x70000000,
41 	MONO_TOKEN_NAME              = 0x71000000,
42 	MONO_TOKEN_BASE_TYPE         = 0x72000000
43 } MonoTokenType;
44 
45 #endif /* _MONO_METADATA_TOKENTYPE_H_ */
46