2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / tabledefs.h
index f3f853e587661eb40a00656299cb4b3027b7c9b6..5e26b167d6f33b6c67489a148469ff71e3e0e280 100644 (file)
@@ -32,6 +32,37 @@ enum {
        EVENT_RTSPECIALNAME = 0x0400
 };
 
+/*
+ * 22.1.6 Flags for FileAttributes
+ */
+
+enum {
+       FILE_CONTAINS_METADATA      = 0,
+       FILE_CONTAINS_NO_METADATA   = 1
+};
+
+/* keep in synch with System.Security.Permissions.SecurityAction enum 
+   (except for the special non-CAS cases) */
+enum {
+       SECURITY_ACTION_DEMAND        = 2,
+       SECURITY_ACTION_ASSERT        = 3,
+       SECURITY_ACTION_DENY          = 4,
+       SECURITY_ACTION_PERMITONLY    = 5,
+       SECURITY_ACTION_LINKDEMAND    = 6,
+       SECURITY_ACTION_INHERITDEMAND = 7,
+       SECURITY_ACTION_REQMIN        = 8,
+       SECURITY_ACTION_REQOPT        = 9,
+       SECURITY_ACTION_REQREFUSE     = 10,
+       /* Special cases (non CAS permissions) */
+       SECURITY_ACTION_NONCASDEMAND        = 13,
+       SECURITY_ACTION_NONCASLINKDEMAND    = 14,
+       SECURITY_ACTION_NONCASINHERITANCE   = 15,
+       /* Fx 2.0 actions (for both CAS and non-CAS permissions) */
+       SECURITY_ACTION_LINKDEMANDCHOICE    = 16,
+       SECURITY_ACTION_INHERITDEMANDCHOICE = 17,
+       SECURITY_ACTION_DEMANDCHOICE        = 18
+};
+
 /*
  * Field Attributes (21.1.5).
  */
@@ -165,11 +196,11 @@ enum {
 #define METHOD_SEMANTIC_FIRE      0x0020
 
 /*
- * Flags for Params (22.1.11)
+ * Flags for Params (22.1.12)
  */
 #define PARAM_ATTRIBUTE_IN                 0x0001
 #define PARAM_ATTRIBUTE_OUT                0x0002
-#define PARAM_ATTRIBUTE_OPTIONAL           0x0004
+#define PARAM_ATTRIBUTE_OPTIONAL           0x0010
 #define PARAM_ATTRIBUTE_RESERVED_MASK      0xf000
 #define PARAM_ATTRIBUTE_HAS_DEFAULT        0x1000
 #define PARAM_ATTRIBUTE_HAS_FIELD_MARSHAL  0x2000
@@ -193,6 +224,9 @@ enum {
 #define PINVOKE_ATTRIBUTE_CHAR_SET_ANSI       0x0002
 #define PINVOKE_ATTRIBUTE_CHAR_SET_UNICODE    0x0004
 #define PINVOKE_ATTRIBUTE_CHAR_SET_AUTO       0x0006
+#define PINVOKE_ATTRIBUTE_BEST_FIT_ENABLED    0x0010
+#define PINVOKE_ATTRIBUTE_BEST_FIT_DISABLED   0x0020
+#define PINVOKE_ATTRIBUTE_BEST_FIT_MASK       0x0030
 #define PINVOKE_ATTRIBUTE_SUPPORTS_LAST_ERROR 0x0040
 #define PINVOKE_ATTRIBUTE_CALL_CONV_MASK      0x0700
 #define PINVOKE_ATTRIBUTE_CALL_CONV_WINAPI    0x0100
@@ -200,5 +234,15 @@ enum {
 #define PINVOKE_ATTRIBUTE_CALL_CONV_STDCALL   0x0300
 #define PINVOKE_ATTRIBUTE_CALL_CONV_THISCALL  0x0400
 #define PINVOKE_ATTRIBUTE_CALL_CONV_FASTCALL  0x0500
-
+#define PINVOKE_ATTRIBUTE_THROW_ON_UNMAPPABLE_ENABLED    0x1000
+#define PINVOKE_ATTRIBUTE_THROW_ON_UNMAPPABLE_DISABLED   0x2000
+#define PINVOKE_ATTRIBUTE_THROW_ON_UNMAPPABLE_MASK       0x3000
+#define PINVOKE_ATTRIBUTE_BEST_FIT_MASK       0x0030
+#define PINVOKE_ATTRIBUTE_CALL_CONV_GENERIC   0x0010
+#define PINVOKE_ATTRIBUTE_CALL_CONV_GENERICINST 0x000a
+
+/**
+ * 21.5 AssemblyRefs
+ */
+#define ASSEMBLYREF_FULL_PUBLIC_KEY_FLAG      0x00000001
 #endif