-- **********************************************
-- ZyXEL Communications Corporation
--
-- Enterprise Solution MIB definitions
-- Common MIBs (COMMON)
--
-- Julian Wu
--
-- Copyright by ZyXEL Communications Corp.
-- All rights reserved.
-- **********************************************

ZYXEL-ES-COMMON DEFINITIONS ::= BEGIN

IMPORTS

	MODULE-IDENTITY,
	OBJECT-IDENTITY,
	OBJECT-TYPE		FROM SNMPv2-SMI

	OBJECT-GROUP,
	MODULE-COMPLIANCE	FROM SNMPv2-CONF

	DisplayString	FROM SNMPv2-TC

	esMgmt			FROM ZYXEL-ES-SMI
	esConformance			FROM ZYXEL-ES-SMI;

esSysInfo MODULE-IDENTITY
	LAST-UPDATED	"201009200000Z"    
	ORGANIZATION "Enterprise Solution ZyXEL"     
	CONTACT-INFO
		""	   
	DESCRIPTION
		"The subtree for system information"
	::= { esMgmt 1 }

esSysMgmt MODULE-IDENTITY
	LAST-UPDATED	"201009060000Z" 
	ORGANIZATION "Enterprise Solution ZyXEL"     
	CONTACT-INFO
		""	   
	DESCRIPTION
		"The subtree for basic system management"
	::= { esMgmt 2 }

-- esSysInfo OIDs

SwPlatform ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		"The indicattion of software platform.

		zynos  : ZyNOS.
		zld    : ZLD.
		other  : Other operating system."

	SYNTAX INTEGER {
		other(1),
		zynos(2),
		zld(3)
	}



sysSwPlatform OBJECT-TYPE
	SYNTAX		SwPlatform
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"The software platform of this agent"
	::= { esSysInfo 1 }

sysSwMajorVersion OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 2 }

sysSwMinorVersion OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 3 }

sysSwModel OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 4 }

sysSwPatchNumber OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 5 }

sysSwVersionString OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 6 }

sysSwDay OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 7 }

sysSwMonth OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 8 }

sysSwYear OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 9 }

sysProductFamily OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 10 }

sysProductModel OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 11 }

sysProductSerialNumber OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysInfo 12 }
	
sysCountryCode OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		"System Country."
	::= { esSysInfo 16 }


-- esSysMgmt OIDs

MgmtAlarmStatus ::= TEXTUAL-CONVENTION
	STATUS		current
	DESCRIPTION
		""
	SYNTAX BITS {
		sysAlarmDetected(0),
		sysTemperatureError(1),
		sysFanRPMError(2),
		sysVoltageRangeError(3)
	}

sysMgmtReboot OBJECT-TYPE   
	SYNTAX  INTEGER {  
		running(0),
		reboot (1)
	}

	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		""
	::= { esSysMgmt 1 }

sysMgmtConfigSave OBJECT-TYPE
	SYNTAX  INTEGER {  
		running(0),
		save (1)
	}

	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		""
	::= { esSysMgmt 2 }

sysMgmtRestoreDefaultConfig OBJECT-TYPE
	SYNTAX  INTEGER {  
		running(0),
		restore (1)
	}                       
	
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		""
	::= { esSysMgmt 3 }

sysMgmtCPUUsage OBJECT-TYPE
	SYNTAX		INTEGER (0..100)
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysMgmt 4 }

sysMgmtMemUsage OBJECT-TYPE
	SYNTAX		INTEGER (0..100)
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysMgmt 5 }

sysMgmtFlashUsage OBJECT-TYPE
	SYNTAX		INTEGER (0..100)
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
		""
	::= { esSysMgmt 6 }

-- compliance statements for ES-COMMON

esBasicCompliances	OBJECT IDENTIFIER ::= { esConformance 1 }
esBasicGroups		OBJECT IDENTIFIER ::= { esConformance 2 }

esBasicCompliance MODULE-COMPLIANCE
	STATUS		current
	DESCRIPTION
		"The compliance statement for ES common MIB"
	MODULE -- this module
		MANDATORY-GROUPS {
			esSysInfoGroup,
			esSysMgmtGroup
		}
	::= { esBasicCompliances 1 }

esSysInfoGroup OBJECT-GROUP
	OBJECTS {
		sysSwPlatform,
		sysSwMajorVersion,
		sysSwMinorVersion,
		sysSwModel,
		sysSwPatchNumber,
		sysSwVersionString,
		sysSwDay,
		sysSwMonth,
		sysSwYear,
		sysProductFamily,
		sysProductModel,
		sysProductSerialNumber
	}
	STATUS		current
	DESCRIPTION
		""
	::= { esBasicGroups 1 }

esSysMgmtGroup OBJECT-GROUP
	OBJECTS {
		sysMgmtReboot,
		sysMgmtConfigSave,
		sysMgmtRestoreDefaultConfig,
		sysMgmtCPUUsage,
		sysMgmtMemUsage
	}
	STATUS		current
	DESCRIPTION
		""
	::= { esBasicGroups 2 }

END

