X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mono%2Fmetadata%2Ftabledefs.h;h=ab66eb7bebcee0e335d17c4eace9ed60dd34ff79;hb=55a3c34478fe720f3e19a7970361b25150bd4931;hp=a636ef2933cca9de4be45e0a434f62c970d9882e;hpb=1ebef995ee48752358f708fb9b8da8c848b2af7d;p=mono.git diff --git a/mono/metadata/tabledefs.h b/mono/metadata/tabledefs.h index a636ef2933c..ab66eb7bebc 100644 --- a/mono/metadata/tabledefs.h +++ b/mono/metadata/tabledefs.h @@ -13,6 +13,63 @@ #ifndef _MONO_METADATA_TABLEDEFS_H_ #define _MONO_METADATA_TABLEDEFS_H_ +/* + * 22.1.1 Values for AssemblyHashAlgorithm + */ + +enum { + ASSEMBLY_HASH_NONE, + ASSEMBLY_HASH_MD5 = 0x8003, + ASSEMBLY_HASH_SHA1 = 0x8004 +}; + +/* + * 22.1.4 Flags for Event.EventAttributes + */ + +enum { + EVENT_SPECIALNAME = 0x0200, + 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 +}; + +/* + * + * 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). @@ -76,6 +133,7 @@ #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 @@ -120,6 +178,7 @@ #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 @@ -147,11 +206,11 @@ #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 @@ -166,4 +225,37 @@ #define PROPERTY_ATTRIBUTE_HAS_DEFAULT 0x1000 #define PROPERTY_ATTRIBUTE_UNUSED 0xe9ff +/* + * 22.1.7 Flags for ImplMap [PInvokeAttributes] + */ +#define PINVOKE_ATTRIBUTE_NO_MANGLE 0x0001 +#define PINVOKE_ATTRIBUTE_CHAR_SET_MASK 0x0006 +#define PINVOKE_ATTRIBUTE_CHAR_SET_NOT_SPEC 0x0000 +#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 +#define PINVOKE_ATTRIBUTE_CALL_CONV_CDECL 0x0200 +#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