X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Ftabledefs.h;h=fa0e9ef4b28c5777da02f721abd4ef79a41e78c5;hb=0b710d0c2ec6ea1dae61c255e6050e1a175ba81a;hp=4a616c57c9b6e2610ebfbc3c079676eb74221a99;hpb=2c0742e922a2053304dbed927b5eb6be4d564c50;p=mono.git diff --git a/mono/metadata/tabledefs.h b/mono/metadata/tabledefs.h index 4a616c57c9b..fa0e9ef4b28 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 @@ -139,7 +158,9 @@ enum { #define METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL 0x1000 #define METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED 0x0020 #define METHOD_IMPL_ATTRIBUTE_NOINLINING 0x0008 +#define METHOD_IMPL_ATTRIBUTE_NOOPTIMIZATION 0x0040 #define METHOD_IMPL_ATTRIBUTE_MAX_METHOD_IMPL_VAL 0xffff +#define METHOD_IMPL_ATTRIBUTE_AGGRESSIVE_INLINING 0x0100 #define METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK 0x0007 #define METHOD_ATTRIBUTE_COMPILER_CONTROLLED 0x0000 @@ -159,6 +180,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 +208,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 +236,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,5 +246,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