summaryrefslogtreecommitdiff
path: root/src/md/runtime/metamodelcolumndefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/md/runtime/metamodelcolumndefs.h')
-rw-r--r--src/md/runtime/metamodelcolumndefs.h401
1 files changed, 401 insertions, 0 deletions
diff --git a/src/md/runtime/metamodelcolumndefs.h b/src/md/runtime/metamodelcolumndefs.h
new file mode 100644
index 0000000000..311ec97078
--- /dev/null
+++ b/src/md/runtime/metamodelcolumndefs.h
@@ -0,0 +1,401 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+//*****************************************************************************
+// MetaModelColumnDefs.h -- Table definitions for MetaData.
+//
+
+//
+//*****************************************************************************
+
+#if METAMODEL_MAJOR_VER != 2
+#if METAMODEL_MAJOR_VER != 1
+#error "METAMODEL_MAJOR_VER other than 1 or 2 is not implemented"
+#endif
+#endif
+ //
+ // These are used by #defining appropriately, then #including this file.
+ //
+ //-------------------------------------------------------------------------
+ //Module
+ SCHEMA_TABLE_START(Module)
+ SCHEMA_ITEM(Module, USHORT, Generation)
+ SCHEMA_ITEM_STRING(Module, Name)
+ SCHEMA_ITEM_GUID(Module, Mvid)
+ SCHEMA_ITEM_GUID(Module, EncId)
+ SCHEMA_ITEM_GUID(Module, EncBaseId)
+ SCHEMA_TABLE_END(Module)
+
+ //-------------------------------------------------------------------------
+ //TypeRef
+ SCHEMA_TABLE_START(TypeRef)
+ SCHEMA_ITEM_CDTKN(TypeRef, ResolutionScope, ResolutionScope)
+ SCHEMA_ITEM_STRING(TypeRef, Name)
+ SCHEMA_ITEM_STRING(TypeRef, Namespace)
+ SCHEMA_TABLE_END(TypeRef)
+
+ //-------------------------------------------------------------------------
+ // TypeDef
+ SCHEMA_TABLE_START(TypeDef)
+ SCHEMA_ITEM(TypeDef, ULONG, Flags)
+ SCHEMA_ITEM_STRING(TypeDef, Name)
+ SCHEMA_ITEM_STRING(TypeDef, Namespace)
+ SCHEMA_ITEM_CDTKN(TypeDef, Extends, TypeDefOrRef)
+ SCHEMA_ITEM_RID(TypeDef, FieldList, Field)
+ SCHEMA_ITEM_RID(TypeDef, MethodList, Method)
+ SCHEMA_TABLE_END(TypeDef)
+
+ //-------------------------------------------------------------------------
+ //FieldPtr
+ SCHEMA_TABLE_START(FieldPtr)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(FieldPtr, Field, Field)
+ SCHEMA_TABLE_END(FieldPtr)
+
+ //-------------------------------------------------------------------------
+ //Field
+ SCHEMA_TABLE_START(Field)
+ SCHEMA_ITEM(Field, USHORT, Flags)
+ SCHEMA_ITEM_STRING(Field,Name)
+ SCHEMA_ITEM_BLOB(Field,Signature)
+ SCHEMA_TABLE_END(Field)
+
+ //-------------------------------------------------------------------------
+ //MethodPtr
+ SCHEMA_TABLE_START(MethodPtr)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(MethodPtr, Method, Method)
+ SCHEMA_TABLE_END(MethodPtr)
+
+ //-------------------------------------------------------------------------
+ //Method
+ SCHEMA_TABLE_START(Method)
+ SCHEMA_ITEM(Method, ULONG, RVA)
+ SCHEMA_ITEM(Method, USHORT, ImplFlags)
+ SCHEMA_ITEM(Method, USHORT, Flags)
+ SCHEMA_ITEM_STRING(Method,Name)
+ SCHEMA_ITEM_BLOB(Method,Signature)
+ SCHEMA_ITEM_RID(Method,ParamList,Param)
+ SCHEMA_TABLE_END(Method)
+
+ //-------------------------------------------------------------------------
+ //ParamPtr
+ SCHEMA_TABLE_START(ParamPtr)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(ParamPtr, Param, Param)
+ SCHEMA_TABLE_END(ParamPtr)
+
+ //-------------------------------------------------------------------------
+ // Param
+ SCHEMA_TABLE_START(Param)
+ SCHEMA_ITEM(Param, USHORT, Flags)
+ SCHEMA_ITEM(Param, USHORT, Sequence)
+ SCHEMA_ITEM_STRING(Param,Name)
+ SCHEMA_TABLE_END(Param)
+
+ //-------------------------------------------------------------------------
+ //InterfaceImpl
+ SCHEMA_TABLE_START(InterfaceImpl)
+ SCHEMA_ITEM_RID(InterfaceImpl,Class,TypeDef)
+ SCHEMA_ITEM_CDTKN(InterfaceImpl,Interface,TypeDefOrRef)
+ SCHEMA_TABLE_END(InterfaceImpl)
+
+ //-------------------------------------------------------------------------
+ //MemberRef
+ SCHEMA_TABLE_START(MemberRef)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_CDTKN(MemberRef,Class,MemberRefParent)
+ SCHEMA_ITEM_STRING(MemberRef,Name)
+ SCHEMA_ITEM_BLOB(MemberRef,Signature)
+ SCHEMA_TABLE_END(MemberRef)
+
+ //-------------------------------------------------------------------------
+ //Constant
+ SCHEMA_TABLE_START(Constant)
+ SCHEMA_ITEM(Constant, BYTE, Type)
+ SCHEMA_ITEM_CDTKN(Constant,Parent,HasConstant)
+ SCHEMA_ITEM_BLOB(Constant,Value)
+ SCHEMA_TABLE_END(Constant)
+
+ //-------------------------------------------------------------------------
+ //CustomAttribute
+ SCHEMA_TABLE_START(CustomAttribute)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_CDTKN(CustomAttribute,Parent,HasCustomAttribute)
+ SCHEMA_ITEM_CDTKN(CustomAttribute,Type,CustomAttributeType)
+ SCHEMA_ITEM_BLOB(CustomAttribute,Value)
+ SCHEMA_TABLE_END(CustomAttribute)
+
+ //-------------------------------------------------------------------------
+ //FieldMarshal
+ SCHEMA_TABLE_START(FieldMarshal)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_CDTKN(FieldMarshal,Parent,HasFieldMarshal)
+ SCHEMA_ITEM_BLOB(FieldMarshal,NativeType)
+ SCHEMA_TABLE_END(FieldMarshal)
+
+ //-------------------------------------------------------------------------
+ //DeclSecurity
+ SCHEMA_TABLE_START(DeclSecurity)
+ SCHEMA_ITEM(DeclSecurity, SHORT, Action)
+ SCHEMA_ITEM_CDTKN(DeclSecurity,Parent,HasDeclSecurity)
+ SCHEMA_ITEM_BLOB(DeclSecurity,PermissionSet)
+ SCHEMA_TABLE_END(DeclSecurity)
+
+ //-------------------------------------------------------------------------
+ //ClassLayout
+ SCHEMA_TABLE_START(ClassLayout)
+ SCHEMA_ITEM(ClassLayout, USHORT, PackingSize)
+ SCHEMA_ITEM(ClassLayout, ULONG, ClassSize)
+ SCHEMA_ITEM_RID(ClassLayout,Parent,TypeDef)
+ SCHEMA_TABLE_END(ClassLayout)
+
+ //-------------------------------------------------------------------------
+ //FieldLayout
+ SCHEMA_TABLE_START(FieldLayout)
+ SCHEMA_ITEM(FieldLayout, ULONG, OffSet)
+ SCHEMA_ITEM_RID(FieldLayout, Field, Field)
+ SCHEMA_TABLE_END(FieldLayout)
+
+ //-------------------------------------------------------------------------
+ //StandAloneSig
+ SCHEMA_TABLE_START(StandAloneSig)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_BLOB(StandAloneSig,Signature)
+ SCHEMA_TABLE_END(StandAloneSig)
+
+ //-------------------------------------------------------------------------
+ //EventMap
+ SCHEMA_TABLE_START(EventMap)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(EventMap,Parent,TypeDef)
+ SCHEMA_ITEM_RID(EventMap,EventList,Event)
+ SCHEMA_TABLE_END(EventMap)
+
+ //-------------------------------------------------------------------------
+ //EventPtr
+ SCHEMA_TABLE_START(EventPtr)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(EventPtr, Event, Event)
+ SCHEMA_TABLE_END(EventPtr)
+
+ //-------------------------------------------------------------------------
+ //Event
+ SCHEMA_TABLE_START(Event)
+ SCHEMA_ITEM(Event, USHORT, EventFlags)
+ SCHEMA_ITEM_STRING(Event,Name)
+ SCHEMA_ITEM_CDTKN(Event,EventType,TypeDefOrRef)
+ SCHEMA_TABLE_END(Event)
+
+ //-------------------------------------------------------------------------
+ //PropertyMap
+ SCHEMA_TABLE_START(PropertyMap)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(PropertyMap,Parent,TypeDef)
+ SCHEMA_ITEM_RID(PropertyMap,PropertyList,Property)
+ SCHEMA_TABLE_END(PropertyMap)
+
+ //-------------------------------------------------------------------------
+ //PropertyPtr
+ SCHEMA_TABLE_START(PropertyPtr)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_RID(PropertyPtr, Property, Property)
+ SCHEMA_TABLE_END(PropertyPtr)
+
+ //-------------------------------------------------------------------------
+ //Property
+ SCHEMA_TABLE_START(Property)
+ SCHEMA_ITEM(Property, USHORT, PropFlags)
+ SCHEMA_ITEM_STRING(Property,Name)
+ SCHEMA_ITEM_BLOB(Property,Type)
+ SCHEMA_TABLE_END(Property)
+
+ //-------------------------------------------------------------------------
+ //MethodSemantics
+ SCHEMA_TABLE_START(MethodSemantics)
+ SCHEMA_ITEM(MethodSemantics, USHORT, Semantic)
+ SCHEMA_ITEM_RID(MethodSemantics,Method,Method)
+ SCHEMA_ITEM_CDTKN(MethodSemantics,Association,HasSemantic)
+ SCHEMA_TABLE_END(MethodSemantics)
+
+ //-------------------------------------------------------------------------
+ //MethodImpl
+ SCHEMA_TABLE_START(MethodImpl)
+ SCHEMA_ITEM_RID(MethodImpl,Class,TypeDef)
+ SCHEMA_ITEM_CDTKN(MethodImpl,MethodBody,MethodDefOrRef)
+ SCHEMA_ITEM_CDTKN(MethodImpl, MethodDeclaration, MethodDefOrRef)
+ SCHEMA_TABLE_END(MethodImpl)
+
+ //-------------------------------------------------------------------------
+ //ModuleRef
+ SCHEMA_TABLE_START(ModuleRef)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_STRING(ModuleRef, Name)
+ SCHEMA_TABLE_END(ModuleRef)
+
+ //-------------------------------------------------------------------------
+ // TypeSpec
+ SCHEMA_TABLE_START(TypeSpec)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_BLOB(TypeSpec,Signature)
+ SCHEMA_TABLE_END(TypeSpec)
+
+ //-------------------------------------------------------------------------
+ // ENCLog
+ SCHEMA_TABLE_START(ENCLog)
+ SCHEMA_ITEM(ENCLog, ULONG, Token)
+ SCHEMA_ITEM(ENCLog, ULONG, FuncCode)
+ SCHEMA_TABLE_END(ENCLog)
+
+ //-------------------------------------------------------------------------
+ // ImplMap
+ SCHEMA_TABLE_START(ImplMap)
+ SCHEMA_ITEM(ImplMap, USHORT, MappingFlags)
+ SCHEMA_ITEM_CDTKN(ImplMap, MemberForwarded, MemberForwarded)
+ SCHEMA_ITEM_STRING(ImplMap, ImportName)
+ SCHEMA_ITEM_RID(ImplMap, ImportScope, ModuleRef)
+ SCHEMA_TABLE_END(ImplMap)
+
+ //-------------------------------------------------------------------------
+ // ENCMap
+ SCHEMA_TABLE_START(ENCMap)
+ SCHEMA_ITEM(ENCMap, ULONG, Token)
+ SCHEMA_TABLE_END(ENCMap)
+
+ //-------------------------------------------------------------------------
+ // FieldRVA
+ SCHEMA_TABLE_START(FieldRVA)
+ SCHEMA_ITEM(FieldRVA, ULONG, RVA)
+ SCHEMA_ITEM_RID(FieldRVA, Field, Field)
+ SCHEMA_TABLE_END(FieldRVA)
+
+ //-------------------------------------------------------------------------
+ // Assembly
+ SCHEMA_TABLE_START(Assembly)
+ SCHEMA_ITEM(Assembly, ULONG, HashAlgId)
+ SCHEMA_ITEM(Assembly, USHORT, MajorVersion)
+ SCHEMA_ITEM(Assembly, USHORT, MinorVersion)
+ SCHEMA_ITEM(Assembly, USHORT, BuildNumber)
+ SCHEMA_ITEM(Assembly, USHORT, RevisionNumber)
+ SCHEMA_ITEM(Assembly, ULONG, Flags)
+ SCHEMA_ITEM_BLOB(Assembly, PublicKey)
+ SCHEMA_ITEM_STRING(Assembly, Name)
+ SCHEMA_ITEM_STRING(Assembly, Locale)
+ SCHEMA_TABLE_END(Assembly)
+
+ //-------------------------------------------------------------------------
+ // AssemblyProcessor
+ SCHEMA_TABLE_START(AssemblyProcessor)
+ SCHEMA_ITEM(AssemblyProcessor, ULONG, Processor)
+ SCHEMA_TABLE_END(AssemblyProcessor)
+
+ //-------------------------------------------------------------------------
+ // AssemblyOS
+ SCHEMA_TABLE_START(AssemblyOS)
+ SCHEMA_ITEM(AssemblyOS, ULONG, OSPlatformId)
+ SCHEMA_ITEM(AssemblyOS, ULONG, OSMajorVersion)
+ SCHEMA_ITEM(AssemblyOS, ULONG, OSMinorVersion)
+ SCHEMA_TABLE_END(AssemblyOS)
+
+ //-------------------------------------------------------------------------
+ // AssemblyRef
+ SCHEMA_TABLE_START(AssemblyRef)
+ SCHEMA_ITEM(AssemblyRef, USHORT, MajorVersion)
+ SCHEMA_ITEM(AssemblyRef, USHORT, MinorVersion)
+ SCHEMA_ITEM(AssemblyRef, USHORT, BuildNumber)
+ SCHEMA_ITEM(AssemblyRef, USHORT, RevisionNumber)
+ SCHEMA_ITEM(AssemblyRef, ULONG, Flags)
+ SCHEMA_ITEM_BLOB(AssemblyRef, PublicKeyOrToken)
+ SCHEMA_ITEM_STRING(AssemblyRef, Name)
+ SCHEMA_ITEM_STRING(AssemblyRef, Locale)
+ SCHEMA_ITEM_BLOB(AssemblyRef, HashValue)
+ SCHEMA_TABLE_END(AssemblyRef)
+
+ //-------------------------------------------------------------------------
+ // AssemblyRefProcessor
+ SCHEMA_TABLE_START(AssemblyRefProcessor)
+ SCHEMA_ITEM(AssemblyRefProcessor, ULONG, Processor)
+ SCHEMA_ITEM_RID(AssemblyRefProcessor, AssemblyRef, AssemblyRef)
+ SCHEMA_TABLE_END(AssemblyRefProcessor)
+
+ //-------------------------------------------------------------------------
+ // AssemblyRefOS
+ SCHEMA_TABLE_START(AssemblyRefOS)
+ SCHEMA_ITEM(AssemblyRefOS, ULONG, OSPlatformId)
+ SCHEMA_ITEM(AssemblyRefOS, ULONG, OSMajorVersion)
+ SCHEMA_ITEM(AssemblyRefOS, ULONG, OSMinorVersion)
+ SCHEMA_ITEM_RID(AssemblyRefOS, AssemblyRef, AssemblyRef)
+ SCHEMA_TABLE_END(AssemblyRefOS)
+
+ //-------------------------------------------------------------------------
+ // File
+ SCHEMA_TABLE_START(File)
+ SCHEMA_ITEM(File, ULONG, Flags)
+ SCHEMA_ITEM_STRING(File, Name)
+ SCHEMA_ITEM_BLOB(File, HashValue)
+ SCHEMA_TABLE_END(File)
+
+ //-------------------------------------------------------------------------
+ // ExportedType
+ SCHEMA_TABLE_START(ExportedType)
+ SCHEMA_ITEM(ExportedType, ULONG, Flags)
+ SCHEMA_ITEM(ExportedType, ULONG, TypeDefId)
+ SCHEMA_ITEM_STRING(ExportedType, TypeName)
+ SCHEMA_ITEM_STRING(ExportedType, TypeNamespace)
+ SCHEMA_ITEM_CDTKN(ExportedType, Implementation, Implementation)
+ SCHEMA_TABLE_END(ExportedType)
+
+ //-------------------------------------------------------------------------
+ // ManifestResource
+ SCHEMA_TABLE_START(ManifestResource)
+ SCHEMA_ITEM(ManifestResource, ULONG, Offset)
+ SCHEMA_ITEM(ManifestResource, ULONG, Flags)
+ SCHEMA_ITEM_STRING(ManifestResource, Name)
+ SCHEMA_ITEM_CDTKN(ManifestResource, Implementation, Implementation)
+ SCHEMA_TABLE_END(ManifestResource)
+
+ //-------------------------------------------------------------------------
+ // NestedClass
+ SCHEMA_TABLE_START(NestedClass)
+ SCHEMA_ITEM_RID(NestedClass, NestedClass, TypeDef)
+ SCHEMA_ITEM_RID(NestedClass, EnclosingClass, TypeDef)
+ SCHEMA_TABLE_END(NestedClass)
+
+
+ //-------------------------------------------------------------------------
+ // GenericParam
+ SCHEMA_TABLE_START(GenericParam)
+ SCHEMA_ITEM(GenericParam, USHORT, Number)
+ SCHEMA_ITEM(GenericParam, USHORT, Flags)
+ SCHEMA_ITEM_CDTKN(GenericParam, Owner, TypeOrMethodDef)
+ SCHEMA_ITEM_STRING(GenericParam, Name)
+ SCHEMA_TABLE_END(GenericParam)
+
+ //-------------------------------------------------------------------------
+ // Transitional table for Metadata v1.1 for GenericParam
+ SCHEMA_TABLE_START(GenericParamV1_1)
+ SCHEMA_ITEM(GenericParam, USHORT, Number)
+ SCHEMA_ITEM(GenericParam, USHORT, Flags)
+ SCHEMA_ITEM_CDTKN(GenericParam, Owner, TypeOrMethodDef)
+ SCHEMA_ITEM_STRING(GenericParam, Name)
+ SCHEMA_ITEM_CDTKN(GenericParam, Kind, TypeDefOrRef)
+ SCHEMA_TABLE_END(GenericParam)
+
+
+
+ //-------------------------------------------------------------------------
+ //MethodSpec
+ SCHEMA_TABLE_START(MethodSpec)
+ SCHEMA_ITEM_NOFIXED()
+ SCHEMA_ITEM_CDTKN(MethodSpec, Method, MethodDefOrRef)
+ SCHEMA_ITEM_BLOB(MethodSpec, Instantiation)
+ SCHEMA_TABLE_END(MethodSpec)
+
+ //-------------------------------------------------------------------------
+ // GenericParamConstraint
+ SCHEMA_TABLE_START(GenericParamConstraint)
+ SCHEMA_ITEM_RID(GenericParamConstraint, Owner, GenericParam)
+ SCHEMA_ITEM_CDTKN(GenericParamConstraint, Constraint, TypeDefOrRef)
+ SCHEMA_TABLE_END(GenericParamConstraint)
+
+// eof ------------------------------------------------------------------------