TPLINK-SYSTOOL-MIB DEFINITIONS ::= BEGIN

IMPORTS
	OBJECT-TYPE
				FROM SNMPv2-SMI
	tplinkMgmt	          
				FROM TPLINK-MIB; 
						
tplinkSysToolMIB MODULE-IDENTITY
    LAST-UPDATED  "201211290000Z"
    ORGANIZATION  "TP-LINK"
    CONTACT-INFO  "www.tplink.com"
    DESCRIPTION
         "This MIB module contain a collection of managed objects
          that apply to network devices."

    REVISION    "201211290000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { tplinkMgmt 3 }

tplinkSysToolMIBObjects OBJECT IDENTIFIER ::= {tplinkSysToolMIB 1}
tplinkSysToolNotifications OBJECT IDENTIFIER ::= {tplinkSysToolMIB 2}

	
tpSysToolReBoot OBJECT-TYPE
	SYNTAX  INTEGER{
		notReBoot(0), 			--normal state
		reboot(1),
		reBootAndSave(2)						--reboot state
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
		  "this used to determine whether to reboot or not"
	::=	{tplinkSysToolMIBObjects 1}

tpSysToolReSet OBJECT-TYPE
	SYNTAX  INTEGER{
		notReSet(0), 					--normal state
		reSet(1)						--reset state
	}
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
	  "this used to determine whether to reset or not"
	::=	{tplinkSysToolMIBObjects 2}
	
tpSysToolConfigSave		OBJECT-TYPE
	SYNTAX				
		INTEGER
		{
			commit(1)
		}
	MAX-ACCESS		read-write
	STATUS				current
	DESCRIPTION		
	"This object use to save the current config."
	::=	{tplinkSysToolMIBObjects 3}
	

	tpSysToolReBootSchedule  			OBJECT IDENTIFIER ::= {tplinkSysToolMIBObjects 4}
	ScheduleStatus OBJECT-TYPE
		SYNTAX  INTEGER{
		disable(0), 		
		enable(1)				
		}
		MAX-ACCESS  read-only
		STATUS  	current
		DESCRIPTION
			  "Reboot Schedule Status"
		::=	{tpSysToolReBootSchedule 1}
	ScheduleIn OBJECT-TYPE
		SYNTAX  	INTEGER (1..43200)
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
			  "this used to config the reboot schedule time interval"
		::=	{tpSysToolReBootSchedule 2}
	ScheduleAt OBJECT-TYPE
		SYNTAX  	OCTET STRING(SIZE (0..255))
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
			  "this used to config the reboot schedule time
			  For example, Saturday Aug 18, 2015 at 08:18 would be
				given as:
						18/08/2015-08:18
			  "
		::=	{tpSysToolReBootSchedule 3}
	SaveBeforeReboot OBJECT-TYPE
		SYNTAX  INTEGER{
		no(0), 					--save not before reboot
		yes(1)					--save before reboot
		}
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
			  "Save the user config before reboot"
		::=	{tpSysToolReBootSchedule 4}
	ScheduleCancel OBJECT-TYPE
		SYNTAX  INTEGER{
			commit(1)
		}
		MAX-ACCESS  read-create
		STATUS  	current
		DESCRIPTION
			  "Cancel the reboot schedule"
		::=	{tpSysToolReBootSchedule 5}
		
tpSysToolFirmwareUpgrade  			OBJECT IDENTIFIER ::= {tplinkSysToolMIBObjects 5}
	firmwareUpgradeIpAddress  OBJECT-TYPE
		SYNTAX  OCTET STRING 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"IP Address of the TFTP server.Both IPv4 and 
 			IPv6 addresses are supported,for example 
 			192.168.0.146 or fe80::1234."
 		::= {tpSysToolFirmwareUpgrade 1}
 
	 firmwareUpgradeFilename  OBJECT-TYPE		
		SYNTAX  OCTET STRING 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Specify the name for the firmware file."
 		::= {tpSysToolFirmwareUpgrade 2}   
 		
	firmwareUpgradeSysToolReBoot  OBJECT-TYPE
		SYNTAX  INTEGER{
			notReBoot(0), 			--normal state
			reboot(1),
			reBootAndSave(2)						--reboot state
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		  	"this used to determine whether to upgrade the firmware or not"
		::=	{tpSysToolFirmwareUpgrade 3}
   firmwareUpgradeStatus       OBJECT-TYPE	
		SYNTAX  OCTET STRING (SIZE (0..255))
		  MAX-ACCESS  read-only
		  STATUS  current
		  DESCRIPTION
		  "If the switch is upgrading or not."
  		::= { tpSysToolFirmwareUpgrade 4 }  
	    
tpSysToolBootConfig  			OBJECT IDENTIFIER ::= {tplinkSysToolMIBObjects 6}
	currentStartupImage  OBJECT-TYPE
		SYNTAX  INTEGER{
			notExist(0),
			image1(1),
			image2(2)
		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        	"Display the current startup image."
 		::= {tpSysToolBootConfig 1}
 
	nextStartupImage  OBJECT-TYPE		
		SYNTAX  INTEGER{
			notExist(0),
			image1(1),
			image2(2)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Select the next startup image."
 		::= {tpSysToolBootConfig 2}   
 		
	backupImage  OBJECT-TYPE
		SYNTAX  INTEGER{
			notExist(0),
			image1(1),
			image2(2)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		  	"Select the backup image."
		::=	{tpSysToolBootConfig 3}	

	currentStartupConfig  OBJECT-TYPE
		SYNTAX  INTEGER{
			notExist(0),
			config1(1),
			config2(2)
		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        	"Display the current startup config."
 		::= {tpSysToolBootConfig 4}
 
	nextStartupConfig  OBJECT-TYPE		
		SYNTAX  INTEGER{
			notExist(0),
			config1(1),
			config2(2)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Select the next startup config."
 		::= {tpSysToolBootConfig 5}   
 		
	backupConfig  OBJECT-TYPE
		SYNTAX  INTEGER{
			notExist(0),
			config1(1),
			config2(2)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		  	"Select the backup config."
		::=	{tpSysToolBootConfig 6}	
		
tpSysToolBackupConfig  			OBJECT IDENTIFIER ::= {tplinkSysToolMIBObjects 7}
	backupConfigIpAddress  OBJECT-TYPE
		SYNTAX  OCTET STRING 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"IP Address of the TFTP server.Both IPv4 and 
 			IPv6 addresses are supported,for example 
 			192.168.0.146 or fe80::1234."
 		::= {tpSysToolBackupConfig 1}
 
	backupConfigFilename  OBJECT-TYPE		
		SYNTAX  OCTET STRING 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Specify the name for the backup-config file."
 		::= {tpSysToolBackupConfig 2}   
 		
	backupConfigStatus  OBJECT-TYPE
		SYNTAX  OCTET STRING 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		  	"If the current startup configuration file is existed or not."
		::=	{tpSysToolBackupConfig 3}
		
	backupConfigExport  OBJECT-TYPE
		SYNTAX  INTEGER{
			commit(1)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		  	"Export current startup configuration file."
		::=	{tpSysToolBackupConfig 4}

tpSysToolRestoreConfig  			OBJECT IDENTIFIER ::= {tplinkSysToolMIBObjects 8}
	restoreConfigIpAddress  OBJECT-TYPE
		SYNTAX  OCTET STRING 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"IP Address of the TFTP server.Both IPv4 and 
 			IPv6 addresses are supported,for example 
 			192.168.0.146 or fe80::1234."
 		::= {tpSysToolRestoreConfig 1}
 
	restoreConfigFilename  OBJECT-TYPE		
		SYNTAX  OCTET STRING 
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Specify the name of configuration file."
 		::= {tpSysToolRestoreConfig 2}   
 		
	restoreConfigStatus  OBJECT-TYPE
		SYNTAX  OCTET STRING 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		  	"If the system is storing configuration file or not."
		::=	{tpSysToolRestoreConfig 3}
		
	restoreConfigImport  OBJECT-TYPE
		SYNTAX  INTEGER{
			notImport(0),
			Import(1),
			ImportAndReboot(2)
		}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		  	"Import specify configuration file."
		::=	{tpSysToolRestoreConfig 4}
 		
flash NOTIFICATION-TYPE    
	STATUS          current
	DESCRIPTION
	  "A flash notification is sented when the flash has been modified."
	::= {tplinkSysToolNotifications 1}
	    
power NOTIFICATION-TYPE    
	STATUS          current
	DESCRIPTION
	  "A power notification is sented when the Redundant Power Supply or the Power Supply Module status changed."
	::= {tplinkSysToolNotifications 2}	
 
fan NOTIFICATION-TYPE    
	STATUS          current
	DESCRIPTION
	  "A fan notification is sented when the Fan working mode or status changed."
	::= {tplinkSysToolNotifications 3}	  

temperature NOTIFICATION-TYPE    
	STATUS          current
	DESCRIPTION
	  "A temperature notification is sented when the temperature alarm happens or cancels."
	::= {tplinkSysToolNotifications 4}	

mCard NOTIFICATION-TYPE    
	STATUS          current
	DESCRIPTION
	  "A mCard notification is sented when the mCard is inserted or removed."
	::= {tplinkSysToolNotifications 5}					
END