-- --------------------------------------------------------------------
-- Copyright (c) 3Com Corporation. All Rights Reserved.
-- --------------------------------------------------------------------
-- ******************** SNMP TRAP TABLES ******************************
-- --------------------------------------------------------------------
-- snmp Trap Table Database. Tells us where to send SNMP traps to.
-- Various transport protocols can be setup in the same table.
-- The original 'trapTable' has been deprecated and has been 
-- replaced by 'snmpTrapTable'. The 'trapTable' is still working
-- for backward compatibility, but all new applications should
-- use the new 'snmpTrapTable'
A3COM0012-TRAPTABLE2 DEFINITIONS ::= BEGIN


   IMPORTS
      localSnmp FROM A3COM0004-GENERIC
      DisplayString FROM RFC1213-MIB
      OBJECT-TYPE FROM RFC-1212
      ;

snmpTrapTable OBJECT-TYPE
   SYNTAX   SEQUENCE OF SnmpTrapEntry
   ACCESS   not-accessible
   STATUS   mandatory
   DESCRIPTION "This table can store the destination addresses of SNMP 
   managers that wish to receive traps from this device."
   ::= {localSnmp 2}

snmpTrapEntry OBJECT-TYPE
   SYNTAX   SnmpTrapEntry
   ACCESS   not-accessible
   STATUS   mandatory
   DESCRIPTION "This table can store the destination addresses of SNMP 
   managers that wish to receive traps from this device."
   INDEX {snmpTrapIndex}
   ::= {snmpTrapTable 1}

SnmpTrapEntry ::= SEQUENCE {
      snmpTrapIndex     INTEGER,
      snmpTrapDestination     DisplayString (SIZE(0..50)),
      snmpTrapProtocol     INTEGER,
      snmpTrapCommunity    DisplayString (SIZE(0..32)),
      snmpTrapCategory     OCTET STRING,
      snmpTrapThrottle     INTEGER,
      snmpTrapRowStatus    INTEGER
      }

snmpTrapIndex OBJECT-TYPE
   SYNTAX   INTEGER (1..255)
   ACCESS   read-only
   STATUS   mandatory
   DESCRIPTION "This is the unique identifier for this row in the 
   snmpTrapTable. When creating a new row, a manager can read the value of the 
   snmpTrapNextFreeIndex object and (if non-zero) can use this value as the index 
   of the new row to be created.
   
   The actual number of rows that can be created on any particular device depends 
   on the memory and processing resources available at the time."
   ::= {snmpTrapEntry 1}

snmpTrapDestination OBJECT-TYPE
   SYNTAX   DisplayString (SIZE(0..50))
   ACCESS   read-write
   STATUS   mandatory
   DESCRIPTION "This DisplayString is the network address of the device to 
   which SNMP traps will be sent. This is an IP or IPX address. The following 
   formats can be used. IP      nnn.nnn.nnn.nnn - dotted format IPX 
   AABBCCDD:AABBCCDDEEFF - network : node
   
   Destination addresses must be unique within this table. An error is returned if 
   an attempt is made to add a duplicate address."
   ::= {snmpTrapEntry 2}

snmpTrapProtocol OBJECT-TYPE
   SYNTAX   INTEGER  {
      unknown (1),
      ip (2),
      ipx (3)
   }
   ACCESS   read-only
   STATUS   mandatory
   DESCRIPTION "This defines the transport protocol to use when sending an 
   SNMP trap.
   
   At present, this value is determined by the format/value of snmpTrapDestionation 
   which is currently un-ambiguous and so this object is read-only."
   ::= {snmpTrapEntry 3}

snmpTrapCommunity OBJECT-TYPE
   SYNTAX   DisplayString (SIZE(0..32))
   ACCESS   read-write
   STATUS   mandatory
   DESCRIPTION "SNMP Community String to be used when sending Traps to this destination."
   ::= {snmpTrapEntry 4}

snmpTrapCategory OBJECT-TYPE
   SYNTAX   OCTET STRING  (SIZE(4))
   ACCESS   read-write
   STATUS   mandatory
   DESCRIPTION "32 Bit Mask indicating which Trap categories that the 
   snmpTrapDestination is interested in.
   
   '00000001'h - High Priority Configuration Traps '00000002'h - Low Priority 
   Configuration Traps '00000004'h - High Priority Security Traps '00000008'h - Low 
   Priority Security Traps '00000010'h - Alarms & Polling Traps '00000020'h - 
   Regular Heartbeat Traps '00000040'h - End Station Table Traps '00000080'h - 
   reserved '00000100'h - Physical Entity Traps '00000200'h - Facility Traps 
   '00000400'h - Service Related Traps
   
   A value of 0xFFFFFFFF enables all traps."
   ::= {snmpTrapEntry 5}

snmpTrapThrottle OBJECT-TYPE
   SYNTAX   INTEGER (0..99999)
   ACCESS   read-write
   STATUS   mandatory
   DESCRIPTION "The maximum rate at which that snmpTrapDestination is 
   willing to receive traps, specified as the minimum interval in milliseconds 
   between traps. For example, a value of 2000 will limit traps sent to this 
   destination to one trap every 2 seconds. A value of zero indicates that no trap 
   throttling is required."
   DEFVAL   { 10 }
   ::= {snmpTrapEntry 6}

snmpTrapRowStatus OBJECT-TYPE
   SYNTAX   INTEGER  {
      active (1),
      notInService (2),
      notReady (3),
      createAndGo (4),
      createAndWait (5),
      destroy (6)
   }
   ACCESS   read-write
   STATUS   mandatory
   DESCRIPTION "The SNMPv2 RowStatus convention.
   
   Notes: Because this is such a simple table:- 1) Writing any data to a destroyed 
   row, changes its state to active. 2) There is no notReady or notInService state. 
   Each row is either active or destroyed."
   ::= {snmpTrapEntry 7}

-- the following two values are states:
-- these values may be read or written
-- the following value is a state:
-- this value may be read, but not written
-- the following three values are
-- actions: these values may be written,
--   but are never read
snmpTrapNextFreeIndex OBJECT-TYPE
   SYNTAX   INTEGER (0..255)
   ACCESS   read-only
   STATUS   mandatory
   DESCRIPTION "Indicates the the next value of snmpTrapIndex which can be 
   used to create a new trap destination entry. This value is zero if there are no 
   free rows in the table."
   ::= {localSnmp 3}



END
