-- 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.Runtime.Serialization.ISerializable.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.Void;
with type MSSyst.String.Ref is access;
with MSSyst.ValueType;
package MSSyst.IntPtr is
   type ValueType is new MSSyst.ValueType.Typ with null record;
   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 new_IntPtr(
      value : Integer) return Valuetype;
   function new_IntPtr(
      value : Long_Long_Integer) return Valuetype;
   function new_IntPtr(
      value : MSIL_Types.void_addrof) return Valuetype;
   function Equals(
      This : Valuetype;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function get_Size return Integer;
   function GetHashCode(
      This : Valuetype) return Integer;
   function op_Equality(
      value1 : MSIL_Types.native_int;
      value2 : MSIL_Types.native_int) return Standard.Boolean;
   function op_Explicit(
      value : MSIL_Types.native_int) return MSIL_Types.void_addrof;
   function op_Explicit(
      value : MSIL_Types.native_int) return Integer;
   function op_Explicit(
      value : MSIL_Types.native_int) return Long_Long_Integer;
   function op_Explicit(
      value : Integer) return MSIL_Types.native_int;
   function op_Explicit(
      value : Long_Long_Integer) return MSIL_Types.native_int;
   function op_Explicit(
      value : MSIL_Types.void_addrof) return MSIL_Types.native_int;
   function op_Inequality(
      value1 : MSIL_Types.native_int;
      value2 : MSIL_Types.native_int) return Standard.Boolean;
   function ToInt32(
      This : Valuetype) return Integer;
   function ToInt64(
      This : Valuetype) return Long_Long_Integer;
   function ToPointer(
      This : Valuetype) return MSIL_Types.void_addrof;
   function ToString(
      This : Valuetype) return MSSyst.String.Ref;
private
   pragma MSIL_Constructor(new_IntPtr);
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,get_Size,"get_Size");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,op_Equality,"op_Equality");
   pragma Import(MSIL,op_Explicit,"op_Explicit");
   pragma Import(MSIL,op_Inequality,"op_Inequality");
   pragma Import(MSIL,ToInt32,"ToInt32");
   pragma Import(MSIL,ToInt64,"ToInt64");
   pragma Import(MSIL,ToPointer,"ToPointer");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.IntPtr;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.IntPtr,
   ".ver 1:0:5000:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[mscorlib]System.IntPtr");
