[System] Use GZipStream from corefx
[mono-project.git] / mono / metadata / row-indexes.h
blobeff71fb54ad74484a3b7dabf4fdb464ec7873a68
2 #ifndef __MONO_METADATA_ROW_INDEXES_H__
3 #define __MONO_METADATA_ROW_INDEXES_H__
5 /*
6 * The last entry in the enum is used to give the number
7 * of columns in the row.
8 */
10 enum {
11 MONO_ASSEMBLY_HASH_ALG,
12 MONO_ASSEMBLY_MAJOR_VERSION,
13 MONO_ASSEMBLY_MINOR_VERSION,
14 MONO_ASSEMBLY_BUILD_NUMBER,
15 MONO_ASSEMBLY_REV_NUMBER,
16 MONO_ASSEMBLY_FLAGS,
17 MONO_ASSEMBLY_PUBLIC_KEY,
18 MONO_ASSEMBLY_NAME,
19 MONO_ASSEMBLY_CULTURE,
20 MONO_ASSEMBLY_SIZE
23 enum {
24 MONO_ASSEMBLYOS_PLATFORM,
25 MONO_ASSEMBLYOS_MAJOR_VERSION,
26 MONO_ASSEMBLYOS_MINOR_VERSION,
27 MONO_ASSEMBLYOS_SIZE
30 enum {
31 MONO_ASSEMBLY_PROCESSOR,
32 MONO_ASSEMBLY_PROCESSOR_SIZE
35 enum {
36 MONO_ASSEMBLYREF_MAJOR_VERSION,
37 MONO_ASSEMBLYREF_MINOR_VERSION,
38 MONO_ASSEMBLYREF_BUILD_NUMBER,
39 MONO_ASSEMBLYREF_REV_NUMBER,
40 MONO_ASSEMBLYREF_FLAGS,
41 MONO_ASSEMBLYREF_PUBLIC_KEY,
42 MONO_ASSEMBLYREF_NAME,
43 MONO_ASSEMBLYREF_CULTURE,
44 MONO_ASSEMBLYREF_HASH_VALUE,
45 MONO_ASSEMBLYREF_SIZE
48 enum {
49 MONO_ASSEMBLYREFOS_PLATFORM,
50 MONO_ASSEMBLYREFOS_MAJOR_VERSION,
51 MONO_ASSEMBLYREFOS_MINOR_VERSION,
52 MONO_ASSEMBLYREFOS_ASSEMBLYREF,
53 MONO_ASSEMBLYREFOS_SIZE
56 enum {
57 MONO_ASSEMBLYREFPROC_PROCESSOR,
58 MONO_ASSEMBLYREFPROC_ASSEMBLYREF,
59 MONO_ASSEMBLYREFPROC_SIZE
62 enum {
63 MONO_CLASS_LAYOUT_PACKING_SIZE,
64 MONO_CLASS_LAYOUT_CLASS_SIZE,
65 MONO_CLASS_LAYOUT_PARENT,
66 MONO_CLASS_LAYOUT_SIZE
69 enum {
70 MONO_CONSTANT_TYPE,
71 MONO_CONSTANT_PADDING,
72 MONO_CONSTANT_PARENT,
73 MONO_CONSTANT_VALUE,
74 MONO_CONSTANT_SIZE
77 enum {
78 MONO_CUSTOM_ATTR_PARENT,
79 MONO_CUSTOM_ATTR_TYPE,
80 MONO_CUSTOM_ATTR_VALUE,
81 MONO_CUSTOM_ATTR_SIZE
84 enum {
85 MONO_DECL_SECURITY_ACTION,
86 MONO_DECL_SECURITY_PARENT,
87 MONO_DECL_SECURITY_PERMISSIONSET,
88 MONO_DECL_SECURITY_SIZE
91 enum {
92 MONO_EVENT_MAP_PARENT,
93 MONO_EVENT_MAP_EVENTLIST,
94 MONO_EVENT_MAP_SIZE
97 enum {
98 MONO_EVENT_FLAGS,
99 MONO_EVENT_NAME,
100 MONO_EVENT_TYPE,
101 MONO_EVENT_SIZE
104 enum {
105 MONO_EVENT_POINTER_EVENT,
106 MONO_EVENT_POINTER_SIZE
109 enum {
110 MONO_EXP_TYPE_FLAGS,
111 MONO_EXP_TYPE_TYPEDEF,
112 MONO_EXP_TYPE_NAME,
113 MONO_EXP_TYPE_NAMESPACE,
114 MONO_EXP_TYPE_IMPLEMENTATION,
115 MONO_EXP_TYPE_SIZE
118 enum {
119 MONO_FIELD_FLAGS,
120 MONO_FIELD_NAME,
121 MONO_FIELD_SIGNATURE,
122 MONO_FIELD_SIZE
125 enum {
126 MONO_FIELD_LAYOUT_OFFSET,
127 MONO_FIELD_LAYOUT_FIELD,
128 MONO_FIELD_LAYOUT_SIZE
131 enum {
132 MONO_FIELD_MARSHAL_PARENT,
133 MONO_FIELD_MARSHAL_NATIVE_TYPE,
134 MONO_FIELD_MARSHAL_SIZE
137 enum {
138 MONO_FIELD_POINTER_FIELD,
139 MONO_FIELD_POINTER_SIZE
142 enum {
143 MONO_FIELD_RVA_RVA,
144 MONO_FIELD_RVA_FIELD,
145 MONO_FIELD_RVA_SIZE
148 enum {
149 MONO_FILE_FLAGS,
150 MONO_FILE_NAME,
151 MONO_FILE_HASH_VALUE,
152 MONO_FILE_SIZE
155 enum {
156 MONO_IMPLMAP_FLAGS,
157 MONO_IMPLMAP_MEMBER,
158 MONO_IMPLMAP_NAME,
159 MONO_IMPLMAP_SCOPE,
160 MONO_IMPLMAP_SIZE
163 enum {
164 MONO_INTERFACEIMPL_CLASS,
165 MONO_INTERFACEIMPL_INTERFACE,
166 MONO_INTERFACEIMPL_SIZE
169 enum {
170 MONO_MANIFEST_OFFSET,
171 MONO_MANIFEST_FLAGS,
172 MONO_MANIFEST_NAME,
173 MONO_MANIFEST_IMPLEMENTATION,
174 MONO_MANIFEST_SIZE
177 enum {
178 MONO_MEMBERREF_CLASS,
179 MONO_MEMBERREF_NAME,
180 MONO_MEMBERREF_SIGNATURE,
181 MONO_MEMBERREF_SIZE
184 enum {
185 MONO_METHOD_RVA,
186 MONO_METHOD_IMPLFLAGS,
187 MONO_METHOD_FLAGS,
188 MONO_METHOD_NAME,
189 MONO_METHOD_SIGNATURE,
190 MONO_METHOD_PARAMLIST,
191 MONO_METHOD_SIZE
194 enum {
195 MONO_METHODIMPL_CLASS,
196 MONO_METHODIMPL_BODY,
197 MONO_METHODIMPL_DECLARATION,
198 MONO_METHODIMPL_SIZE
201 enum {
202 MONO_METHOD_POINTER_METHOD,
203 MONO_METHOD_POINTER_SIZE
206 enum {
207 MONO_METHOD_SEMA_SEMANTICS,
208 MONO_METHOD_SEMA_METHOD,
209 MONO_METHOD_SEMA_ASSOCIATION,
210 MONO_METHOD_SEMA_SIZE
213 enum {
214 MONO_MODULE_GENERATION,
215 MONO_MODULE_NAME,
216 MONO_MODULE_MVID,
217 MONO_MODULE_ENC,
218 MONO_MODULE_ENCBASE,
219 MONO_MODULE_SIZE
222 enum {
223 MONO_MODULEREF_NAME,
224 MONO_MODULEREF_SIZE
227 enum {
228 MONO_NESTED_CLASS_NESTED,
229 MONO_NESTED_CLASS_ENCLOSING,
230 MONO_NESTED_CLASS_SIZE
233 enum {
234 MONO_PARAM_FLAGS,
235 MONO_PARAM_SEQUENCE,
236 MONO_PARAM_NAME,
237 MONO_PARAM_SIZE
240 enum {
241 MONO_PARAM_POINTER_PARAM,
242 MONO_PARAM_POINTER_SIZE
245 enum {
246 MONO_PROPERTY_FLAGS,
247 MONO_PROPERTY_NAME,
248 MONO_PROPERTY_TYPE,
249 MONO_PROPERTY_SIZE
252 enum {
253 MONO_PROPERTY_POINTER_PROPERTY,
254 MONO_PROPERTY_POINTER_SIZE
257 enum {
258 MONO_PROPERTY_MAP_PARENT,
259 MONO_PROPERTY_MAP_PROPERTY_LIST,
260 MONO_PROPERTY_MAP_SIZE
263 enum {
264 MONO_STAND_ALONE_SIGNATURE,
265 MONO_STAND_ALONE_SIGNATURE_SIZE
268 enum {
269 MONO_TYPEDEF_FLAGS,
270 MONO_TYPEDEF_NAME,
271 MONO_TYPEDEF_NAMESPACE,
272 MONO_TYPEDEF_EXTENDS,
273 MONO_TYPEDEF_FIELD_LIST,
274 MONO_TYPEDEF_METHOD_LIST,
275 MONO_TYPEDEF_SIZE
278 enum {
279 MONO_TYPEREF_SCOPE,
280 MONO_TYPEREF_NAME,
281 MONO_TYPEREF_NAMESPACE,
282 MONO_TYPEREF_SIZE
285 enum {
286 MONO_TYPESPEC_SIGNATURE,
287 MONO_TYPESPEC_SIZE
290 enum {
291 MONO_GENERICPARAM_NUMBER,
292 MONO_GENERICPARAM_FLAGS,
293 MONO_GENERICPARAM_OWNER,
294 MONO_GENERICPARAM_NAME,
296 MONO_GENERICPARAM_SIZE
299 enum {
300 MONO_METHODSPEC_METHOD,
301 MONO_METHODSPEC_SIGNATURE,
302 MONO_METHODSPEC_SIZE
305 enum {
306 MONO_GENPARCONSTRAINT_GENERICPAR,
307 MONO_GENPARCONSTRAINT_CONSTRAINT,
308 MONO_GENPARCONSTRAINT_SIZE
311 enum {
312 MONO_DOCUMENT_NAME,
313 MONO_DOCUMENT_HASHALG,
314 MONO_DOCUMENT_HASH,
315 MONO_DOCUMENT_LANGUAGE,
316 MONO_DOCUMENT_SIZE
319 enum {
320 MONO_METHODBODY_DOCUMENT,
321 MONO_METHODBODY_SEQ_POINTS,
322 MONO_METHODBODY_SIZE
325 enum {
326 MONO_LOCALSCOPE_METHOD,
327 MONO_LOCALSCOPE_IMPORTSCOPE,
328 MONO_LOCALSCOPE_VARIABLELIST,
329 MONO_LOCALSCOPE_CONSTANTLIST,
330 MONO_LOCALSCOPE_STARTOFFSET,
331 MONO_LOCALSCOPE_LENGTH,
332 MONO_LOCALSCOPE_SIZE
335 enum {
336 MONO_LOCALVARIABLE_ATTRIBUTES,
337 MONO_LOCALVARIABLE_INDEX,
338 MONO_LOCALVARIABLE_NAME,
339 MONO_LOCALVARIABLE_SIZE
343 * Coded Tokens
344 * The _BITS entry is for the bits used in the token.
345 * The _MASK entry is for mask the index out.
348 enum {
349 MONO_TYPEDEFORREF_TYPEDEF,
350 MONO_TYPEDEFORREF_TYPEREF,
351 MONO_TYPEDEFORREF_TYPESPEC,
352 MONO_TYPEDEFORREF_BITS = 2,
353 MONO_TYPEDEFORREF_MASK = 3
356 enum {
357 MONO_HASCONSTANT_FIEDDEF,
358 MONO_HASCONSTANT_PARAM,
359 MONO_HASCONSTANT_PROPERTY,
360 MONO_HASCONSTANT_BITS = 2,
361 MONO_HASCONSTANT_MASK = 3
364 enum {
365 MONO_CUSTOM_ATTR_METHODDEF,
366 MONO_CUSTOM_ATTR_FIELDDEF,
367 MONO_CUSTOM_ATTR_TYPEREF,
368 MONO_CUSTOM_ATTR_TYPEDEF,
369 MONO_CUSTOM_ATTR_PARAMDEF,
370 MONO_CUSTOM_ATTR_INTERFACE,
371 MONO_CUSTOM_ATTR_MEMBERREF,
372 MONO_CUSTOM_ATTR_MODULE,
373 MONO_CUSTOM_ATTR_PERMISSION,
374 MONO_CUSTOM_ATTR_PROPERTY,
375 MONO_CUSTOM_ATTR_EVENT,
376 MONO_CUSTOM_ATTR_SIGNATURE,
377 MONO_CUSTOM_ATTR_MODULEREF,
378 MONO_CUSTOM_ATTR_TYPESPEC,
379 MONO_CUSTOM_ATTR_ASSEMBLY,
380 MONO_CUSTOM_ATTR_ASSEMBLYREF,
381 MONO_CUSTOM_ATTR_FILE,
382 MONO_CUSTOM_ATTR_EXP_TYPE,
383 MONO_CUSTOM_ATTR_MANIFEST,
384 MONO_CUSTOM_ATTR_GENERICPAR,
385 MONO_CUSTOM_ATTR_BITS = 5,
386 MONO_CUSTOM_ATTR_MASK = 0x1F
389 enum {
390 MONO_HAS_FIELD_MARSHAL_FIELDSREF,
391 MONO_HAS_FIELD_MARSHAL_PARAMDEF,
392 MONO_HAS_FIELD_MARSHAL_BITS = 1,
393 MONO_HAS_FIELD_MARSHAL_MASK = 1
396 enum {
397 MONO_HAS_DECL_SECURITY_TYPEDEF,
398 MONO_HAS_DECL_SECURITY_METHODDEF,
399 MONO_HAS_DECL_SECURITY_ASSEMBLY,
400 MONO_HAS_DECL_SECURITY_BITS = 2,
401 MONO_HAS_DECL_SECURITY_MASK = 3
404 enum {
405 MONO_MEMBERREF_PARENT_TYPEDEF, /* not used */
406 MONO_MEMBERREF_PARENT_TYPEREF,
407 MONO_MEMBERREF_PARENT_MODULEREF,
408 MONO_MEMBERREF_PARENT_METHODDEF,
409 MONO_MEMBERREF_PARENT_TYPESPEC,
410 MONO_MEMBERREF_PARENT_BITS = 3,
411 MONO_MEMBERREF_PARENT_MASK = 7
414 enum {
415 MONO_HAS_SEMANTICS_EVENT,
416 MONO_HAS_SEMANTICS_PROPERTY,
417 MONO_HAS_SEMANTICS_BITS = 1,
418 MONO_HAS_SEMANTICS_MASK = 1
421 enum {
422 MONO_METHODDEFORREF_METHODDEF,
423 MONO_METHODDEFORREF_METHODREF,
424 MONO_METHODDEFORREF_BITS = 1,
425 MONO_METHODDEFORREF_MASK = 1
428 enum {
429 MONO_MEMBERFORWD_FIELDDEF,
430 MONO_MEMBERFORWD_METHODDEF,
431 MONO_MEMBERFORWD_BITS = 1,
432 MONO_MEMBERFORWD_MASK = 1
435 enum {
436 MONO_IMPLEMENTATION_FILE,
437 MONO_IMPLEMENTATION_ASSEMBLYREF,
438 MONO_IMPLEMENTATION_EXP_TYPE,
439 MONO_IMPLEMENTATION_BITS = 2,
440 MONO_IMPLEMENTATION_MASK = 3
443 enum {
444 MONO_CUSTOM_ATTR_TYPE_TYPEREF, /* not used */
445 MONO_CUSTOM_ATTR_TYPE_TYPEDEF, /* not used */
446 MONO_CUSTOM_ATTR_TYPE_METHODDEF,
447 MONO_CUSTOM_ATTR_TYPE_MEMBERREF,
448 MONO_CUSTOM_ATTR_TYPE_STRING, /* not used */
449 MONO_CUSTOM_ATTR_TYPE_BITS = 3,
450 MONO_CUSTOM_ATTR_TYPE_MASK = 7
453 enum {
454 MONO_RESOLUTION_SCOPE_MODULE,
455 MONO_RESOLUTION_SCOPE_MODULEREF,
456 MONO_RESOLUTION_SCOPE_ASSEMBLYREF,
457 MONO_RESOLUTION_SCOPE_TYPEREF,
458 MONO_RESOLUTION_SCOPE_BITS = 2,
459 MONO_RESOLUTION_SCOPE_MASK = 3
462 /* Kept for compatibility since this is a public header file */
463 enum {
464 MONO_RESOLTION_SCOPE_MODULE,
465 MONO_RESOLTION_SCOPE_MODULEREF,
466 MONO_RESOLTION_SCOPE_ASSEMBLYREF,
467 MONO_RESOLTION_SCOPE_TYPEREF,
468 MONO_RESOLTION_SCOPE_BITS = 2,
469 MONO_RESOLTION_SCOPE_MASK = 3
472 enum {
473 MONO_TYPEORMETHOD_TYPE,
474 MONO_TYPEORMETHOD_METHOD,
475 MONO_TYPEORMETHOD_BITS = 1,
476 MONO_TYPEORMETHOD_MASK = 1
479 #endif /* __MONO_METADATA_ROW_INDEXES_H__ */