//   NOTE: this is a machine generated file--editing not recommended
//
// rfc1213-mib2.h - class definitions for ASN.1 module RFC1213-MIB
//
//   This file was generated by snacc on Mon May 25 16:21:56 1998
//   UBC snacc by Mike Sample
//   A couple of enhancements made by IBM European Networking Center

#ifndef _rfc1213_mib2_h_
#define _rfc1213_mib2_h_


//------------------------------------------------------------------------------
// class declarations:

class SnmpEnableAuthenTraps;
class EgpNeighEventTrigger;
class EgpNeighMode;
class EgpNeighState;
class TcpConnState;
class TcpRtoAlgorithm;
class IpNetToMediaType;
class IpRouteProto;
class IpRouteType;
class IpForwarding;
class IfOperStatus;
class IfAdminStatus;
class IfType;
class IpAddrEntry;
class IpRouteEntry;
class TcpConnEntry;
class UdpEntry;
class EgpNeighEntry;
class IfEntry;
class AtEntry;
class IpNetToMediaEntry;
class EgpNeighTable;
class UdpTable;
class TcpConnTable;
class IpNetToMediaTable;
class IpRouteTable;
class IpAddrTable;
class AtTable;
class IfTable;

//------------------------------------------------------------------------------
// class definitions:

typedef enum RFC1213_MIBAnyId
{
    sysServices_ANY_ID = 0,
    ifNumber_ANY_ID = 1,
    ifIndex_ANY_ID = 2,
    ifMtu_ANY_ID = 3,
    atIfIndex_ANY_ID = 4,
    ipDefaultTTL_ANY_ID = 5,
    ipReasmTimeout_ANY_ID = 6,
    ipAdEntIfIndex_ANY_ID = 7,
    ipAdEntBcastAddr_ANY_ID = 8,
    ipAdEntReasmMaxSize_ANY_ID = 9,
    ipRouteIfIndex_ANY_ID = 10,
    ipRouteMetric1_ANY_ID = 11,
    ipRouteMetric2_ANY_ID = 12,
    ipRouteMetric3_ANY_ID = 13,
    ipRouteMetric4_ANY_ID = 14,
    ipRouteAge_ANY_ID = 15,
    ipRouteMetric5_ANY_ID = 16,
    ipNetToMediaIfIndex_ANY_ID = 17,
    tcpRtoMin_ANY_ID = 18,
    tcpRtoMax_ANY_ID = 19,
    tcpMaxConn_ANY_ID = 20,
    tcpConnLocalPort_ANY_ID = 21,
    tcpConnRemPort_ANY_ID = 22,
    udpLocalPort_ANY_ID = 23,
    egpNeighAs_ANY_ID = 24,
    egpNeighIntervalHello_ANY_ID = 25,
    egpNeighIntervalPoll_ANY_ID = 26,
    egpAs_ANY_ID = 27,
    sysObjectID_ANY_ID = 28,
    ifSpecific_ANY_ID = 29,
    ipRouteInfo_ANY_ID = 30,
    snmpEnableAuthenTraps_ANY_ID = 31,
    egpNeighEventTrigger_ANY_ID = 32,
    egpNeighMode_ANY_ID = 33,
    egpNeighState_ANY_ID = 34,
    tcpConnState_ANY_ID = 35,
    tcpRtoAlgorithm_ANY_ID = 36,
    ipNetToMediaType_ANY_ID = 37,
    ipRouteProto_ANY_ID = 38,
    ipRouteType_ANY_ID = 39,
    ipForwarding_ANY_ID = 40,
    ifOperStatus_ANY_ID = 41,
    ifAdminStatus_ANY_ID = 42,
    ifType_ANY_ID = 43,
    sysDescr_ANY_ID = 44,
    sysContact_ANY_ID = 45,
    sysName_ANY_ID = 46,
    sysLocation_ANY_ID = 47,
    ifDescr_ANY_ID = 48,
    ifPhysAddress_ANY_ID = 49,
    atPhysAddress_ANY_ID = 50,
    ipNetToMediaPhysAddress_ANY_ID = 51,
    ipAddrEntry_ANY_ID = 52,
    ipRouteEntry_ANY_ID = 53,
    tcpConnEntry_ANY_ID = 54,
    udpEntry_ANY_ID = 55,
    egpNeighEntry_ANY_ID = 56,
    ifEntry_ANY_ID = 57,
    atEntry_ANY_ID = 58,
    ipNetToMediaEntry_ANY_ID = 59,
    egpNeighTable_ANY_ID = 60,
    udpTable_ANY_ID = 61,
    tcpConnTable_ANY_ID = 62,
    ipNetToMediaTable_ANY_ID = 63,
    ipRouteTable_ANY_ID = 64,
    ipAddrTable_ANY_ID = 65,
    atTable_ANY_ID = 66,
    ifTable_ANY_ID = 67
} RFC1213_MIBAnyId;


/* INTEGER { enabled (1), disabled (2) }  */
class SnmpEnableAuthenTraps: public AsnInt
{
public:
			SnmpEnableAuthenTraps(): AsnInt() {}
			SnmpEnableAuthenTraps (int i): AsnInt (i) {}
  enum
  {
    enabled = 1,
    disabled = 2
  };
};


/* INTEGER { start (1), stop (2) }  */
class EgpNeighEventTrigger: public AsnInt
{
public:
			EgpNeighEventTrigger(): AsnInt() {}
			EgpNeighEventTrigger (int i): AsnInt (i) {}
  enum
  {
    start = 1,
    stop = 2
  };
};


/* INTEGER { active (1), passive (2) }  */
class EgpNeighMode: public AsnInt
{
public:
			EgpNeighMode(): AsnInt() {}
			EgpNeighMode (int i): AsnInt (i) {}
  enum
  {
    active = 1,
    passive = 2
  };
};


/* INTEGER { idle (1), acquisition (2), down (3), up (4), cease (5) }  */
class EgpNeighState: public AsnInt
{
public:
			EgpNeighState(): AsnInt() {}
			EgpNeighState (int i): AsnInt (i) {}
  enum
  {
    idle = 1,
    acquisition = 2,
    down = 3,
    up = 4,
    cease = 5
  };
};


/* INTEGER { closed (1), listen (2), synSent (3), synReceived (4), established (5), finWait1 (6), finWait2 (7), closeWait (8), lastAck (9), closing (10), timeWait (11), deleteTCB (12) }  */
class TcpConnState: public AsnInt
{
public:
			TcpConnState(): AsnInt() {}
			TcpConnState (int i): AsnInt (i) {}
  enum
  {
    closed = 1,
    listen = 2,
    synSent = 3,
    synReceived = 4,
    established = 5,
    finWait1 = 6,
    finWait2 = 7,
    closeWait = 8,
    lastAck = 9,
    closing = 10,
    timeWait = 11,
    deleteTCB = 12
  };
};


/* INTEGER { other (1), constant (2), rsre (3), vanj (4) }  */
class TcpRtoAlgorithm: public AsnInt
{
public:
			TcpRtoAlgorithm(): AsnInt() {}
			TcpRtoAlgorithm (int i): AsnInt (i) {}
  enum
  {
    other = 1,
    constant = 2,
    rsre = 3,
    vanj = 4
  };
};


/* INTEGER { other (1), invalid (2), dynamic (3), static1 (4) }  */
class IpNetToMediaType: public AsnInt
{
public:
			IpNetToMediaType(): AsnInt() {}
			IpNetToMediaType (int i): AsnInt (i) {}
  enum
  {
    other = 1,
    invalid = 2,
    dynamic = 3,
    static1 = 4
  };
};


/* INTEGER { other (1), local (2), netmgmt (3), icmp (4), egp (5), ggp (6), hello (7), rip (8), is_is (9), es_is (10), ciscoIgrp (11), bbnSpfIgp (12), ospf (13), bgp (14) }  */
class IpRouteProto: public AsnInt
{
public:
			IpRouteProto(): AsnInt() {}
			IpRouteProto (int i): AsnInt (i) {}
  enum
  {
    other = 1,
    local = 2,
    netmgmt = 3,
    icmp = 4,
    egp = 5,
    ggp = 6,
    hello = 7,
    rip = 8,
    is_is = 9,
    es_is = 10,
    ciscoIgrp = 11,
    bbnSpfIgp = 12,
    ospf = 13,
    bgp = 14
  };
};


/* INTEGER { other (1), invalid (2), direct (3), indirect (4) }  */
class IpRouteType: public AsnInt
{
public:
			IpRouteType(): AsnInt() {}
			IpRouteType (int i): AsnInt (i) {}
  enum
  {
    other = 1,
    invalid = 2,
    direct = 3,
    indirect = 4
  };
};


/* INTEGER { forwarding (1), not_forwarding (2) }  */
class IpForwarding: public AsnInt
{
public:
			IpForwarding(): AsnInt() {}
			IpForwarding (int i): AsnInt (i) {}
  enum
  {
    forwarding = 1,
    not_forwarding = 2
  };
};


/* INTEGER { up (1), down (2), testing (3) }  */
class IfOperStatus: public AsnInt
{
public:
			IfOperStatus(): AsnInt() {}
			IfOperStatus (int i): AsnInt (i) {}
  enum
  {
    up = 1,
    down = 2,
    testing = 3
  };
};


/* INTEGER { up (1), down (2), testing (3) }  */
class IfAdminStatus: public AsnInt
{
public:
			IfAdminStatus(): AsnInt() {}
			IfAdminStatus (int i): AsnInt (i) {}
  enum
  {
    up = 1,
    down = 2,
    testing = 3
  };
};


/* INTEGER { other (1), regular1822 (2), hdh1822 (3), ddn_x25 (4), rfc877_x25 (5), ethernet_csmacd (6), iso88023_csmacd (7), iso88024_tokenBus (8), iso88025_tokenRing (9), iso88026_man (10), starLan (11), proteon_10Mbit (12), proteon_80Mbit (13), hyperchannel (14), fddi (15), lapb (16), sdlc (17), ds1 (18), e1 (19), basicISDN (20), primaryISDN (21), propPointToPointSerial (22), ppp (23), softwareLoopback (24), eon (25), ethernet_3Mbit (26), nsip (27), slip (28), ultra (29), ds3 (30), sip (31), frame_relay (32) }  */
class IfType: public AsnInt
{
public:
			IfType(): AsnInt() {}
			IfType (int i): AsnInt (i) {}
  enum
  {
    other = 1,
    regular1822 = 2,
    hdh1822 = 3,
    ddn_x25 = 4,
    rfc877_x25 = 5,
    ethernet_csmacd = 6,
    iso88023_csmacd = 7,
    iso88024_tokenBus = 8,
    iso88025_tokenRing = 9,
    iso88026_man = 10,
    starLan = 11,
    proteon_10Mbit = 12,
    proteon_80Mbit = 13,
    hyperchannel = 14,
    fddi = 15,
    lapb = 16,
    sdlc = 17,
    ds1 = 18,
    e1 = 19,
    basicISDN = 20,
    primaryISDN = 21,
    propPointToPointSerial = 22,
    ppp = 23,
    softwareLoopback = 24,
    eon = 25,
    ethernet_3Mbit = 26,
    nsip = 27,
    slip = 28,
    ultra = 29,
    ds3 = 30,
    sip = 31,
    frame_relay = 32
  };
};


/* OCTET STRING */
typedef AsnOcts DisplayString;

/* OCTET STRING */
typedef AsnOcts PhysAddress;

class IpAddrEntry: public AsnType
{
public:
  IpAddress		ipAdEntAddr;
  AsnInt		ipAdEntIfIndex;
  IpAddress		ipAdEntNetMask;
  AsnInt		ipAdEntBcastAddr;
  AsnInt		ipAdEntReasmMaxSize;

			IpAddrEntry();
			IpAddrEntry (const IpAddrEntry &);
			~IpAddrEntry();
  AsnType		*Clone() const;

  IpAddrEntry		&operator = (const IpAddrEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class IpRouteEntry: public AsnType
{
public:
  IpAddress		ipRouteDest;
  AsnInt		ipRouteIfIndex;
  AsnInt		ipRouteMetric1;
  AsnInt		ipRouteMetric2;
  AsnInt		ipRouteMetric3;
  AsnInt		ipRouteMetric4;
  IpAddress		ipRouteNextHop;
  AsnInt		ipRouteType;
  AsnInt		ipRouteProto;
  AsnInt		ipRouteAge;
  IpAddress		ipRouteMask;
  AsnInt		ipRouteMetric5;
  AsnOid		ipRouteInfo;

			IpRouteEntry();
			IpRouteEntry (const IpRouteEntry &);
			~IpRouteEntry();
  AsnType		*Clone() const;

  IpRouteEntry		&operator = (const IpRouteEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class TcpConnEntry: public AsnType
{
public:
  AsnInt		tcpConnState;
  IpAddress		tcpConnLocalAddress;
  AsnInt		tcpConnLocalPort;
  IpAddress		tcpConnRemAddress;
  AsnInt		tcpConnRemPort;

			TcpConnEntry();
			TcpConnEntry (const TcpConnEntry &);
			~TcpConnEntry();
  AsnType		*Clone() const;

  TcpConnEntry		&operator = (const TcpConnEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class UdpEntry: public AsnType
{
public:
  IpAddress		udpLocalAddress;
  AsnInt		udpLocalPort;

			UdpEntry();
			UdpEntry (const UdpEntry &);
			~UdpEntry();
  AsnType		*Clone() const;

  UdpEntry		&operator = (const UdpEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class EgpNeighEntry: public AsnType
{
public:
  AsnInt		egpNeighState;
  IpAddress		egpNeighAddr;
  AsnInt		egpNeighAs;
  Counter		egpNeighInMsgs;
  Counter		egpNeighInErrs;
  Counter		egpNeighOutMsgs;
  Counter		egpNeighOutErrs;
  Counter		egpNeighInErrMsgs;
  Counter		egpNeighOutErrMsgs;
  Counter		egpNeighStateUps;
  Counter		egpNeighStateDowns;
  AsnInt		egpNeighIntervalHello;
  AsnInt		egpNeighIntervalPoll;
  AsnInt		egpNeighMode;
  AsnInt		egpNeighEventTrigger;

			EgpNeighEntry();
			EgpNeighEntry (const EgpNeighEntry &);
			~EgpNeighEntry();
  AsnType		*Clone() const;

  EgpNeighEntry		&operator = (const EgpNeighEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class IfEntry: public AsnType
{
public:
  AsnInt		ifIndex;
  DisplayString		ifDescr;
  AsnInt		ifType;
  AsnInt		ifMtu;
  Gauge		ifSpeed;
  PhysAddress		ifPhysAddress;
  AsnInt		ifAdminStatus;
  AsnInt		ifOperStatus;
  TimeTicks		ifLastChange;
  Counter		ifInOctets;
  Counter		ifInUcastPkts;
  Counter		ifInNUcastPkts;
  Counter		ifInDiscards;
  Counter		ifInErrors;
  Counter		ifInUnknownProtos;
  Counter		ifOutOctets;
  Counter		ifOutUcastPkts;
  Counter		ifOutNUcastPkts;
  Counter		ifOutDiscards;
  Counter		ifOutErrors;
  Gauge		ifOutQLen;
  AsnOid		ifSpecific;

			IfEntry();
			IfEntry (const IfEntry &);
			~IfEntry();
  AsnType		*Clone() const;

  IfEntry		&operator = (const IfEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class AtEntry: public AsnType
{
public:
  AsnInt		atIfIndex;
  PhysAddress		atPhysAddress;
  NetworkAddress		*atNetAddress;

			AtEntry();
			AtEntry (const AtEntry &);
			~AtEntry();
  AsnType		*Clone() const;

  AtEntry		&operator = (const AtEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class IpNetToMediaEntry: public AsnType
{
public:
  AsnInt		ipNetToMediaIfIndex;
  PhysAddress		ipNetToMediaPhysAddress;
  IpAddress		ipNetToMediaNetAddress;
  AsnInt		ipNetToMediaType;

			IpNetToMediaEntry();
			IpNetToMediaEntry (const IpNetToMediaEntry &);
			~IpNetToMediaEntry();
  AsnType		*Clone() const;

  IpNetToMediaEntry		&operator = (const IpNetToMediaEntry &);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  int			BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
  int			BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);

  void		Print (ostream &os) const;
};


class EgpNeighTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    EgpNeighEntry	*elmt;
  }			*first, *curr, *last;

public:
			EgpNeighTable() { count = 0; first = curr = last = NULL; }
			EgpNeighTable (const EgpNeighTable &);
			~EgpNeighTable();
  AsnType		*Clone() const;

  EgpNeighTable		&operator = (const EgpNeighTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  EgpNeighEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  EgpNeighEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  EgpNeighEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  EgpNeighEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  EgpNeighEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  EgpNeighEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  EgpNeighEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  EgpNeighEntry	*Append();  // add elmt to end of list
  EgpNeighEntry	*Prepend(); // add elmt to beginning of list
  EgpNeighEntry	*InsertBefore(); //insert elmt before current elmt
  EgpNeighEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  EgpNeighTable	&AppendCopy (EgpNeighEntry &elmt);  // add elmt to end of list
  EgpNeighTable	&PrependCopy (EgpNeighEntry &elmt); // add elmt to beginning of list
  EgpNeighTable	&InsertBeforeAndCopy (EgpNeighEntry &elmt); //insert elmt before current elmt
  EgpNeighTable	&InsertAfterAndCopy (EgpNeighEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class UdpTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    UdpEntry	*elmt;
  }			*first, *curr, *last;

public:
			UdpTable() { count = 0; first = curr = last = NULL; }
			UdpTable (const UdpTable &);
			~UdpTable();
  AsnType		*Clone() const;

  UdpTable		&operator = (const UdpTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  UdpEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  UdpEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  UdpEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  UdpEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  UdpEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  UdpEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  UdpEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  UdpEntry	*Append();  // add elmt to end of list
  UdpEntry	*Prepend(); // add elmt to beginning of list
  UdpEntry	*InsertBefore(); //insert elmt before current elmt
  UdpEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  UdpTable	&AppendCopy (UdpEntry &elmt);  // add elmt to end of list
  UdpTable	&PrependCopy (UdpEntry &elmt); // add elmt to beginning of list
  UdpTable	&InsertBeforeAndCopy (UdpEntry &elmt); //insert elmt before current elmt
  UdpTable	&InsertAfterAndCopy (UdpEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class TcpConnTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    TcpConnEntry	*elmt;
  }			*first, *curr, *last;

public:
			TcpConnTable() { count = 0; first = curr = last = NULL; }
			TcpConnTable (const TcpConnTable &);
			~TcpConnTable();
  AsnType		*Clone() const;

  TcpConnTable		&operator = (const TcpConnTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  TcpConnEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  TcpConnEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  TcpConnEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  TcpConnEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  TcpConnEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  TcpConnEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  TcpConnEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  TcpConnEntry	*Append();  // add elmt to end of list
  TcpConnEntry	*Prepend(); // add elmt to beginning of list
  TcpConnEntry	*InsertBefore(); //insert elmt before current elmt
  TcpConnEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  TcpConnTable	&AppendCopy (TcpConnEntry &elmt);  // add elmt to end of list
  TcpConnTable	&PrependCopy (TcpConnEntry &elmt); // add elmt to beginning of list
  TcpConnTable	&InsertBeforeAndCopy (TcpConnEntry &elmt); //insert elmt before current elmt
  TcpConnTable	&InsertAfterAndCopy (TcpConnEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class IpNetToMediaTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    IpNetToMediaEntry	*elmt;
  }			*first, *curr, *last;

public:
			IpNetToMediaTable() { count = 0; first = curr = last = NULL; }
			IpNetToMediaTable (const IpNetToMediaTable &);
			~IpNetToMediaTable();
  AsnType		*Clone() const;

  IpNetToMediaTable		&operator = (const IpNetToMediaTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  IpNetToMediaEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  IpNetToMediaEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  IpNetToMediaEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  IpNetToMediaEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  IpNetToMediaEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  IpNetToMediaEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  IpNetToMediaEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  IpNetToMediaEntry	*Append();  // add elmt to end of list
  IpNetToMediaEntry	*Prepend(); // add elmt to beginning of list
  IpNetToMediaEntry	*InsertBefore(); //insert elmt before current elmt
  IpNetToMediaEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  IpNetToMediaTable	&AppendCopy (IpNetToMediaEntry &elmt);  // add elmt to end of list
  IpNetToMediaTable	&PrependCopy (IpNetToMediaEntry &elmt); // add elmt to beginning of list
  IpNetToMediaTable	&InsertBeforeAndCopy (IpNetToMediaEntry &elmt); //insert elmt before current elmt
  IpNetToMediaTable	&InsertAfterAndCopy (IpNetToMediaEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class IpRouteTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    IpRouteEntry	*elmt;
  }			*first, *curr, *last;

public:
			IpRouteTable() { count = 0; first = curr = last = NULL; }
			IpRouteTable (const IpRouteTable &);
			~IpRouteTable();
  AsnType		*Clone() const;

  IpRouteTable		&operator = (const IpRouteTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  IpRouteEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  IpRouteEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  IpRouteEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  IpRouteEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  IpRouteEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  IpRouteEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  IpRouteEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  IpRouteEntry	*Append();  // add elmt to end of list
  IpRouteEntry	*Prepend(); // add elmt to beginning of list
  IpRouteEntry	*InsertBefore(); //insert elmt before current elmt
  IpRouteEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  IpRouteTable	&AppendCopy (IpRouteEntry &elmt);  // add elmt to end of list
  IpRouteTable	&PrependCopy (IpRouteEntry &elmt); // add elmt to beginning of list
  IpRouteTable	&InsertBeforeAndCopy (IpRouteEntry &elmt); //insert elmt before current elmt
  IpRouteTable	&InsertAfterAndCopy (IpRouteEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class IpAddrTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    IpAddrEntry	*elmt;
  }			*first, *curr, *last;

public:
			IpAddrTable() { count = 0; first = curr = last = NULL; }
			IpAddrTable (const IpAddrTable &);
			~IpAddrTable();
  AsnType		*Clone() const;

  IpAddrTable		&operator = (const IpAddrTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  IpAddrEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  IpAddrEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  IpAddrEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  IpAddrEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  IpAddrEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  IpAddrEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  IpAddrEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  IpAddrEntry	*Append();  // add elmt to end of list
  IpAddrEntry	*Prepend(); // add elmt to beginning of list
  IpAddrEntry	*InsertBefore(); //insert elmt before current elmt
  IpAddrEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  IpAddrTable	&AppendCopy (IpAddrEntry &elmt);  // add elmt to end of list
  IpAddrTable	&PrependCopy (IpAddrEntry &elmt); // add elmt to beginning of list
  IpAddrTable	&InsertBeforeAndCopy (IpAddrEntry &elmt); //insert elmt before current elmt
  IpAddrTable	&InsertAfterAndCopy (IpAddrEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class AtTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    AtEntry	*elmt;
  }			*first, *curr, *last;

public:
			AtTable() { count = 0; first = curr = last = NULL; }
			AtTable (const AtTable &);
			~AtTable();
  AsnType		*Clone() const;

  AtTable		&operator = (const AtTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  AtEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  AtEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  AtEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  AtEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  AtEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  AtEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  AtEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  AtEntry	*Append();  // add elmt to end of list
  AtEntry	*Prepend(); // add elmt to beginning of list
  AtEntry	*InsertBefore(); //insert elmt before current elmt
  AtEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  AtTable	&AppendCopy (AtEntry &elmt);  // add elmt to end of list
  AtTable	&PrependCopy (AtEntry &elmt); // add elmt to beginning of list
  AtTable	&InsertBeforeAndCopy (AtEntry &elmt); //insert elmt before current elmt
  AtTable	&InsertAfterAndCopy (AtEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


class IfTable: public AsnType
{
protected:
  unsigned long int	count;
  struct AsnListElmt
  {
    AsnListElmt	*next;
    AsnListElmt	*prev;
    IfEntry	*elmt;
  }			*first, *curr, *last;

public:
			IfTable() { count = 0; first = curr = last = NULL; }
			IfTable (const IfTable &);
			~IfTable();
  AsnType		*Clone() const;

  IfTable		&operator = (const IfTable &);
  void		SetCurrElmt (unsigned long int index);
  unsigned long int	GetCurrElmtIndex();
  void		SetCurrToFirst() { curr = first; }
  void		SetCurrToLast()  { curr = last; }
  // reading member fcns
  int			Count() const	{ return count; }
  // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
  IfEntry	*First() const	{ return count > 0 ? first->elmt : NULL; }
  IfEntry	*Last() const	{ return count > 0 ? last->elmt : NULL; }
  IfEntry	*Curr() const	{ return curr ? curr->elmt : NULL; }
  IfEntry	*Next() const	{ return curr && curr->next ? curr->next->elmt : NULL; }
  IfEntry	*Prev() const	{ return curr && curr->prev ? curr->prev->elmt : NULL; }

  // routines that move the curr elmt
  IfEntry	*GoNext() { if (curr) curr = curr->next; return Curr(); }
  IfEntry	*GoPrev() { if (curr) curr = curr->prev; return Curr(); }

  // write & alloc fcns - returns new elmt
  IfEntry	*Append();  // add elmt to end of list
  IfEntry	*Prepend(); // add elmt to beginning of list
  IfEntry	*InsertBefore(); //insert elmt before current elmt
  IfEntry	*InsertAfter(); //insert elmt after current elmt

  // write & alloc & copy - returns list after copying elmt
  IfTable	&AppendCopy (IfEntry &elmt);  // add elmt to end of list
  IfTable	&PrependCopy (IfEntry &elmt); // add elmt to beginning of list
  IfTable	&InsertBeforeAndCopy (IfEntry &elmt); //insert elmt before current elmt
  IfTable	&InsertAfterAndCopy (IfEntry &elmt); //insert elmt after current elmt

  // removing the current elmt from the list
  void		RemoveCurrFromList();

  // encode and decode routines    
  AsnLen		BEnc (BUF_TYPE b);
  void			BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
  AsnLen		BEncContent (BUF_TYPE b);
  void			BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);

  PDU_MEMBER_MACROS
  void		Print (ostream &os) const;
};


//------------------------------------------------------------------------------
// externs for value defs

extern const AsnOid mib_2;
extern const AsnOid system1;
extern const AsnOid interfaces;
extern const AsnOid at;
extern const AsnOid ip;
extern const AsnOid icmp;
extern const AsnOid tcp;
extern const AsnOid udp;
extern const AsnOid egp;
extern const AsnOid transmission;
extern const AsnOid snmp;
extern const AsnOid sysDescr;
extern const AsnOid sysObjectID;
extern const AsnOid sysUpTime;
extern const AsnOid sysContact;
extern const AsnOid sysName;
extern const AsnOid sysLocation;
extern const AsnOid sysServices;
extern const AsnOid ifNumber;
extern const AsnOid ifTable;
extern const AsnOid ifEntry;
extern const AsnOid ifIndex;
extern const AsnOid ifDescr;
extern const AsnOid ifType;
extern const AsnOid ifMtu;
extern const AsnOid ifSpeed;
extern const AsnOid ifPhysAddress;
extern const AsnOid ifAdminStatus;
extern const AsnOid ifOperStatus;
extern const AsnOid ifLastChange;
extern const AsnOid ifInOctets;
extern const AsnOid ifInUcastPkts;
extern const AsnOid ifInNUcastPkts;
extern const AsnOid ifInDiscards;
extern const AsnOid ifInErrors;
extern const AsnOid ifInUnknownProtos;
extern const AsnOid ifOutOctets;
extern const AsnOid ifOutUcastPkts;
extern const AsnOid ifOutNUcastPkts;
extern const AsnOid ifOutDiscards;
extern const AsnOid ifOutErrors;
extern const AsnOid ifOutQLen;
extern const AsnOid ifSpecific;
extern const AsnOid atTable;
extern const AsnOid atEntry;
extern const AsnOid atIfIndex;
extern const AsnOid atPhysAddress;
extern const AsnOid atNetAddress;
extern const AsnOid ipForwarding;
extern const AsnOid ipDefaultTTL;
extern const AsnOid ipInReceives;
extern const AsnOid ipInHdrErrors;
extern const AsnOid ipInAddrErrors;
extern const AsnOid ipForwDatagrams;
extern const AsnOid ipInUnknownProtos;
extern const AsnOid ipInDiscards;
extern const AsnOid ipInDelivers;
extern const AsnOid ipOutRequests;
extern const AsnOid ipOutDiscards;
extern const AsnOid ipOutNoRoutes;
extern const AsnOid ipReasmTimeout;
extern const AsnOid ipReasmReqds;
extern const AsnOid ipReasmOKs;
extern const AsnOid ipReasmFails;
extern const AsnOid ipFragOKs;
extern const AsnOid ipFragFails;
extern const AsnOid ipFragCreates;
extern const AsnOid ipAddrTable;
extern const AsnOid ipAddrEntry;
extern const AsnOid ipAdEntAddr;
extern const AsnOid ipAdEntIfIndex;
extern const AsnOid ipAdEntNetMask;
extern const AsnOid ipAdEntBcastAddr;
extern const AsnOid ipAdEntReasmMaxSize;
extern const AsnOid ipRouteTable;
extern const AsnOid ipRouteEntry;
extern const AsnOid ipRouteDest;
extern const AsnOid ipRouteIfIndex;
extern const AsnOid ipRouteMetric1;
extern const AsnOid ipRouteMetric2;
extern const AsnOid ipRouteMetric3;
extern const AsnOid ipRouteMetric4;
extern const AsnOid ipRouteNextHop;
extern const AsnOid ipRouteType;
extern const AsnOid ipRouteProto;
extern const AsnOid ipRouteAge;
extern const AsnOid ipRouteMask;
extern const AsnOid ipRouteMetric5;
extern const AsnOid ipRouteInfo;
extern const AsnOid ipNetToMediaTable;
extern const AsnOid ipNetToMediaEntry;
extern const AsnOid ipNetToMediaIfIndex;
extern const AsnOid ipNetToMediaPhysAddress;
extern const AsnOid ipNetToMediaNetAddress;
extern const AsnOid ipNetToMediaType;
extern const AsnOid ipRoutingDiscards;
extern const AsnOid icmpInMsgs;
extern const AsnOid icmpInErrors;
extern const AsnOid icmpInDestUnreachs;
extern const AsnOid icmpInTimeExcds;
extern const AsnOid icmpInParmProbs;
extern const AsnOid icmpInSrcQuenchs;
extern const AsnOid icmpInRedirects;
extern const AsnOid icmpInEchos;
extern const AsnOid icmpInEchoReps;
extern const AsnOid icmpInTimestamps;
extern const AsnOid icmpInTimestampReps;
extern const AsnOid icmpInAddrMasks;
extern const AsnOid icmpInAddrMaskReps;
extern const AsnOid icmpOutMsgs;
extern const AsnOid icmpOutErrors;
extern const AsnOid icmpOutDestUnreachs;
extern const AsnOid icmpOutTimeExcds;
extern const AsnOid icmpOutParmProbs;
extern const AsnOid icmpOutSrcQuenchs;
extern const AsnOid icmpOutRedirects;
extern const AsnOid icmpOutEchos;
extern const AsnOid icmpOutEchoReps;
extern const AsnOid icmpOutTimestamps;
extern const AsnOid icmpOutTimestampReps;
extern const AsnOid icmpOutAddrMasks;
extern const AsnOid icmpOutAddrMaskReps;
extern const AsnOid tcpRtoAlgorithm;
extern const AsnOid tcpRtoMin;
extern const AsnOid tcpRtoMax;
extern const AsnOid tcpMaxConn;
extern const AsnOid tcpActiveOpens;
extern const AsnOid tcpPassiveOpens;
extern const AsnOid tcpAttemptFails;
extern const AsnOid tcpEstabResets;
extern const AsnOid tcpCurrEstab;
extern const AsnOid tcpInSegs;
extern const AsnOid tcpOutSegs;
extern const AsnOid tcpRetransSegs;
extern const AsnOid tcpConnTable;
extern const AsnOid tcpConnEntry;
extern const AsnOid tcpConnState;
extern const AsnOid tcpConnLocalAddress;
extern const AsnOid tcpConnLocalPort;
extern const AsnOid tcpConnRemAddress;
extern const AsnOid tcpConnRemPort;
extern const AsnOid tcpInErrs;
extern const AsnOid tcpOutRsts;
extern const AsnOid udpInDatagrams;
extern const AsnOid udpNoPorts;
extern const AsnOid udpInErrors;
extern const AsnOid udpOutDatagrams;
extern const AsnOid udpTable;
extern const AsnOid udpEntry;
extern const AsnOid udpLocalAddress;
extern const AsnOid udpLocalPort;
extern const AsnOid egpInMsgs;
extern const AsnOid egpInErrors;
extern const AsnOid egpOutMsgs;
extern const AsnOid egpOutErrors;
extern const AsnOid egpNeighTable;
extern const AsnOid egpNeighEntry;
extern const AsnOid egpNeighState;
extern const AsnOid egpNeighAddr;
extern const AsnOid egpNeighAs;
extern const AsnOid egpNeighInMsgs;
extern const AsnOid egpNeighInErrs;
extern const AsnOid egpNeighOutMsgs;
extern const AsnOid egpNeighOutErrs;
extern const AsnOid egpNeighInErrMsgs;
extern const AsnOid egpNeighOutErrMsgs;
extern const AsnOid egpNeighStateUps;
extern const AsnOid egpNeighStateDowns;
extern const AsnOid egpNeighIntervalHello;
extern const AsnOid egpNeighIntervalPoll;
extern const AsnOid egpNeighMode;
extern const AsnOid egpNeighEventTrigger;
extern const AsnOid egpAs;
extern const AsnOid snmpInPkts;
extern const AsnOid snmpOutPkts;
extern const AsnOid snmpInBadVersions;
extern const AsnOid snmpInBadCommunityNames;
extern const AsnOid snmpInBadCommunityUses;
extern const AsnOid snmpInASNParseErrs;
extern const AsnOid snmpInTooBigs;
extern const AsnOid snmpInNoSuchNames;
extern const AsnOid snmpInBadValues;
extern const AsnOid snmpInReadOnlys;
extern const AsnOid snmpInGenErrs;
extern const AsnOid snmpInTotalReqVars;
extern const AsnOid snmpInTotalSetVars;
extern const AsnOid snmpInGetRequests;
extern const AsnOid snmpInGetNexts;
extern const AsnOid snmpInSetRequests;
extern const AsnOid snmpInGetResponses;
extern const AsnOid snmpInTraps;
extern const AsnOid snmpOutTooBigs;
extern const AsnOid snmpOutNoSuchNames;
extern const AsnOid snmpOutBadValues;
extern const AsnOid snmpOutGenErrs;
extern const AsnOid snmpOutGetRequests;
extern const AsnOid snmpOutGetNexts;
extern const AsnOid snmpOutSetRequests;
extern const AsnOid snmpOutGetResponses;
extern const AsnOid snmpOutTraps;
extern const AsnOid snmpEnableAuthenTraps;
//------------------------------------------------------------------------------

#endif /* conditional include of rfc1213-mib2.h */
