06c75faecb09c3a37c1f706ea80a454842a53fdc
[mono.git] / mono / metadata / tokentype.h
1 #ifndef _MONO_METADATA_TOKENTYPE_H_
2 #define _MONO_METADATA_TOKENTYPE_H_
3
4 /*
5  * These tokens match the table ID except for the last
6  * three (string, name and base type which are special)
7  */
8  
9 typedef enum {
10         TOKEN_TYPE_MODULE            = 0x00000000,
11         TOKEN_TYPE_TYPE_REF          = 0x01000000,
12         TOKEN_TYPE_TYPE_DEF          = 0x02000000,
13         TOKEN_TYPE_FIELD_DEF         = 0x04000000,
14         TOKEN_TYPE_METHOD_DEF        = 0x06000000, 
15         TOKEN_TYPE_PARAM_DEF         = 0x08000000,
16         TOKEN_TYPE_INTERFACE_IMPL    = 0x09000000,
17         TOKEN_TYPE_MEMBER_REF        = 0x0a000000,
18         TOKEN_TYPE_CUSTOM_ATTRIBUTE  = 0x0c000000,
19         TOKEN_TYPE_PERMISSION        = 0x0e000000,
20         TOKEN_TYPE_SIGNATURE         = 0x11000000,
21         TOKEN_TYPE_EVENT             = 0x14000000,
22         TOKEN_TYPE_PROPERTY          = 0x17000000,
23         TOKEN_TYPE_MODULE_REF        = 0x1a000000,
24         TOKEN_TYPE_TYPE_SPEC         = 0x1b000000,
25         TOKEN_TYPE_ASSEMBLY          = 0x20000000,
26         TOKEN_TYPE_ASSEMBLY_REF      = 0x23000000,
27         TOKEN_TYPE_FILE              = 0x26000000,
28         TOKEN_TYPE_EXPORTED_TYPE     = 0x27000000,
29         TOKEN_TYPE_MANIFEST_RESOURCE = 0x28000000,
30
31         /*
32          * These do not match metadata tables directly
33          */
34         TOKEN_TYPE_STRING            = 0x70000000,
35         TOKEN_TYPE_NAME              = 0x71000000,
36         TOKEN_TYPE_BASE_TYPE         = 0x72000000
37 } TokenType;
38
39 #endif /* _MONO_METADATA_TOKENTYPE_H_ */