-- 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.IComparable.Ref is access;
with type MSSyst.IFormattable.Ref is access;
with type MSSyst.IConvertible.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.TypeCode;
with type MSSyst.String.Ref is access;
with type MSSyst.IFormatProvider.Ref is access;
package MSSyst.Runtime.InteropServices.VarEnum is
   type ValueType is (
      VT_EMPTY,
      VT_NULL,
      VT_I2,
      VT_I4,
      VT_R4,
      VT_R8,
      VT_CY,
      VT_DATE,
      VT_BSTR,
      VT_DISPATCH,
      VT_ERROR,
      VT_BOOL,
      VT_VARIANT,
      VT_UNKNOWN,
      VT_DECIMAL,
      VT_I1,
      VT_UI1,
      VT_UI2,
      VT_UI4,
      VT_I8,
      VT_UI8,
      VT_INT,
      VT_UINT,
      VT_VOID,
      VT_HRESULT,
      VT_PTR,
      VT_SAFEARRAY,
      VT_CARRAY,
      VT_USERDEFINED,
      VT_LPSTR,
      VT_LPWSTR,
      VT_RECORD,
      VT_FILETIME,
      VT_BLOB,
      VT_STREAM,
      VT_STORAGE,
      VT_STREAMED_OBJECT,
      VT_STORED_OBJECT,
      VT_BLOB_OBJECT,
      VT_CF,
      VT_CLSID,
      VT_VECTOR,
      VT_ARRAY,
      VT_BYREF);
   pragma Convention (MSIL, ValueType);
   for ValueType use (
      VT_EMPTY =>  0,
      VT_NULL =>  1,
      VT_I2 =>  2,
      VT_I4 =>  3,
      VT_R4 =>  4,
      VT_R8 =>  5,
      VT_CY =>  6,
      VT_DATE =>  7,
      VT_BSTR =>  8,
      VT_DISPATCH =>  9,
      VT_ERROR =>  10,
      VT_BOOL =>  11,
      VT_VARIANT =>  12,
      VT_UNKNOWN =>  13,
      VT_DECIMAL =>  14,
      VT_I1 =>  16,
      VT_UI1 =>  17,
      VT_UI2 =>  18,
      VT_UI4 =>  19,
      VT_I8 =>  20,
      VT_UI8 =>  21,
      VT_INT =>  22,
      VT_UINT =>  23,
      VT_VOID =>  24,
      VT_HRESULT =>  25,
      VT_PTR =>  26,
      VT_SAFEARRAY =>  27,
      VT_CARRAY =>  28,
      VT_USERDEFINED =>  29,
      VT_LPSTR =>  30,
      VT_LPWSTR =>  31,
      VT_RECORD =>  36,
      VT_FILETIME =>  64,
      VT_BLOB =>  65,
      VT_STREAM =>  66,
      VT_STORAGE =>  67,
      VT_STREAMED_OBJECT =>  68,
      VT_STORED_OBJECT =>  69,
      VT_BLOB_OBJECT =>  70,
      VT_CF =>  71,
      VT_CLSID =>  72,
      VT_VECTOR =>  4096,
      VT_ARRAY =>  8192,
      VT_BYREF =>  16384);
   type ValueType_Arr is array (Natural range <>) of ValueType; -- start at 0
   type ValueType_Array is access all ValueType_Arr;
   type ValueType_addrof is access all ValueType;
   type ValueType_array_addrof is access all ValueType_Array;
   function CompareTo(
      This : Valuetype;
      target : MSSyst.Object.Ref) return Integer;
   function Equals(
      This : Valuetype;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function GetHashCode(
      This : Valuetype) return Integer;
   function GetType(
      This : Valuetype) return MSSyst.Type_k.Ref;
   function GetTypeCode(
      This : Valuetype) return MSSyst.TypeCode.Valuetype;
   function ToString(
      This : Valuetype;
      format : MSSyst.String.Ref) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype;
      format : MSSyst.String.Ref;
      provider : MSSyst.IFormatProvider.Ref) return MSSyst.String.Ref;
   function ToString(
      This : Valuetype;
      provider : MSSyst.IFormatProvider.Ref) return MSSyst.String.Ref;
private
   pragma Import(MSIL,CompareTo,"CompareTo");
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,GetType,"GetType");
   pragma Import(MSIL,GetTypeCode,"GetTypeCode");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Runtime.InteropServices.VarEnum;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Runtime.InteropServices.VarEnum,
   ".ver 1:0:5000:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[mscorlib]System.Runtime.InteropServices.VarEnum");
