-- 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.Net.Sockets.AddressFamily is
   type ValueType is (
      Unknown,
      Unspecified,
      Unix,
      InterNetwork,
      ImpLink,
      Pup,
      Chaos,
      NS,
      Osi,
      Ecma,
      DataKit,
      Ccitt,
      Sna,
      DecNet,
      DataLink,
      Lat,
      HyperChannel,
      AppleTalk,
      NetBios,
      VoiceView,
      FireFox,
      Banyan,
      Atm,
      InterNetworkV6,
      Cluster,
      Ieee12844,
      Irda,
      NetworkDesigners,
      Max);
   pragma Convention (MSIL, ValueType);
   for ValueType use (
      Unknown => -1,
      Unspecified =>  0,
      Unix =>  1,
      InterNetwork =>  2,
      ImpLink =>  3,
      Pup =>  4,
      Chaos =>  5,
      NS =>  6,
      Osi =>  7,
      Ecma =>  8,
      DataKit =>  9,
      Ccitt =>  10,
      Sna =>  11,
      DecNet =>  12,
      DataLink =>  13,
      Lat =>  14,
      HyperChannel =>  15,
      AppleTalk =>  16,
      NetBios =>  17,
      VoiceView =>  18,
      FireFox =>  19,
      Banyan =>  21,
      Atm =>  22,
      InterNetworkV6 =>  23,
      Cluster =>  24,
      Ieee12844 =>  25,
      Irda =>  26,
      NetworkDesigners =>  28,
      Max =>  29);
   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;
   Ipx : constant Valuetype := NS;
   Iso : constant Valuetype := Osi;
   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.Net.Sockets.AddressFamily;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Net.Sockets.AddressFamily,
   ".ver 1:0:5000:0 .publickeytoken=( 96 9d b8 05 3d 33 22 ac )",
   "[System]System.Net.Sockets.AddressFamily");
