X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Ftabledefs.h;h=ab66eb7bebcee0e335d17c4eace9ed60dd34ff79;hb=55a3c34478fe720f3e19a7970361b25150bd4931;hp=25976ad8039371560fe07ffd367879d038119299;hpb=bb5130be227808d1e62ec2e9f6d417a32e258d07;p=mono.git diff --git a/mono/metadata/tabledefs.h b/mono/metadata/tabledefs.h index 25976ad8039..ab66eb7bebc 100644 --- a/mono/metadata/tabledefs.h +++ b/mono/metadata/tabledefs.h @@ -41,6 +41,8 @@ enum { 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, @@ -50,9 +52,25 @@ enum { SECURITY_ACTION_INHERITDEMAND = 7, SECURITY_ACTION_REQMIN = 8, SECURITY_ACTION_REQOPT = 9, - SECURITY_ACTION_REQREFUSE = 10 + 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 }; +/* + * + * 22.1.8 Flags for ManifestResource + */ +#define MANIFEST_RESOURCE_VISIBILITY_MASK 0x00000007 +#define MANIFEST_RESOURCE_PUBLIC 0x00000001 +#define MANIFEST_RESOURCE_PRIVATE 0x00000002 + /* * Field Attributes (21.1.5). */ @@ -115,6 +133,7 @@ enum { #define TYPE_ATTRIBUTE_AUTO_CLASS 0x00020000 #define TYPE_ATTRIBUTE_BEFORE_FIELD_INIT 0x00100000 +#define TYPE_ATTRIBUTE_FORWARDER 0x00200000 #define TYPE_ATTRIBUTE_RESERVED_MASK 0x00040800 #define TYPE_ATTRIBUTE_RT_SPECIAL_NAME 0x00000800 @@ -159,6 +178,7 @@ enum { #define METHOD_ATTRIBUTE_REUSE_SLOT 0x0000 #define METHOD_ATTRIBUTE_NEW_SLOT 0x0100 +#define METHOD_ATTRIBUTE_STRICT 0x0200 #define METHOD_ATTRIBUTE_ABSTRACT 0x0400 #define METHOD_ATTRIBUTE_SPECIAL_NAME 0x0800 @@ -186,11 +206,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 @@ -214,6 +234,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 @@ -221,6 +244,18 @@ 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 +#define ASSEMBLYREF_RETARGETABLE_FLAG 0x00000100 +#define ASSEMBLYREF_ENABLEJITCOMPILE_TRACKING_FLAG 0x00008000 +#define ASSEMBLYREF_DISABLEJITCOMPILE_OPTIMIZER_FLAG 0x00004000 #endif