TPLINK-SNMPNOTIFICATIONHOST-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		OBJECT-TYPE,IpAddress
					FROM SNMPv2-SMI
	    InetAddress, InetAddressType
					    FROM INET-ADDRESS-MIB
		TPRowStatus       	 
					FROM TPLINK-TC-MIB 
		tplinkSnmpMIBObjects	          
					FROM TPLINK-SNMP-MIB;        
		 
	tpSnmpNotificationHost OBJECT IDENTIFIER ::= { tplinkSnmpMIBObjects 1 }	 
	
	tpSnmpNotificationHostTable OBJECT-TYPE
	    SYNTAX  SEQUENCE OF TPSNMPNOTIFICATIONHOSTENTRY
	    MAX-ACCESS not-accessible
	    STATUS  current
	    DESCRIPTION
	    		"A list of SNMP notification host control entries, supports IPV6."
	    ::= { tpSnmpNotificationHost 1 }

	tpSnmpNotificationHostEntry OBJECT-TYPE
	    SYNTAX  TPSNMPNOTIFICATIONHOSTENTRY
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION
			"  With the Notification function enabled, the switch 
			can initiatively report to the management station 
			about the important events that occur on the Views, 
			which allows the management station to monitor and 
			process the events in time."
		INDEX   { tpSnmpNotificationHostIndex}
		::= { tpSnmpNotificationHostTable 1 }
      
	TPSNMPNOTIFICATIONHOSTENTRY ::=
		SEQUENCE {
			tpSnmpNotificationHostIndex
				INTEGER,
			tpSnmpNotificationHostIpMode
				InetAddressType,
			tpSnmpNotificationHostIpAddr
				InetAddress, 
			tpSnmpNotificationHostUserName
				OCTET STRING, 
			tpSnmpNotificationHostUDPPort
				INTEGER,
			tpSnmpNotificationHostSecMode
				INTEGER,
			tpSnmpNotificationHostSecLev
				INTEGER,
			tpSnmpNotificationHostNtfyType
				INTEGER,
			tpSnmpNotificationHostRetry
				INTEGER,
			tpSnmpNotificationHostTimeout
				INTEGER,
			tpSnmpNotificationHostRowStatus
				TPRowStatus
		}
		
	tpSnmpNotificationHostIndex OBJECT-TYPE
		SYNTAX		INTEGER (0..12)
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION	
		"The index to the conceptual row of the table.
        Negative numbers are not allowed.  There
        are objects defined that point to conceptual
        rows of this table with this index value.
        Zero is used to denote that no corresponding
        row exists.

        Index values are assigned by the agent, and
        should not be reused but should continue to
        increase in value."
		::={tpSnmpNotificationHostEntry 1}
		
	tpSnmpNotificationHostIpMode OBJECT-TYPE
		SYNTAX      InetAddressType
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"The type of IP address.Type is IPv4 or IPv6"   
		::={tpSnmpNotificationHostEntry 2}
         
	tpSnmpNotificationHostIpAddr OBJECT-TYPE
		SYNTAX		InetAddress
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
			"IP Address of the management Host. Just input like a string."
		::={tpSnmpNotificationHostEntry 3}
		
	tpSnmpNotificationHostUserName OBJECT-TYPE
		SYNTAX		OCTET STRING (SIZE (0..16))
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
			"The User name of the management station."
		::={tpSnmpNotificationHostEntry 4}
	 
	tpSnmpNotificationHostUDPPort OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
		"  The number of the UDP port used to send notifications. 
		The UDP port functions with the IP address for the 
		notification sending. The default is 162. "
		DEFVAL 		{ 162 }
		::={tpSnmpNotificationHostEntry 5}
	 
	tpSnmpNotificationHostSecMode OBJECT-TYPE
		SYNTAX		INTEGER{
					  v1(1),
					  v2c(2),
					  v3(3)
					}
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
		"The Security Model of the management station.
		 v1(1),SNMPv1 is defined for the notify.
		 v2c(2),SNMPv2c is defined for the notify.
		 v3(3),SNMPv3 is defined for the notify."
		DEFVAL		{ 1 }
		::={tpSnmpNotificationHostEntry 6}
			
	tpSnmpNotificationHostSecLev OBJECT-TYPE
		SYNTAX		INTEGER{
					  noAuthNoPriv(1),
					  authNoPriv(2),
					  authPriv(3)
					}
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
		"The Security Level for the SNMP v3 User.
		 noAuthNoPriv(1),No authentication and no privacy security level are used.
		 authNoPriv(2),Only the authentication security level is used.
		 authPriv(3),Both the authentication and the privacy security levels are used."  
		DEFVAL		{ 1 }
		::={tpSnmpNotificationHostEntry 7}	
	 
	tpSnmpNotificationHostNtfyType OBJECT-TYPE
		SYNTAX		INTEGER{
				trap(1),
				inform(2)
				}
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
		"The type for the notifications.
		 trap(1),Indicates traps are sent.
		 inform(2),Indicates informs are sent. The Inform type has a higher security than the Trap type."
		DEFVAL		{ 1 }
		::={tpSnmpNotificationHostEntry 8}
		
	tpSnmpNotificationHostRetry OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
		" Specify the amount of times the switch resends an inform request.  The switch will 
		resend the inform request if it doesn't get the response from the management station 
		during the Timeout interval, and it will terminate resending the inform request if 
		the resending times reach the specified Retry times.
		Its value range is 1-255."
		::={tpSnmpNotificationHostEntry 9}
	 
	tpSnmpNotificationHostTimeout OBJECT-TYPE
		SYNTAX		INTEGER
		MAX-ACCESS	read-create
		STATUS		current
		DESCRIPTION	
		" Specify the maximum time for the switch to wait for the response from the management 
		station before resending a request.
		Its value range is 1-3600."
		::={tpSnmpNotificationHostEntry 10}
	 
  
		
	tpSnmpNotificationHostRowStatus OBJECT-TYPE
		SYNTAX  TPRowStatus
		MAX-ACCESS  read-create
		STATUS  current
		DESCRIPTION
			"The status column has three defined values:
			- `active(1)', which indicates that the conceptual row is
			  available for using by the managed device;
			
			- `createAndGo(4)', 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 active, making it available for using by the managed
			  device;
		   
			- `destroy(6)', which is supplied by a management station
			  wishing to delete all of the instances associated with
			  an existing conceptual row." 
		DEFVAL 	{ 4 }
		::={tpSnmpNotificationHostEntry 11}	 
    END