TPLINK-SNMPRMON-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		OBJECT-TYPE, TimeTicks, Counter32
					FROM SNMPv2-SMI
		TEXTUAL-CONVENTION 
					FROM SNMPv2-TC
		tplinkSnmpMIBObjects	          
					FROM TPLINK-SNMP-MIB; 

	tpSnmpRmonControl	OBJECT IDENTIFIER ::= { tplinkSnmpMIBObjects 2 }
	
	tpSnmpRmonStatisticsCtrl 	OBJECT IDENTIFIER ::= { tpSnmpRmonControl 1 }
	tpSnmpRmonHistoryCtrl     	OBJECT IDENTIFIER ::= { tpSnmpRmonControl 2 }
	tpSnmpRmonEventCtrl 		OBJECT IDENTIFIER ::= { tpSnmpRmonControl 3 }
	tpSnmpRmonAlarmCtrl			OBJECT IDENTIFIER ::= { tpSnmpRmonControl 4 }
	
	EntryStatus ::= TEXTUAL-CONVENTION
		STATUS 	current
		DESCRIPTION
			"The status of a table entry."
		SYNTAX 	INTEGER {
					valid(1),
					createRequest(2),
					underCreation(3),
					invalid(4)
				}
				
	--******************
	--Statistics
	--******************
	tpSnmpRmonStatsCtrlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF TPSNMPRMONSTATSCTRLENTRY
	    MAX-ACCESS not-accessible
	    STATUS  current
	    DESCRIPTION
	    		"A list of SNMP RMON STATISTICS control entries."
	    ::= {tpSnmpRmonStatisticsCtrl 1}
	
	tpSnmpRmonStatsCtrlEntry OBJECT-TYPE
	    SYNTAX  TPSNMPRMONSTATSCTRLENTRY
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION
			" RMON (Remote Monitoring), basing on SNMP (Simple Network Management Protocol) architecture, functions to monitor the network. Statistics Group, as one of the commonly used RMON Groups, is used to collect the statistics of interfaces. "
		INDEX   { tpSnmpRmonStatsCtrlIndex }
		::= { tpSnmpRmonStatsCtrlTable 1 }
		
	TPSNMPRMONSTATSCTRLENTRY ::=
		SEQUENCE {
			tpSnmpRmonStatsCtrlIndex
				INTEGER, 
			tpSnmpRmonStatsCtrlDataSource
				OCTET STRING,
			tpSnmpRmonStatsCtrlOwner
				OCTET STRING,
			tpSnmpRmonStatsCtrlRowStatus
				EntryStatus
		}

	tpSnmpRmonStatsCtrlIndex OBJECT-TYPE
		SYNTAX		INTEGER(1..65535)
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION
			"The index of this entry."
		::= { tpSnmpRmonStatsCtrlEntry 1 }
	
	tpSnmpRmonStatsCtrlDataSource OBJECT-TYPE
		SYNTAX		OCTET STRING
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION
			"This object identifies the source of the data that
			this statistics entry is configured to analyze.  This
			source can be any ethernet interface on this device.
			The source should be given as 1/0/1."
		::= { tpSnmpRmonStatsCtrlEntry 2 }
	
	tpSnmpRmonStatsCtrlOwner OBJECT-TYPE
		SYNTAX		OCTET STRING(SIZE(1..16))
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION
			"The owner of this entry."
		DEFVAL { "MibBrowser" }
		::= { tpSnmpRmonStatsCtrlEntry 3 }
	
	tpSnmpRmonStatsCtrlRowStatus OBJECT-TYPE
		SYNTAX		EntryStatus
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION
			"The status column has four defined values:
			- 'valid(1)', which indicates that the conceptual row is
			  available for using by the managed device;
			
			- 'createRequest(2)', which is supplied by a management
			  station wishing to create a new instance of a
			  conceptual row and to have its status automatically set
			  to valid(1), making it available for using by the managed
			  device;
		   
			- 'underCreation(3)', which indicates that the conceptual
			  row is existing in the managed device but not working.
			  
			- 'invalid(4)', which is supplied by a management station
			  wishing to delete all of the instances associated with
			  an existing conceptual row." 
		DEFVAL	{ 2 }
		::= { tpSnmpRmonStatsCtrlEntry 4 }

	--******************
	--History
	--******************
	tpSnmpRmonHistoryCtrlTable OBJECT-TYPE
	    SYNTAX  SEQUENCE OF TPSNMPRMONHISTORYCTRLENTRY
	    MAX-ACCESS not-accessible
	    STATUS  current
	    DESCRIPTION
	    		"A list of SNMP RMON hisotry control entries."
	    ::= {tpSnmpRmonHistoryCtrl 1}

	tpSnmpRmonHistoryCtrlEntry OBJECT-TYPE
	    SYNTAX  TPSNMPRMONHISTORYCTRLENTRY
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION
                      "  History Group is one of the commonly used RMON (Remote Monitoring) Groups. After a 
                      history group is configured, the switch collects network statistics information 
                      periodically, based on which the management station can monitor network effectively."
        INDEX   { tpSnmpRmonHistoryCtrlIndex }
        ::= { tpSnmpRmonHistoryCtrlTable 1 }
      
	TPSNMPRMONHISTORYCTRLENTRY ::=
		SEQUENCE {
			tpSnmpRmonHistoryCtrlIndex
				INTEGER, 
			tpSnmpRmonHistoryCtrlSourcePort
				OCTET STRING,
			tpSnmpRmonHistoryCtrlInterval
				INTEGER,
			tpSnmpRmonHistoryCtrlBucketsRequested
				INTEGER,
			tpSnmpRmonHistoryCtrlOwner
				OCTET STRING,
			tpSnmpRmonHistoryCtrlStatus
				INTEGER
	  }
         
	tpSnmpRmonHistoryCtrlIndex OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	
			"The index of this entry."
		::={tpSnmpRmonHistoryCtrlEntry 1}

	tpSnmpRmonHistoryCtrlSourcePort OBJECT-TYPE
		SYNTAX		OCTET STRING
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The port from which the history samples were taken. Specify the port in form of 1/0/1."
		::={tpSnmpRmonHistoryCtrlEntry 2}

	tpSnmpRmonHistoryCtrlInterval OBJECT-TYPE
		SYNTAX		INTEGER(10..3600)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
		" The interval to take samplings from the port.
		10sec-3600sec."
		::={tpSnmpRmonHistoryCtrlEntry 3}	

	tpSnmpRmonHistoryCtrlBucketsRequested OBJECT-TYPE
		SYNTAX		INTEGER(1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
			"The requested number of discrete time intervals
		over which data is to be saved in the part of the
		media-specific table associated with this
		historyControlEntry.
		"
		::= { tpSnmpRmonHistoryCtrlEntry 4 }

	tpSnmpRmonHistoryCtrlOwner OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (0..16))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The name of the device or user that defined the entry."
		::={tpSnmpRmonHistoryCtrlEntry 5}

	tpSnmpRmonHistoryCtrlStatus OBJECT-TYPE
		SYNTAX  INTEGER{
			disable(0), 					
			enable(1)					
			}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			"Enable/Disable the corresponding sampling entry.
				disable(0), disable the history entry.					
				enable(1), enable the history entry."
		::={tpSnmpRmonHistoryCtrlEntry 6}

  	tpSnmpRmonHistoryDataTable OBJECT-TYPE
	    SYNTAX  SEQUENCE OF TPSNMPRMONHISTORYDATAENTRY
	    MAX-ACCESS not-accessible
	    STATUS  current
	    DESCRIPTION
	    		"A list of SNMP RMON hisotry data entries."
	    ::= {tpSnmpRmonHistoryCtrl 2}

	tpSnmpRmonHistoryDataEntry OBJECT-TYPE
	    SYNTAX  TPSNMPRMONHISTORYDATAENTRY
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION
                      "Contains of the history data for a control entry"
		INDEX   { tpSnmpRmonHistoryDataIndex }
		::= { tpSnmpRmonHistoryDataTable 1 }
      
	TPSNMPRMONHISTORYDATAENTRY ::=
		SEQUENCE {
			tpSnmpRmonHistoryDataIndex
			  INTEGER, 
			tpSnmpRmonHistoryDataSampleIndex
			  INTEGER,
			tpSnmpRmonHistoryDataIntervalStart
			  TimeTicks,
			tpSnmpRmonHistoryDataDropEvents
			  Counter32,
			tpSnmpRmonHistoryDataOctets
			  Counter32,
			tpSnmpRmonHistoryDataPkts
			  Counter32,
			tpSnmpRmonHistoryDataBroadcastPkts
			  Counter32,
			tpSnmpRmonHistoryDataMulticastPkts
			  Counter32,
			tpSnmpRmonHistoryDataCRCAlignErrors
			  Counter32,
			tpSnmpRmonHistoryDataUndersizePkts
			  Counter32,
			tpSnmpRmonHistoryDataOversizePkts
			  Counter32,
			tpSnmpRmonHistoryDataFragments
			  Counter32,
			tpSnmpRmonHistoryDataJabbers
			  Counter32,
			tpSnmpRmonHistoryDataCollisions
			  Counter32,
			tpSnmpRmonHistoryDataUtilization
			  INTEGER
		}
       

	tpSnmpRmonHistoryDataIndex OBJECT-TYPE
		SYNTAX     INTEGER (1..65535)
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		 "index"
		::= { tpSnmpRmonHistoryDataEntry 1 }

	tpSnmpRmonHistoryDataSampleIndex OBJECT-TYPE
		SYNTAX     INTEGER (1..2147483647)
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	         "An index that uniquely identifies the particular
 		sample this entry represents among all samples
 		associated with the same historyControlEntry.
 		This index starts at 1 and increases by one
 		as each new sample is taken."
	    ::= { tpSnmpRmonHistoryDataEntry 2 }

	tpSnmpRmonHistoryDataIntervalStart OBJECT-TYPE
	    SYNTAX     TimeTicks
	    MAX-ACCESS read-only
	    STATUS     current
	    DESCRIPTION
	        "  The value of sysUpTime at the start of the interval
 		over which this sample was measured.  If the probe
 		keeps track of the time of day, it should start
 		the first sample of the history at a time such that
 		when the next hour of the day begins, a sample is
 		started at that instant.  Note that following this
 		rule may require the probe to delay collecting the
 		first sample of the history, as each sample must be
 		of the same interval.  Also note that the sample which
 		is currently being collected is not accessible in this
 		table until the end of its interval."
	    ::= { tpSnmpRmonHistoryDataEntry 3 }
	
	tpSnmpRmonHistoryDataDropEvents OBJECT-TYPE
		SYNTAX     Counter32
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The total number of events in which packets
		were dropped by the probe due to lack of resources
		during this sampling interval.  Note that this number
		is not necessarily the number of packets dropped, it
		is just the number of times this condition has been
		detected."
		::= { tpSnmpRmonHistoryDataEntry 4 }

	tpSnmpRmonHistoryDataOctets OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Octets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The total number of octets of data (including
		those in bad packets) received on the
		network (excluding framing bits but including
		FCS octets)"
		::= { tpSnmpRmonHistoryDataEntry 5 }

	tpSnmpRmonHistoryDataPkts OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"    The number of packets (including bad packets)
		received during this sampling interval."
		::= { tpSnmpRmonHistoryDataEntry 6 }

	tpSnmpRmonHistoryDataBroadcastPkts OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of good packets received during this
		sampling interval that were directed to the
		broadcast address."
		::= { tpSnmpRmonHistoryDataEntry 7 }

	tpSnmpRmonHistoryDataMulticastPkts OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of good packets received during this
		sampling interval that were directed to the
		broadcast address."
		::= { tpSnmpRmonHistoryDataEntry 8 }

	tpSnmpRmonHistoryDataCRCAlignErrors OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of packets received during this sampling
		interval that had a length (excluding framing bits
		but including FCS octets) between 64 and 1518
		octets, inclusive, but had either a bad Frame Check
		Sequence (FCS) with an integral number of octets
		(FCS Error) or a bad FCS with a non-integral number
		of octets (Alignment Error)."
		::= { tpSnmpRmonHistoryDataEntry 9 }

	tpSnmpRmonHistoryDataUndersizePkts OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of packets received during this
		sampling interval that were less than 64 octets
		long (excluding framing bits but including FCS
		octets) and were otherwise well formed."
		::= { tpSnmpRmonHistoryDataEntry 10 }

	tpSnmpRmonHistoryDataOversizePkts OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of packets received during this
		sampling interval that were longer than 1518
		octets (excluding framing bits but including
		FCS octets) but were otherwise well formed."
		::= { tpSnmpRmonHistoryDataEntry 11 }

	tpSnmpRmonHistoryDataFragments OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The total number of packets received during this
		sampling interval that were less than 64 octets in
		length (excluding framing bits but including FCS
		octets) had either a bad Frame Check Sequence (FCS)
		with an integral number of octets (FCS Error) or a bad
		FCS with a non-integral number of octets (Alignment
		Error)."
		::= { tpSnmpRmonHistoryDataEntry 12 }

	tpSnmpRmonHistoryDataJabbers OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Packets"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of packets received during this
		sampling interval that were longer than 1518 octets
		(excluding framing bits but including FCS octets),
		and  had either a bad Frame Check Sequence (FCS)
		with an integral number of octets (FCS Error) or
		a bad FCS with a non-integral number of octets
		(Alignment Error)."
		::= { tpSnmpRmonHistoryDataEntry 13 }

	tpSnmpRmonHistoryDataCollisions OBJECT-TYPE
		SYNTAX     Counter32
		UNITS      "Collisions"
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The number of collion received during this
		sampling interval that"
		::= { tpSnmpRmonHistoryDataEntry 14 }

	tpSnmpRmonHistoryDataUtilization OBJECT-TYPE
		SYNTAX     INTEGER (0..10000)
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		"  The best estimate of the mean physical layer
		network utilization on this interface during this
		sampling interval, in hundredths of a percent."
		::= { tpSnmpRmonHistoryDataEntry 15 }
			  
	--******************
	--Event
	--******************
	tpSnmpRmonEventCtrlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF TPSNMPRMONEVENTCTRLENTRY
		MAX-ACCESS not-accessible
		STATUS  current
		DESCRIPTION
			"A list of SNMP RMON EVENT control entries."
		::= {tpSnmpRmonEventCtrl 1}

	tpSnmpRmonEventCtrlEntry OBJECT-TYPE
		SYNTAX  TPSNMPRMONEVENTCTRLENTRY
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
				  " RMON (Remote Monitoring), basing on SNMP (Simple Network Management Protocol) architecture, 
				  functions to monitor the network. Event Group, as one of the commonly used RMON Groups, is used 
				  to define RMON events. Alarms occur when an event is detected."
		INDEX   { tpSnmpRmonEventCtrlIndex }
		::= { tpSnmpRmonEventCtrlTable 1 }

	TPSNMPRMONEVENTCTRLENTRY ::=
		SEQUENCE {
			tpSnmpRmonEventCtrlIndex
			  INTEGER, 
			tpSnmpRmonEventCtrlUserName
			  OCTET STRING,
			tpSnmpRmonEventCtrlDesc
			  OCTET STRING,
			tpSnmpRmonEventCtrlType
			  INTEGER,
			tpSnmpRmonEventCtrlOwner
			  OCTET STRING,
			tpSnmpRmonEventCtrlStatus
			  INTEGER
		}

	tpSnmpRmonEventCtrlIndex OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	
			"The index of this entry."
		::={tpSnmpRmonEventCtrlEntry 1}

	tpSnmpRmonEventCtrlUserName OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (0..16))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The name of the User or the community to which the event belongs."
		::={tpSnmpRmonEventCtrlEntry 2}

	tpSnmpRmonEventCtrlDesc OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (0..16))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"Description which is given to the event for identification."
		::={tpSnmpRmonEventCtrlEntry 3}	

	tpSnmpRmonEventCtrlType OBJECT-TYPE
		SYNTAX	INTEGER{
					none(1),
					log(2),
					snmptrap(3), 
					logandtrap(4)
				}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
		" The event type, which determines the act way of the network device in response to an event.
		none(1),no processing.
		log(2),logging the event.
		snmptrap(3),sending trap messages to the management station.
		logandtrap(4),logging the event and sending trap messages to the management station."
		::={tpSnmpRmonEventCtrlEntry 4}

	tpSnmpRmonEventCtrlOwner OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (0..16))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The name of the device or user that defined the entry."
		::={tpSnmpRmonEventCtrlEntry 5}

	tpSnmpRmonEventCtrlStatus OBJECT-TYPE
		SYNTAX  INTEGER{
					disable(0), 					
					enable(1)					
				}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			 "Enable/Disable the corresponding event entry.
			  disable(0),disable the event entry. 					
		  enable(1),enable the event entry.
			 "
		::={tpSnmpRmonEventCtrlEntry 6}


	tpSnmpRmonEventLogTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF TPSNMPRMONEVENTLOGENTRY
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
		 "A list of log that have been logged."
		::= { tpSnmpRmonEventCtrl 2 }

	tpSnmpRmonEventLogEntry OBJECT-TYPE
		SYNTAX     TPSNMPRMONEVENTLOGENTRY
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
		 "  A set of data describing an event that has been
		 logged.  For example, an instance of the logDescription
		 object might be named logDescription.6.47"
		INDEX { tpSnmpRmonEventLogEventIndex, tpSnmpRmonEventLogIndex }
		::= { tpSnmpRmonEventLogTable 1 }

	TPSNMPRMONEVENTLOGENTRY ::= 
		SEQUENCE {
			tpSnmpRmonEventLogEventIndex           INTEGER,
			tpSnmpRmonEventLogIndex                INTEGER,
			tpSnmpRmonEventLogTime                 TimeTicks,
			tpSnmpRmonEventLogDescription          OCTET STRING
		}

	tpSnmpRmonEventLogEventIndex OBJECT-TYPE
		SYNTAX     INTEGER (1..65535)
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		 "  The event entry that generated this log
		 entry.  The log identified by a particular
		 value of this index is associated with the same
		 eventEntry as identified by the same value
		 of eventIndex."
		::= { tpSnmpRmonEventLogEntry 1 }

	tpSnmpRmonEventLogIndex OBJECT-TYPE
		SYNTAX     INTEGER (1..2147483647)
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		 "  An index that uniquely identifies an entry
		 in the log table amongst those generated by the
		 same eventEntries.  These indexes are
		 assigned beginning with 1 and increase by one
		 with each new log entry.  The association
		 between values of logIndex and logEntries
		 is fixed for the lifetime of each logEntry.
		 The agent may choose to delete the oldest
		 instances of logEntry as required because of
		 lack of memory.  It is an implementation-specific
		 matter as to when this deletion may occur."
		::= { tpSnmpRmonEventLogEntry 2 }

	tpSnmpRmonEventLogTime OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		 "The value of sysUpTime when this log entry was created."
		::= { tpSnmpRmonEventLogEntry 3 }

	tpSnmpRmonEventLogDescription OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..255))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
		 " An implementation dependent description of the
		 event that activated this log entry."
		::= { tpSnmpRmonEventLogEntry 4 }

	--******************
	--Alarm
	--******************
	tpSnmpRmonAlarmCtrlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF TPSNMPRMONALARMCTRLENTRY
		MAX-ACCESS not-accessible
		STATUS  current
		DESCRIPTION
			"A list of SNMP RMON EVENT control entries."
		::= {tpSnmpRmonAlarmCtrl 1}

	tpSnmpRmonAlarmCtrlEntry OBJECT-TYPE
		SYNTAX  TPSNMPRMONALARMCTRLENTRY
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
				  "  Alarm Group is one of the commonly used RMON Groups. RMON alarm 
				  management allows monitoring the specific alarm variables. When 
				  the value of a monitored variable exceeds the threshold, an alarm 
				  event is generated, which triggers the switch to act in the set way."
		INDEX   { tpSnmpRmonAlarmCtrlIndex }
		::= { tpSnmpRmonAlarmCtrlTable 1 }

	TPSNMPRMONALARMCTRLENTRY ::=
		SEQUENCE {
			tpSnmpRmonAlarmCtrlIndex
			  INTEGER, 
			tpSnmpRmonAlarmCtrlVariable
			  INTEGER,
			tpSnmpRmonAlarmCtrlStatisticsIndex
			  INTEGER, 
			tpSnmpRmonAlarmCtrlSampleType
			  INTEGER,
			tpSnmpRmonAlarmCtrlRisingThreshold
			  INTEGER,
			tpSnmpRmonAlarmCtrlRisingEvent
			  INTEGER,
			tpSnmpRmonAlarmCtrlFallingThreshold
			  INTEGER,
			tpSnmpRmonAlarmCtrlFallingEvent
			  INTEGER,
			tpSnmpRmonAlarmCtrlStartUp
			  INTEGER,    
			tpSnmpRmonAlarmCtrlInterval
			  INTEGER,
			tpSnmpRmonAlarmCtrlOwner
			  OCTET STRING,
			tpSnmpRmonAlarmCtrlStatus
			  INTEGER
		}

	tpSnmpRmonAlarmCtrlIndex OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION	
				"The index of this entry."
		::={tpSnmpRmonAlarmCtrlEntry 1}

	tpSnmpRmonAlarmCtrlVariable OBJECT-TYPE
		SYNTAX	INTEGER{
					recBytes(4),
					recPackets(5),
					bPackets(6),
					mPackets(7),
					crcAlignErr(8),
					undersize(9),
					oversize(10),
					jabbers(12),
					collisions(13),
					packet64Bytes(14),
					packetFrom65to127(15),
					packetFrom128to255(16),
					packetFrom256to511(17),
					packetFrom512to1023(18),
					packetFrom1024to1518(19)
				}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The packet type that to be count."	
		::={tpSnmpRmonAlarmCtrlEntry 2}

	tpSnmpRmonAlarmCtrlStatisticsIndex OBJECT-TYPE
		SYNTAX		INTEGER(1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The index of the statistics entry relative with this alarm entry."
		::={tpSnmpRmonAlarmCtrlEntry 3}

	tpSnmpRmonAlarmCtrlSampleType OBJECT-TYPE
		SYNTAX		INTEGER{
				  absoluteValue(1),
				  deltaValue(2)
				}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
		" The method of sampling the selected variable and calculating the value to be 
		compared against the thresholds.
		absoluteValue(1),compares the values directly with the thresholds at the end of 
		the sampling interval.
		deltaValue(2),subtracts the last sampled value from the current value. The difference 
		in the values is compared to the threshold."
		::={tpSnmpRmonAlarmCtrlEntry 4}
		
	tpSnmpRmonAlarmCtrlRisingThreshold OBJECT-TYPE
		SYNTAX		INTEGER(1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The rising counter value that triggers the rise hold alarm."
		::={tpSnmpRmonAlarmCtrlEntry 5}	

	tpSnmpRmonAlarmCtrlRisingEvent OBJECT-TYPE
		SYNTAX		INTEGER(1..12)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
		" The index of the corresponding event which will be triggered if the sampled 
		value is larger than the Rise Hold."
		::={tpSnmpRmonAlarmCtrlEntry 6}

	tpSnmpRmonAlarmCtrlFallingThreshold OBJECT-TYPE
		SYNTAX		INTEGER(1..65535)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The falling counter value that triggers the fall hold alarm."
		::={tpSnmpRmonAlarmCtrlEntry 7}

	tpSnmpRmonAlarmCtrlFallingEvent OBJECT-TYPE
		SYNTAX		INTEGER(1..12)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
		" The index of the corresponding event which will be triggered if the sampled 
		value is lower than the Fall Hold. "
		::={tpSnmpRmonAlarmCtrlEntry 8}

	tpSnmpRmonAlarmCtrlStartUp OBJECT-TYPE
		SYNTAX		INTEGER {
					  risingAlarm(1),
					  fallingAlarm(2),
					  risingOrFallingAlarm(3)
					}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
		"Specify the type of the alarm.
		 risingAlarm(1),When the sampled value exceeds the Rise Hold, an alarm event is triggered. 
		 fallingAlarm(2),When the sampled value is under the Fall Hold, an alarm event is triggered.
		 risingOrFallingAlarm(3),The alarm event will be triggered either the sampled value exceeds the Rise Hold or is under the Fall Hold."
		::={tpSnmpRmonAlarmCtrlEntry 9}

	tpSnmpRmonAlarmCtrlInterval OBJECT-TYPE
		SYNTAX		INTEGER(10..3600)
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The alarm interval time in seconds.
			 10sec-3600sec."
		::={tpSnmpRmonAlarmCtrlEntry 10}

	tpSnmpRmonAlarmCtrlOwner OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (0..16))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"The name of the device or user that defined the entry."
		::={tpSnmpRmonAlarmCtrlEntry 11}

	tpSnmpRmonAlarmCtrlStatus OBJECT-TYPE
		SYNTAX  INTEGER{
					disable(0), 					
					enable(1)					
				}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			 "Enable/Disable the corresponding alarm entry.
			  disable(0),disable the alarm entry. 					
			  enable(1),enable the alarm entry"
		::={tpSnmpRmonAlarmCtrlEntry 12}
	
END