-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with type MSSyst.Type_k.Ref_array is access;
with type MSSyst.Reflection.TypeFilter.Ref is access;
with type MSSyst.Reflection.MemberInfo.Ref_array is access;
with MSSyst.Reflection.MemberTypes;
with MSSyst.Reflection.BindingFlags;
with type MSSyst.Reflection.MemberFilter.Ref is access;
with type MSSyst.Reflection.Assembly.Ref is access;
with type MSSyst.String.Ref is access;
with MSSyst.Reflection.TypeAttributes;
with type MSSyst.Guid.Valuetype is tagged;
with type MSSyst.Reflection.Module.Ref is access;
with type MSSyst.RuntimeTypeHandle.Valuetype is tagged;
with type MSSyst.Reflection.ConstructorInfo.Ref is access;
with type MSSyst.Reflection.Binder.Ref is access;
with MSSyst.Reflection.CallingConventions;
with MSSyst.Reflection.ParameterModifier;
with type MSSyst.Reflection.ConstructorInfo.Ref_array is access;
with type MSSyst.Object.Ref_array is access;
with type MSSyst.Reflection.EventInfo.Ref is access;
with type MSSyst.Reflection.EventInfo.Ref_array is access;
with type MSSyst.Reflection.FieldInfo.Ref is access;
with type MSSyst.Reflection.FieldInfo.Ref_array is access;
with MSSyst.Guid;
with type MSSyst.Reflection.InterfaceMapping.Valuetype is tagged;
with type MSSyst.Reflection.MethodInfo.Ref is access;
with type MSSyst.Reflection.MethodInfo.Ref_array is access;
with type MSSyst.Reflection.PropertyInfo.Ref_array is access;
with type MSSyst.Reflection.PropertyInfo.Ref is access;
with type MSSyst.Globalization.CultureInfo.Ref is access;
with type MSSyst.String.Ref_array is access;
package MSSyst.Runtime.InteropServices.uType is
   type Typ;
   type Ref is access all Typ'Class;
   type Ref_addrof is access all Ref;
   type Ref_Arr is array(Natural range <>) of Ref;
   type Ref_Array is access all Ref_Arr;
   type Ref_Array_addrof is access all Ref_Array;
   type Typ (Self : access MSSyst.Object.Typ'Class)
      is abstract new MSSyst.Object.Typ with null record;
   pragma MSIL_Interface(Typ);
   function Equals(
      This : access Typ;
      other : MSSyst.Object.Ref) return Standard.Boolean is abstract;
   function Equals(
      This : access Typ;
      o : MSSyst.Type_k.Ref) return Standard.Boolean is abstract;
   function FindInterfaces(
      This : access Typ;
      filter : MSSyst.Reflection.TypeFilter.Ref;
      filterCriteria : MSSyst.Object.Ref) return MSSyst.Type_k.Ref_array is abstract;
   function FindMembers(
      This : access Typ;
      memberType : MSSyst.Reflection.MemberTypes.Valuetype;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      filter : MSSyst.Reflection.MemberFilter.Ref;
      filterCriteria : MSSyst.Object.Ref) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function get_Assembly(
      This : access Typ) return MSSyst.Reflection.Assembly.Ref is abstract;
   function get_AssemblyQualifiedName(
      This : access Typ) return MSSyst.String.Ref is abstract;
   function get_Attributes(
      This : access Typ) return MSSyst.Reflection.TypeAttributes.Valuetype is abstract;
   function get_BaseType(
      This : access Typ) return MSSyst.Type_k.Ref is abstract;
   function get_DeclaringType(
      This : access Typ) return MSSyst.Type_k.Ref is abstract;
   function get_FullName(
      This : access Typ) return MSSyst.String.Ref is abstract;
   function get_GUID(
      This : access Typ) return MSSyst.Guid.Valuetype is abstract;
   function get_HasElementType(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsAbstract(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsAnsiClass(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsArray(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsAutoClass(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsAutoLayout(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsByRef(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsClass(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsCOMObject(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsContextful(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsEnum(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsExplicitLayout(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsImport(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsInterface(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsLayoutSequential(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsMarshalByRef(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNestedAssembly(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNestedFamANDAssem(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNestedFamily(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNestedFamORAssem(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNestedPrivate(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNestedPublic(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsNotPublic(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsPointer(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsPrimitive(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsPublic(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsSealed(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsSerializable(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsSpecialName(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsUnicodeClass(
      This : access Typ) return Standard.Boolean is abstract;
   function get_IsValueType(
      This : access Typ) return Standard.Boolean is abstract;
   function get_MemberType(
      This : access Typ) return MSSyst.Reflection.MemberTypes.Valuetype is abstract;
   function get_Module(
      This : access Typ) return MSSyst.Reflection.Module.Ref is abstract;
   function get_Name(
      This : access Typ) return MSSyst.String.Ref is abstract;
   function get_Namespace(
      This : access Typ) return MSSyst.String.Ref is abstract;
   function get_ReflectedType(
      This : access Typ) return MSSyst.Type_k.Ref is abstract;
   function get_TypeHandle(
      This : access Typ) return MSSyst.RuntimeTypeHandle.Valuetype is abstract;
   function get_TypeInitializer(
      This : access Typ) return MSSyst.Reflection.ConstructorInfo.Ref is abstract;
   function get_UnderlyingSystemType(
      This : access Typ) return MSSyst.Type_k.Ref is abstract;
   function GetArrayRank(
      This : access Typ) return Integer is abstract;
   function GetConstructor(
      This : access Typ;
      types : MSSyst.Type_k.Ref_array) return MSSyst.Reflection.ConstructorInfo.Ref is abstract;
   function GetConstructor(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      callConvention : MSSyst.Reflection.CallingConventions.Valuetype;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.ConstructorInfo.Ref is abstract;
   function GetConstructor(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.ConstructorInfo.Ref is abstract;
   function GetConstructors(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.ConstructorInfo.Ref_array is abstract;
   function GetConstructors(
      This : access Typ) return MSSyst.Reflection.ConstructorInfo.Ref_array is abstract;
   function GetCustomAttributes(
      This : access Typ;
      inherit : Standard.Boolean) return MSSyst.Object.Ref_array is abstract;
   function GetCustomAttributes(
      This : access Typ;
      attributeType : MSSyst.Type_k.Ref;
      inherit : Standard.Boolean) return MSSyst.Object.Ref_array is abstract;
   function GetDefaultMembers(
      This : access Typ) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function GetElementType(
      This : access Typ) return MSSyst.Type_k.Ref is abstract;
   function GetEvent(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.EventInfo.Ref is abstract;
   function GetEvent(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Reflection.EventInfo.Ref is abstract;
   function GetEvents(
      This : access Typ) return MSSyst.Reflection.EventInfo.Ref_array is abstract;
   function GetEvents(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.EventInfo.Ref_array is abstract;
   function GetField(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.FieldInfo.Ref is abstract;
   function GetField(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Reflection.FieldInfo.Ref is abstract;
   function GetFields(
      This : access Typ) return MSSyst.Reflection.FieldInfo.Ref_array is abstract;
   function GetFields(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.FieldInfo.Ref_array is abstract;
   function GetHashCode(
      This : access Typ) return Integer is abstract;
   procedure GetIDsOfNames(
      This : access Typ;
      riid : MSSyst.Guid.Valuetype_addrof;
      rgszNames : MSIL_Types.native_int;
      cNames : MSIL_Types.Unsigned_Integer;
      lcid : MSIL_Types.Unsigned_Integer;
      rgDispId : MSIL_Types.native_int) is abstract;
   function GetInterface(
      This : access Typ;
      name : MSSyst.String.Ref;
      ignoreCase : Standard.Boolean) return MSSyst.Type_k.Ref is abstract;
   function GetInterface(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Type_k.Ref is abstract;
   function GetInterfaceMap(
      This : access Typ;
      interfaceType : MSSyst.Type_k.Ref) return MSSyst.Reflection.InterfaceMapping.Valuetype is abstract;
   function GetInterfaces(
      This : access Typ) return MSSyst.Type_k.Ref_array is abstract;
   function GetMember(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function GetMember(
      This : access Typ;
      name : MSSyst.String.Ref;
      type_k : MSSyst.Reflection.MemberTypes.Valuetype;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function GetMember(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function GetMembers(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function GetMembers(
      This : access Typ) return MSSyst.Reflection.MemberInfo.Ref_array is abstract;
   function GetMethod(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      callConvention : MSSyst.Reflection.CallingConventions.Valuetype;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.MethodInfo.Ref is abstract;
   function GetMethod(
      This : access Typ;
      name : MSSyst.String.Ref;
      types : MSSyst.Type_k.Ref_array) return MSSyst.Reflection.MethodInfo.Ref is abstract;
   function GetMethod(
      This : access Typ;
      name : MSSyst.String.Ref;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.MethodInfo.Ref is abstract;
   function GetMethod(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.MethodInfo.Ref is abstract;
   function GetMethod(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.MethodInfo.Ref is abstract;
   function GetMethod(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Reflection.MethodInfo.Ref is abstract;
   function GetMethods(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.MethodInfo.Ref_array is abstract;
   function GetMethods(
      This : access Typ) return MSSyst.Reflection.MethodInfo.Ref_array is abstract;
   function GetNestedType(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Type_k.Ref is abstract;
   function GetNestedType(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Type_k.Ref is abstract;
   function GetNestedTypes(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Type_k.Ref_array is abstract;
   function GetNestedTypes(
      This : access Typ) return MSSyst.Type_k.Ref_array is abstract;
   function GetProperties(
      This : access Typ) return MSSyst.Reflection.PropertyInfo.Ref_array is abstract;
   function GetProperties(
      This : access Typ;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.PropertyInfo.Ref_array is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      returnType : MSSyst.Type_k.Ref;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref;
      bindingAttr : MSSyst.Reflection.BindingFlags.Valuetype) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref;
      returnType : MSSyst.Type_k.Ref;
      types : MSSyst.Type_k.Ref_array) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref;
      returnType : MSSyst.Type_k.Ref;
      types : MSSyst.Type_k.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref;
      types : MSSyst.Type_k.Ref_array) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetProperty(
      This : access Typ;
      name : MSSyst.String.Ref;
      returnType : MSSyst.Type_k.Ref) return MSSyst.Reflection.PropertyInfo.Ref is abstract;
   function GetType(
      This : access Typ) return MSSyst.Type_k.Ref is abstract;
   procedure GetTypeInfo(
      This : access Typ;
      iTInfo : MSIL_Types.Unsigned_Integer;
      lcid : MSIL_Types.Unsigned_Integer;
      ppTInfo : MSIL_Types.native_int) is abstract;
   procedure GetTypeInfoCount(
      This : access Typ;
      pcTInfo : MSIL_Types.Unsigned_Integer_addrof) is abstract;
   procedure Invoke(
      This : access Typ;
      dispIdMember : MSIL_Types.Unsigned_Integer;
      riid : MSSyst.Guid.Valuetype_addrof;
      lcid : MSIL_Types.Unsigned_Integer;
      wFlags : MSIL_Types.int16;
      pDispParams : MSIL_Types.native_int;
      pVarResult : MSIL_Types.native_int;
      pExcepInfo : MSIL_Types.native_int;
      puArgErr : MSIL_Types.native_int) is abstract;
   function InvokeMember(
      This : access Typ;
      name : MSSyst.String.Ref;
      invokeAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      target : MSSyst.Object.Ref;
      args : MSSyst.Object.Ref_array;
      culture : MSSyst.Globalization.CultureInfo.Ref) return MSSyst.Object.Ref is abstract;
   function InvokeMember(
      This : access Typ;
      name : MSSyst.String.Ref;
      invokeAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      target : MSSyst.Object.Ref;
      args : MSSyst.Object.Ref_array) return MSSyst.Object.Ref is abstract;
   function InvokeMember(
      This : access Typ;
      name : MSSyst.String.Ref;
      invokeAttr : MSSyst.Reflection.BindingFlags.Valuetype;
      binder : MSSyst.Reflection.Binder.Ref;
      target : MSSyst.Object.Ref;
      args : MSSyst.Object.Ref_array;
      modifiers : MSSyst.Reflection.ParameterModifier.Valuetype_array;
      culture : MSSyst.Globalization.CultureInfo.Ref;
      namedParameters : MSSyst.String.Ref_array) return MSSyst.Object.Ref is abstract;
   function IsAssignableFrom(
      This : access Typ;
      c : MSSyst.Type_k.Ref) return Standard.Boolean is abstract;
   function IsDefined(
      This : access Typ;
      attributeType : MSSyst.Type_k.Ref;
      inherit : Standard.Boolean) return Standard.Boolean is abstract;
   function IsInstanceOfType(
      This : access Typ;
      o : MSSyst.Object.Ref) return Standard.Boolean is abstract;
   function IsSubclassOf(
      This : access Typ;
      c : MSSyst.Type_k.Ref) return Standard.Boolean is abstract;
   function ToString(
      This : access Typ) return MSSyst.String.Ref is abstract;
private
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,FindInterfaces,"FindInterfaces");
   pragma Import(MSIL,FindMembers,"FindMembers");
   pragma Import(MSIL,get_Assembly,"get_Assembly");
   pragma Import(MSIL,get_AssemblyQualifiedName,"get_AssemblyQualifiedName");
   pragma Import(MSIL,get_Attributes,"get_Attributes");
   pragma Import(MSIL,get_BaseType,"get_BaseType");
   pragma Import(MSIL,get_DeclaringType,"get_DeclaringType");
   pragma Import(MSIL,get_FullName,"get_FullName");
   pragma Import(MSIL,get_GUID,"get_GUID");
   pragma Import(MSIL,get_HasElementType,"get_HasElementType");
   pragma Import(MSIL,get_IsAbstract,"get_IsAbstract");
   pragma Import(MSIL,get_IsAnsiClass,"get_IsAnsiClass");
   pragma Import(MSIL,get_IsArray,"get_IsArray");
   pragma Import(MSIL,get_IsAutoClass,"get_IsAutoClass");
   pragma Import(MSIL,get_IsAutoLayout,"get_IsAutoLayout");
   pragma Import(MSIL,get_IsByRef,"get_IsByRef");
   pragma Import(MSIL,get_IsClass,"get_IsClass");
   pragma Import(MSIL,get_IsCOMObject,"get_IsCOMObject");
   pragma Import(MSIL,get_IsContextful,"get_IsContextful");
   pragma Import(MSIL,get_IsEnum,"get_IsEnum");
   pragma Import(MSIL,get_IsExplicitLayout,"get_IsExplicitLayout");
   pragma Import(MSIL,get_IsImport,"get_IsImport");
   pragma Import(MSIL,get_IsInterface,"get_IsInterface");
   pragma Import(MSIL,get_IsLayoutSequential,"get_IsLayoutSequential");
   pragma Import(MSIL,get_IsMarshalByRef,"get_IsMarshalByRef");
   pragma Import(MSIL,get_IsNestedAssembly,"get_IsNestedAssembly");
   pragma Import(MSIL,get_IsNestedFamANDAssem,"get_IsNestedFamANDAssem");
   pragma Import(MSIL,get_IsNestedFamily,"get_IsNestedFamily");
   pragma Import(MSIL,get_IsNestedFamORAssem,"get_IsNestedFamORAssem");
   pragma Import(MSIL,get_IsNestedPrivate,"get_IsNestedPrivate");
   pragma Import(MSIL,get_IsNestedPublic,"get_IsNestedPublic");
   pragma Import(MSIL,get_IsNotPublic,"get_IsNotPublic");
   pragma Import(MSIL,get_IsPointer,"get_IsPointer");
   pragma Import(MSIL,get_IsPrimitive,"get_IsPrimitive");
   pragma Import(MSIL,get_IsPublic,"get_IsPublic");
   pragma Import(MSIL,get_IsSealed,"get_IsSealed");
   pragma Import(MSIL,get_IsSerializable,"get_IsSerializable");
   pragma Import(MSIL,get_IsSpecialName,"get_IsSpecialName");
   pragma Import(MSIL,get_IsUnicodeClass,"get_IsUnicodeClass");
   pragma Import(MSIL,get_IsValueType,"get_IsValueType");
   pragma Import(MSIL,get_MemberType,"get_MemberType");
   pragma Import(MSIL,get_Module,"get_Module");
   pragma Import(MSIL,get_Name,"get_Name");
   pragma Import(MSIL,get_Namespace,"get_Namespace");
   pragma Import(MSIL,get_ReflectedType,"get_ReflectedType");
   pragma Import(MSIL,get_TypeHandle,"get_TypeHandle");
   pragma Import(MSIL,get_TypeInitializer,"get_TypeInitializer");
   pragma Import(MSIL,get_UnderlyingSystemType,"get_UnderlyingSystemType");
   pragma Import(MSIL,GetArrayRank,"GetArrayRank");
   pragma Import(MSIL,GetConstructor,"GetConstructor");
   pragma Import(MSIL,GetConstructors,"GetConstructors");
   pragma Import(MSIL,GetCustomAttributes,"GetCustomAttributes");
   pragma Import(MSIL,GetDefaultMembers,"GetDefaultMembers");
   pragma Import(MSIL,GetElementType,"GetElementType");
   pragma Import(MSIL,GetEvent,"GetEvent");
   pragma Import(MSIL,GetEvents,"GetEvents");
   pragma Import(MSIL,GetField,"GetField");
   pragma Import(MSIL,GetFields,"GetFields");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,GetIDsOfNames,"GetIDsOfNames");
   pragma Import(MSIL,GetInterface,"GetInterface");
   pragma Import(MSIL,GetInterfaceMap,"GetInterfaceMap");
   pragma Import(MSIL,GetInterfaces,"GetInterfaces");
   pragma Import(MSIL,GetMember,"GetMember");
   pragma Import(MSIL,GetMembers,"GetMembers");
   pragma Import(MSIL,GetMethod,"GetMethod");
   pragma Import(MSIL,GetMethods,"GetMethods");
   pragma Import(MSIL,GetNestedType,"GetNestedType");
   pragma Import(MSIL,GetNestedTypes,"GetNestedTypes");
   pragma Import(MSIL,GetProperties,"GetProperties");
   pragma Import(MSIL,GetProperty,"GetProperty");
   pragma Import(MSIL,GetType,"GetType");
   pragma Import(MSIL,GetTypeInfo,"GetTypeInfo");
   pragma Import(MSIL,GetTypeInfoCount,"GetTypeInfoCount");
   pragma Import(MSIL,Invoke,"Invoke");
   pragma Import(MSIL,InvokeMember,"InvokeMember");
   pragma Import(MSIL,IsAssignableFrom,"IsAssignableFrom");
   pragma Import(MSIL,IsDefined,"IsDefined");
   pragma Import(MSIL,IsInstanceOfType,"IsInstanceOfType");
   pragma Import(MSIL,IsSubclassOf,"IsSubclassOf");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Runtime.InteropServices.uType;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Runtime.InteropServices.uType,
   ".ver 1:0:5000:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[mscorlib]System.Runtime.InteropServices._Type");
