
NAS-MIB DEFINITIONS ::= BEGIN

   IMPORTS
      enterprises, Counter, TimeTicks
         FROM RFC1155-SMI
      Integer32, Counter32, IpAddress, Unsigned32, Counter64, OBJECT-TYPE
         FROM SNMPv2-SMI
      TRAP-TYPE
         FROM RFC-1215;

      -- From RFC-1213 (MIB-II)
      DisplayString ::= OCTET STRING

    storage     OBJECT IDENTIFIER ::= { enterprises 24681 }
    storageSystem        OBJECT IDENTIFIER ::= { storage 1 }

 -- Frame Relay Multiplexer MIB groups
 -- system Event
   systemEventMsg        OBJECT IDENTIFIER ::= { storageSystem 1 }

 -- system event
   eventInformMsg OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  current
      DESCRIPTION
         "Information event of NAS system."
     ::= { systemEventMsg 101 }

   eventWarningMsg OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  current
      DESCRIPTION
         "Warning event of NAS system."
      ::= { systemEventMsg 102 }

   eventErrorMsg OBJECT-TYPE
      SYNTAX  DisplayString
      ACCESS  read-only
      STATUS  current
      DESCRIPTION
         "Error event of NAS system."
      ::= { systemEventMsg 103 }

	systemTraps OBJECT IDENTIFIER ::= { storageSystem  10 }
	
	eventInform NOTIFICATION-TYPE 
		VARIABLES { eventInformMsg }
		DESCRIPTION
			"Info: %s"
		::=  { systemTraps 1 }

	eventWarning NOTIFICATION-TYPE  
		VARIABLES { eventWarningMsg }
		DESCRIPTION 
			"Warn: %s"
		::=  { systemTraps 2 }

	eventError NOTIFICATION-TYPE
		VARIABLES { eventErrorMsg }
		DESCRIPTION 
			"Error: %s"
		::=  { systemTraps 4 }

 -- system inform
	systemInfo        OBJECT IDENTIFIER ::= { storageSystem 2 }

	systemCPU-Usage OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System CPU usage"
		::= { systemInfo 1 }
	systemTotalMem OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System total memory"
		::= { systemInfo 2 }
	systemFreeMem OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System free memory"
		::= { systemInfo 3 }
	systemUptime OBJECT-TYPE
    	SYNTAX     TimeTicks
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
        	"The amount of time since this host was last
	        initialized.  Note that this is different from
    	    sysUpTime in the SNMPv2-MIB [RFC1907] because
        	sysUpTime is the uptime of the network management
	        portion of the system."
    	::= { systemInfo 4 }
	cpu-Temperature OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"CPU temperature"
		::= { systemInfo 5 }
	systemTemperature OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System temperature"
		::= { systemInfo 6 }

ifNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of network interfaces (regardless of
            their current state) present on this system."
    ::= { systemInfo 8 }
systemIfTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF IfEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of IfNumber."
    ::= { systemInfo 9 }
ifEntry OBJECT-TYPE
    SYNTAX  IfEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An interface entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { ifIndex }
    ::= { systemIfTable 1 }
IfEntryDef ::=
    SEQUENCE {
        ifIndex
            INTEGER,
        ifDescr
            DisplayString,
		ifPacketsReceived
            Counter,
		ifPacketsSent
            Counter,
		ifErrorPackets
            Counter
	}
ifIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each interface.  Its value
            ranges between 1 and the value of IfNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { ifEntry 1 }
ifDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { ifEntry 2 }
ifPacketsReceived OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System packets received."
    ::= { ifEntry 3 }
ifPacketsSent OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System packets sent."
    ::= { ifEntry 4 }
ifErrorPackets OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System error packets."
    ::= { ifEntry 5 }

hdNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of hard drive slots."
    ::= { systemInfo 10 }
systemHdTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF HdEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of HdNumber."
    ::= { systemInfo 11 }
hdEntry OBJECT-TYPE
    SYNTAX  HdEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An interface entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { hdIndex }
    ::= { systemHdTable 1 }
HdEntryDef ::=
    SEQUENCE {
        hdIndex
            INTEGER,
        hdDescr
            DisplayString,
        hdTemperature
            DisplayString,
        hdStatus
            INTEGER,
	hdModel DisplayString,
	hdCapacity DisplayString,
	hdSmartInfo DisplayString
	}
hdIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each hard disk.  Its value
            ranges between 1 and the value of IfNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { hdEntry 1 }
hdDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { hdEntry 2 }
hdTemperature OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "Hard disk temperature."
    ::= { hdEntry 3 }
hdStatus OBJECT-TYPE
    SYNTAX     INTEGER {
	ready(0),
	noDisk(-5),
	invalid(-6),
	rwError(-9),
	unknown(-4)
	}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "HDD status. 0:not availible, 1:availible."
    ::= { hdEntry 4 }
hdModel OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk model."
    ::= { hdEntry 5 }
hdCapacity OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk capacity."
    ::= { hdEntry 6 }
hdSmartInfo OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk SMART information."
    ::= { hdEntry 7 }

	modelName OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"Model name"
		::= { systemInfo 12 }
	hostName OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"Model name"
		::= { systemInfo 13 }

sysFanNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system fan (regardless of
            their current state) present on this system."
    ::= { systemInfo 14 }
systemFanTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SysFanEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of SysFanNumber."
    ::= { systemInfo 15 }
sysFanEntry OBJECT-TYPE
    SYNTAX  SysFanEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system fan entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { sysFanIndex }
    ::= { systemFanTable 1 }
SysFanEntryDef ::=
    SEQUENCE {
        sysFanIndex
            INTEGER,
        sysFanDescr
            DisplayString,
		sysFanSpeed
            DisplayString
	}
sysFanIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system fan. Its value
            ranges between 1 and the value of SysFanNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { sysFanEntry 1 }
sysFanDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { sysFanEntry 2 }
sysFanSpeed OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System fan speed."
    ::= { sysFanEntry 3 }

sysVolumeNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system volumes (regardless of
            their current state) present on this system."
    ::= { systemInfo 16 }
systemVolumeTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SysVolumeEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of volume entries.  The number of
            entries is given by the value of SysVolumeNumber."
    ::= { systemInfo 17 }
sysVolumeEntry OBJECT-TYPE
    SYNTAX  SysVolumeEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system volume entry"
    INDEX   { sysVolumeIndex }
    ::= { systemVolumeTable 1 }
SysVolumeEntryDef ::=
    SEQUENCE {
        sysVolumeIndex	INTEGER,
        sysVolumeDescr	DisplayString,
	sysVolumeFS	DisplayString,
	sysVolumeTotalSize	DisplayString,
	sysVolumeFreeSize	DisplayString,
	sysVolumeStatus	DisplayString
	}
sysVolumeIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system volume. Its value
            ranges between 1 and the value of SysVolumeNumber.  The
            value for each volume must remain constant at
            least from one re-initialization of the entity's
            volume system to the next re-initialization."
    ::= { sysVolumeEntry 1 }
sysVolumeDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"A textual string containing information about the volume."
    ::= { sysVolumeEntry 2 }
sysVolumeFS OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume file system."
    ::= { sysVolumeEntry 3 }
sysVolumeTotalSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume total size."
    ::= { sysVolumeEntry 4 }
sysVolumeFreeSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume free size."
    ::= { sysVolumeEntry 5 }
sysVolumeStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume status."
    ::= { sysVolumeEntry 6 }


    
 -- system inform Ex
	systemInfoEx        OBJECT IDENTIFIER ::= { storageSystem 3 }

	systemCPU-UsageEX OBJECT-TYPE
		SYNTAX Integer32
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"system CPU usage"
		::= { systemInfoEx 1 }
	systemTotalMemEX OBJECT-TYPE
		SYNTAX Counter64
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System total memory in byte"
		::= { systemInfoEx 2 }
	systemFreeMemEX OBJECT-TYPE
		SYNTAX Counter64
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System free memory in byte"
		::= { systemInfoEx 3 }
	systemUptimeEX OBJECT-TYPE
    	SYNTAX     TimeTicks
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
        	"The amount of time since this host was last
	        initialized.  Note that this is different from
    	    sysUpTime in the SNMPv2-MIB [RFC1907] because
        	sysUpTime is the uptime of the network management
	        portion of the system."
    	::= { systemInfoEx 4 }
	cpu-TemperatureEX OBJECT-TYPE
		SYNTAX Integer32
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"CPU temperature in centigrade"
		::= { systemInfoEx 5 }
	systemTemperatureEX OBJECT-TYPE
		SYNTAX Integer32
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"System temperature in centigrade"
		::= { systemInfoEx 6 }

ifNumberEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of network interfaces (regardless of
            their current state) present on this system."
    ::= { systemInfoEx 8 }
systemIfTableEx OBJECT-TYPE
    SYNTAX  SEQUENCE OF IfEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of IfNumber."
    ::= { systemInfoEx 9 }
ifEntryEx OBJECT-TYPE
    SYNTAX  IfEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An interface entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { ifIndexEX }
    ::= { systemIfTableEx 1 }
IfEntryExDef ::=
    SEQUENCE {
        ifIndexEX
            INTEGER,
        ifDescrEX
            DisplayString,
		ifPacketsReceivedEX
            Counter,
		ifPacketsSentEX
            Counter,
		ifErrorPacketsEX
            Counter
	}
ifIndexEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each interface.  Its value
            ranges between 1 and the value of IfNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { ifEntryEx 1 }
ifDescrEX OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { ifEntryEx 2 }
ifPacketsReceivedEX OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System packets received."
    ::= { ifEntryEx 3 }
ifPacketsSentEX OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System packets sent."
    ::= { ifEntryEx 4 }
ifErrorPacketsEX OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System error packets."
    ::= { ifEntryEx 5 }

hdNumberEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of hard drive slots."
    ::= { systemInfoEx 10 }
systemHdTableEX OBJECT-TYPE
    SYNTAX  SEQUENCE OF HdEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of HdNumber."
    ::= { systemInfoEx 11 }
hdEntryEx OBJECT-TYPE
    SYNTAX  HdEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An interface entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { hdIndex }
    ::= { systemHdTableEX 1 }
HdEntryExDef ::=
    SEQUENCE {
        hdIndexEX
            INTEGER,
        hdDescrEX
            DisplayString,
        hdTemperatureEX
            Integer32,
        hdStatusEX
            INTEGER,
	hdModelEX DisplayString,
	hdCapacityEX Counter64,
	hdSmartInfoEX DisplayString
	}
hdIndexEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each hard disk.  Its value
            ranges between 1 and the value of IfNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { hdEntryEx 1 }
hdDescrEX OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { hdEntryEx 2 }
hdTemperatureEX OBJECT-TYPE
    SYNTAX  Integer32
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "Hard disk temperature in centigrade."
    ::= { hdEntryEx 3 }
hdStatusEX OBJECT-TYPE
    SYNTAX     INTEGER {
	ready(0),
	noDisk(-5),
	invalid(-6),
	rwError(-9),
	unknown(-4)
	}
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "HDD status. 0:not availible, 1:availible."
    ::= { hdEntryEx 4 }
hdModelEX OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk model."
    ::= { hdEntryEx 5 }
hdCapacityEX OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk capacity in byte."
    ::= { hdEntryEx 6 }
hdSmartInfoEX OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk SMART information."
    ::= { hdEntryEx 7 }

	modelNameEX OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"Model name"
		::= { systemInfoEx 12 }
	hostNameEX OBJECT-TYPE
		SYNTAX DisplayString
    	MAX-ACCESS read-only
	    STATUS     current
    	DESCRIPTION
			"Model name"
		::= { systemInfoEx 13 }

sysFanNumberEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system fan (regardless of
            their current state) present on this system."
    ::= { systemInfoEx 14 }
systemFanTableEx OBJECT-TYPE
    SYNTAX  SEQUENCE OF SysFanEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of SysFanNumber."
    ::= { systemInfoEx 15 }
sysFanEntryEx OBJECT-TYPE
    SYNTAX  SysFanEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system fan entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { sysFanIndexEX }
    ::= { systemFanTableEx 1 }
SysFanEntryExDef ::=
    SEQUENCE {
        sysFanIndexEX
            INTEGER,
        sysFanDescrEX
            DisplayString,
		sysFanSpeedEX
            Integer32
	}
sysFanIndexEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system fan. Its value
            ranges between 1 and the value of SysFanNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { sysFanEntryEx 1 }
sysFanDescrEX OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { sysFanEntryEx 2 }
sysFanSpeedEX OBJECT-TYPE
    SYNTAX  Integer32
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System fan speed (RPM)."
    ::= { sysFanEntryEx 3 }

sysVolumeNumberEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system volumes (regardless of
            their current state) present on this system."
    ::= { systemInfoEx 16 }
systemVolumeTableEx OBJECT-TYPE
    SYNTAX  SEQUENCE OF SysVolumeEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of volume entries.  The number of
            entries is given by the value of SysVolumeNumber."
    ::= { systemInfoEx 17 }
sysVolumeEntryEx OBJECT-TYPE
    SYNTAX  SysVolumeEntryExDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system volume entry"
    INDEX   { sysVolumeIndexEX }
    ::= { systemVolumeTableEx 1 }
SysVolumeEntryExDef ::=
    SEQUENCE {
        sysVolumeIndexEX	INTEGER,
        sysVolumeDescrEX	DisplayString,
	sysVolumeFSEX	DisplayString,
	sysVolumeTotalSizeEX	Counter64,
	sysVolumeFreeSizeEX	Counter64,
	sysVolumeStatusEX	DisplayString
	}
sysVolumeIndexEX OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system volume. Its value
            ranges between 1 and the value of SysVolumeNumber.  The
            value for each volume must remain constant at
            least from one re-initialization of the entity's
            volume system to the next re-initialization."
    ::= { sysVolumeEntryEx 1 }
sysVolumeDescrEX OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"A textual string containing information about the volume."
    ::= { sysVolumeEntryEx 2 }
sysVolumeFSEX OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume file system."
    ::= { sysVolumeEntryEx 3 }
sysVolumeTotalSizeEX OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume total size in byte."
    ::= { sysVolumeEntryEx 4 }
sysVolumeFreeSizeEX OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume free size in byte."
    ::= { sysVolumeEntryEx 5 }
sysVolumeStatusEX OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"System Volume status."
    ::= { sysVolumeEntryEx 6 }

 -- storageSystemEx inform
	storageSystemEx        OBJECT IDENTIFIER ::= { storageSystem 4 }      
	systemSettings        OBJECT IDENTIFIER ::= { storageSystemEx 1 } 
	storageManager        OBJECT IDENTIFIER ::= { systemSettings 1 }
	systemStatus          OBJECT IDENTIFIER ::= { systemSettings 11 }    
	nasStorage        OBJECT IDENTIFIER ::= { storageManager 1 }     
	components        OBJECT IDENTIFIER ::= { nasStorage 1 }       
	enclosure         OBJECT IDENTIFIER ::= { components 1 } 
    systemFan         OBJECT IDENTIFIER ::= { components 2 } 
    systemPower       OBJECT IDENTIFIER ::= { components 3 }     
    cpu               OBJECT IDENTIFIER ::= { components 4 } 
	disk              OBJECT IDENTIFIER ::= { components 5 }
	msataDisk              OBJECT IDENTIFIER ::= { components 6 }
	
	storageSpace        OBJECT IDENTIFIER ::= { nasStorage 2 }
	raid        OBJECT IDENTIFIER ::= { storageSpace 1 }      
	pool        OBJECT IDENTIFIER ::= { storageSpace 2 }  
	volume        OBJECT IDENTIFIER ::= { storageSpace 3 }  

	cacheAcceleration   OBJECT IDENTIFIER ::= { nasStorage 3 }
    
	iSCSI        OBJECT IDENTIFIER ::= { storageManager 2 }   
	iSCSIStorage        OBJECT IDENTIFIER ::= { iSCSI 1 }   
	lun                 OBJECT IDENTIFIER ::= { iSCSIStorage 10 }
	target              OBJECT IDENTIFIER ::= { iSCSIStorage 11 }   
    
    resourceMonitor        OBJECT IDENTIFIER ::= { systemStatus 5 }
    diskPerformance        OBJECT IDENTIFIER ::= { resourceMonitor 6 }    

iSCSIService OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"iSCSI Service."
    ::= { iSCSIStorage 1 }  

iSCSIServicePort OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"iSCSI ServicePort."
    ::= { iSCSIStorage 2 }  
    
iSNSService OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"iSNS Service."
    ::= { iSCSIStorage 3 }  
    
iSNSIP OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"iSNS IP."
    ::= { iSCSIStorage 4 }   


    
-- LUNTable
lunNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of LUNs (regardless of
            their current state) present on this system."
    ::= { lun 1 }

lunTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF LUNTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of LUN entries. The number of
            entries is given by the value of LUNNumber."
    ::= { lun 2 }
lunTableEntry OBJECT-TYPE
    SYNTAX  LUNTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An LUN entry."
    INDEX   { lunIndex }
    ::= { lunTable 1 }
LUNTableEntryDef ::=
    SEQUENCE {
        lunIndex
            INTEGER,
        lunID
            INTEGER,
		lunCapacity
            Counter64,
        lunUsedPercent
            INTEGER,
        lunStatus
            DisplayString,
        lunName
            DisplayString,
        lunBackupStatus
            INTEGER,            
        lunIsMap
            INTEGER
	}  
lunIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUNIndex."
    ::= { lunTableEntry 1 }  
    
lunID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUNID."
    ::= { lunTableEntry 2 }  
  
lunCapacity OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUN capacity in byte."
    ::= { lunTableEntry 3 }    

lunUsedPercent OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUN used percent."
    ::= { lunTableEntry 4 }
    
lunStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUN status."
    ::= { lunTableEntry 5 }    

lunName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUN name."
    ::= { lunTableEntry 6 }  
 
 
lunBackupStatus OBJECT-TYPE
    SYNTAX  INTEGER{
                   none(0),       
                   backup(1),
                   restore(2),       
                   snapshot(3)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUN backup status."
    ::= { lunTableEntry 7 } 
    
lunIsMap OBJECT-TYPE
    SYNTAX  INTEGER{
                   unmapped(0),       
                   mapped(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"LUN is Mapped."
    ::= { lunTableEntry 8 }
    
    
-- targeTable
targetNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of Targets (regardless of
            their current state) present on this system."
    ::= { target 1 }
targeTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF TargeTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of Target entries.  The number of
            entries is given by the value of TargetNumber."
    ::= { target 2 }
targeTableEntry OBJECT-TYPE
    SYNTAX  TargeTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A target entry."
    INDEX   { targetIndex }
    ::= { targeTable 1 }
TargeTableEntryDef ::=
    SEQUENCE {
        targetIndex
            INTEGER,
        targetID
            INTEGER,
        targetName
            DisplayString,
		targetIQN
            DisplayString,
		targetStatus
            INTEGER
	}  

targetIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"TargetIndex."
    ::= { targeTableEntry 1 }  
    
targetID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"TargetID."
    ::= { targeTableEntry 2 }  

targetName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Target name."
    ::= { targeTableEntry 3 }  
    
targetIQN OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"TargetIQN."
    ::= { targeTableEntry 4 }    

targetStatus OBJECT-TYPE
    SYNTAX  INTEGER{
                   offline(-1),
                   ready(0),       
                   connected(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Target status."
    ::= { targeTableEntry 5 }     

-- volumeTable
volumeNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of volumes (regardless of
            their current state) present on this system."
    ::= { volume 1 }
volumeTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VolumeTableEntryDef
    ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "A list of volume entries.  The number of
            entries is given by the value of VolumeNumber."
    ::= { volume 2 }
volumeTableEntry OBJECT-TYPE
    SYNTAX  VolumeTableEntryDef
    ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "An volume entry."
    INDEX   { volumeIndex }
    ::= { volumeTable 1 }
VolumeTableEntryDef ::=
    SEQUENCE {
        volumeIndex
            INTEGER,
        volumeID
            INTEGER,
        volumeCapacity
            Counter64,  
        volumeFreeSize
            Counter64,
        volumeStatus
            DisplayString,
--        VolumeThreshold
--            INTEGER,
        volumeSSDCache
            INTEGER,  
        volumeThin
            INTEGER,
        volumeName
            DisplayString
	}   
volumeIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"VolumeIndex."
    ::= { volumeTableEntry 1 }    

volumeID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"VolumeID."
    ::= { volumeTableEntry 2 }   

volumeCapacity OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"Volume capacity in byte."
    ::= { volumeTableEntry 3 }      
    
volumeFreeSize OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"Volume freesize in byte."
    ::= { volumeTableEntry 4 }        
 
volumeStatus OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"Volume status"
    ::= { volumeTableEntry 5 }   

-- VolumeThreshold OBJECT-TYPE
--     SYNTAX  INTEGER
--     ACCESS  read-only
--     STATUS  current
--     DESCRIPTION	"Volume threshold."
--     ::= { PoolTableEntry 6 } 
    
volumeSSDCache OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"If volume enable SSDCache acceleration."
    ::= { volumeTableEntry 6 } 

volumeThin OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"If volume is thin type."
    ::= { volumeTableEntry 7 }   

volumeName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"Volume alias name."
    ::= { volumeTableEntry 8 }    
    
-- poolTable
poolNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of pools (regardless of
            their current state) present on this system."
    ::= { pool 1 }

poolTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF PoolTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of pool entries. The number of entries is given by the value of PoolNumber."
    ::= { pool 2 }
poolTableEntry OBJECT-TYPE
    SYNTAX  PoolTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An pool entry."
    INDEX   { poolIndex }
    ::= { poolTable 1 }
PoolTableEntryDef ::=
    SEQUENCE {
        poolIndex
            INTEGER,
        poolID
            INTEGER,
        poolCapacity
            Counter64,  
        poolFreeSize
            Counter64,
        poolStatus
--            INTEGER, 
--        PoolThreshold
--            INTEGER,
--        PoolAllocated
--            INTEGER,    
--        PoolRAIDList
--            INTEGER,  
--        PoolVolumeList
            INTEGER  
	} 
poolIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"PoolIndex."
    ::= { poolTableEntry 1 }      
    
poolID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"PoolID."
    ::= { poolTableEntry 2 }  

poolCapacity OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Pool capacity in byte."
    ::= { poolTableEntry 3 }      
  
poolFreeSize OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Pool freesize in byte."
    ::= { poolTableEntry 4 }       

poolStatus OBJECT-TYPE
    SYNTAX  INTEGER{
                   ready(0),       
                   warning(-1),
                   notReady(-2),
                   error(-3)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Pool status."
    ::= { poolTableEntry 5 }    
    
--PoolThreshold OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"PoolThreshold."
--    ::= { PoolTableEntry 6 }  
    
--PoolAllocated OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"PoolAllocated."
--    ::= { PoolTableEntry 7 }      

--PoolRAIDList OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"PoolRAIDList."
--    ::= { PoolTableEntry 8 }      
    
--PoolVolumeList OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"PoolVolumeList."
--    ::= { PoolTableEntry 9 }   
 
-- raidGroupTable
raidNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of RAIDs (regardless of
            their current state) present on this system."
    ::= { raid 1 }
    
raidGroupTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF RAIDGroupTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
             "A list of RAID entries. The number of 
             entries is given by the value of RAIDNumber." 
    ::= { raid 2 }
raidGroupTableEntry OBJECT-TYPE
    SYNTAX  RAIDGroupTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An RAID entry."
    INDEX   { raidIndex }
    ::= { raidGroupTable 1 }
RAIDGroupTableEntryDef ::=
    SEQUENCE {
        raidIndex
            INTEGER,    
        raidID
            INTEGER,
        raidCapacity
            Counter64,
        raidFreeSize
            Counter64,
        raidStatus
            DisplayString,
        raidBitmap
            INTEGER,
        raidLevel
            DisplayString
--        RAIDDiskList
--            INTEGER,
--        RAIDSpareList
--            INTEGER

	}  
raidIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAIDIndex."
    ::= { raidGroupTableEntry 1 }
    
raidID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAIDID."
    ::= { raidGroupTableEntry 2 }

raidCapacity OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAID capacity  in byte."
    ::= { raidGroupTableEntry 3 }
 
raidFreeSize OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAID freesize in byte."
    ::= { raidGroupTableEntry 4 }

raidStatus OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAID status."
    ::= { raidGroupTableEntry 5 }
    
raidBitmap OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAID bitmap."
    ::= { raidGroupTableEntry 6 }

raidLevel OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"RAID level."
    ::= { raidGroupTableEntry 7 }

--RAIDDiskList OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"RAIDDiskList."
--    ::= { RAIDGroupTableEntry 8 }
--
--RAIDSpareList OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"RAIDSpareList."
--    ::= { RAIDGroupTableEntry 9 }
 
--cacheAcceleration 
service OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "If service of cache is enabled."
    ::= { cacheAcceleration 1 } 
    
availablePercent OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "Available percent of cache."
    ::= { cacheAcceleration 2 } 

readHitRate OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "Read hit rate percent of cache."
    ::= { cacheAcceleration 3 } 
 
writeHitRate OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "Write hit rate percent of cache."
    ::= { cacheAcceleration 4 } 
 
status OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "Status of cache."
    ::= { cacheAcceleration 5 } 
 
-- diskTable
diskNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of disks (regardless of
            their current state) present on this system."
    ::= { disk 1 }
    
diskTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF DiskTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of disks.  The number of
            entries is given by the value of DiskNumber."
    ::= { disk 2 }
diskTableEntry OBJECT-TYPE
    SYNTAX  DiskTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A disk entry."
    INDEX   { diskIndex }
    ::= { diskTable 1 }
DiskTableEntryDef ::=
    SEQUENCE {
        diskIndex
            INTEGER,    
        diskID
            INTEGER,
        diskEnclosureID
            INTEGER,
        diskSummary
            DisplayString,
        diskSmartInfo
            INTEGER, 
        diskTemperture
            INTEGER, 
        diskGlobalSpare
            INTEGER,             
        diskModel
            DisplayString, 
        diskCapacity
            Counter64       
	} 
diskIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskIndex."
    ::= { diskTableEntry 1 } 
    
diskID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskID."
    ::= { diskTableEntry 2 } 
 
diskEnclosureID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"disk EnclosureID."
    ::= { diskTableEntry 3 }     

diskSummary OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskSummary. 'Good',''Warning','Abnormal'"
    ::= { diskTableEntry 4 } 
    
diskSmartInfo OBJECT-TYPE
    SYNTAX  INTEGER{
                   abnormal(2),
                   warning(1),
                   good(0),
                   error(-1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskSmartInfo."
    ::= { diskTableEntry 5 } 

diskTemperture OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskTemperture."
    ::= { diskTableEntry 6 } 
    
diskGlobalSpare OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskGlobalSpare."
    ::= { diskTableEntry 7 } 
    
diskModel OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskModel."
    ::= { diskTableEntry 8 }  
    
diskCapacity OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskCapacity."
    ::= { diskTableEntry 9 }    

-- msataDiskTable
msataDiskNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of msatadisks (regardless of
            their current state) present on this system."
    ::= { msataDisk 1 }
    
msataDiskTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF MsataDiskTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of msatadisks.  The number of
            entries is given by the value of msataDiskNumber."
    ::= { msataDisk 2 }
msataDiskTableEntry OBJECT-TYPE
    SYNTAX  MsataDiskTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A disk entry."
    INDEX   { msataDiskIndex }
    ::= { msataDiskTable 1 }
MsataDiskTableEntryDef ::=
    SEQUENCE {
        msataDiskIndex
            INTEGER,    
        msataDiskID
            INTEGER,
        msataDiskEnclosureID
            INTEGER,
        msataDiskSummary
            DisplayString,
        msataDiskSmartInfo
            INTEGER, 
        msataDiskTemperture
            INTEGER, 
        msataDiskGlobalSpare
            INTEGER,             
        msataDiskModel
            DisplayString, 
        msataDiskCapacity
            Counter64       
	} 
msataDiskIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskIndex."
    ::= { msataDiskTableEntry 1 } 
    
msataDiskID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskID."
    ::= { msataDiskTableEntry 2 } 
 
msataDiskEnclosureID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"disk EnclosureID."
    ::= { msataDiskTableEntry 3 }     

msataDiskSummary OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskSummary. 'Good',''Warning','Abnormal'"
    ::= { msataDiskTableEntry 4 } 
    
msataDiskSmartInfo OBJECT-TYPE
    SYNTAX  INTEGER{
                   abnormal(2),
                   warning(1),
                   good(0),
                   error(-1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskSmartInfo."
    ::= { msataDiskTableEntry 5 } 

msataDiskTemperture OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskTemperture."
    ::= { msataDiskTableEntry 6 } 
    
msataDiskGlobalSpare OBJECT-TYPE
    SYNTAX  INTEGER{
                   no(0),       
                   yes(1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskGlobalSpare."
    ::= { msataDiskTableEntry 7 } 
    
msataDiskModel OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskModel."
    ::= { msataDiskTableEntry 8 }  
    
msataDiskCapacity OBJECT-TYPE
    SYNTAX  Counter64
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskCapacity."
    ::= { msataDiskTableEntry 9 }     
 
-- enclosureTable

enclosurelNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of Enclosures (regardless of
            their current state) present on this system."
    ::= { enclosure 1 }
    
enclosureTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EnclosureTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of enclosures.  The number of
            entries is given by the value of EnclosureNumber."
    ::= { enclosure 2 }
enclosureTableEntry OBJECT-TYPE
    SYNTAX  EnclosureTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An enclosure entry."
    INDEX   { enclosureIndex }
    ::= { enclosureTable 1 }
EnclosureTableEntryDef ::=
    SEQUENCE {
        enclosureIndex
            INTEGER,
        enclosureID
            INTEGER,
        enclosureModel
            DisplayString,
        enclosureSerialNum
            DisplayString,
        enclosureSlot
            INTEGER,
        enclosureName
            DisplayString,
        enclosureSystemTemp
            INTEGER
--        EnclosureDiskList
--            INTEGER           
	}

enclosureIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"EnclosureIndex."
    ::= { enclosureTableEntry 1 }
    
enclosureID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"enclosureID."
    ::= { enclosureTableEntry 2 }
    
enclosureModel OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"EnclosureModel."
    ::= { enclosureTableEntry 3 }
    
enclosureSerialNum OBJECT-TYPE
    SYNTAX  DisplayString  (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"EnclosureSerialNum."
    ::= { enclosureTableEntry 4 }
    
enclosureSlot OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"EnclosureSlot."
    ::= { enclosureTableEntry 5 }
    
enclosureName OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Enclosure Name."
    ::= { enclosureTableEntry 6 }
    
enclosureSystemTemp OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Enclosure System temperature in centigrade."
    ::= { enclosureTableEntry 7 }   

--EnclosureDiskList OBJECT-TYPE
--    SYNTAX  INTEGER
--    ACCESS  read-only
--    STATUS  mandatory
--    DESCRIPTION	"EnclosureDiskList."
--    ::= { EnclosureTableEntry 8 } 

-- systemFan2Table
systemFanNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of systemfans (regardless of
            their current state) present on this system."
    ::= { systemFan 1 }
    
systemFan2Table OBJECT-TYPE
    SYNTAX  SEQUENCE OF SystemFanTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of systemfans.  The number of
            entries is given by the value of SystemFanNumber."
    ::= { systemFan 2 }
systemFan2TableEntry OBJECT-TYPE
    SYNTAX  SystemFanTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system fan entry."
    INDEX   { systemFanIndex }
    ::= { systemFan2Table 1 }
SystemFanTableEntryDef ::=
    SEQUENCE {
        systemFanIndex
            INTEGER,
        systemFanID
            INTEGER,
        systemFanEnclosureID
            INTEGER,            
        systemFanStatus
            INTEGER,
        systemFanSpeed
            INTEGER
	}

systemFanIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemFanIndex."
    ::= { systemFan2TableEntry 1 }
    
systemFanID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemFanID."
    ::= { systemFan2TableEntry 2 }    

systemFanEnclosureID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemFanEnclosureID."
    ::= { systemFan2TableEntry 3 }
    
systemFanStatus OBJECT-TYPE
    SYNTAX  INTEGER{
                   ok(0),       
                   fail(-1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Systemfan status."
    ::= { systemFan2TableEntry 4 }
    
systemFanSpeed OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Systemfan speed."
    ::= { systemFan2TableEntry 5 }
    

-- systemPowerTable
systemPowerNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of systemfans (regardless of
            their current state) present on this system."
    ::= { systemPower 1 }
    
systemPowerTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SystemPowerTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of systemfans.  The number of
            entries is given by the value of SystemPowerNumber."
    ::= { systemPower 2 }
systemPowerTableEntry OBJECT-TYPE
    SYNTAX  SystemPowerTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system fan entry."
    INDEX   { systemPowerIndex }
    ::= { systemPowerTable 1 }
SystemPowerTableEntryDef ::=
    SEQUENCE {
        systemPowerIndex
            INTEGER,
        systemPowerID
            INTEGER,
        systemPowerEnclosureID
            INTEGER,            
        systemPowerStatus
            INTEGER,
        systemPowerFanSpeed
            INTEGER,
        systemPowerTemp
            INTEGER            
	}

systemPowerIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemPowerIndex."
    ::= { systemPowerTableEntry 1 }
    
systemPowerID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemPowerID."
    ::= { systemPowerTableEntry 2 }    

systemPowerEnclosureID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemPowerEnclosureID."
    ::= { systemPowerTableEntry 3 }
    
systemPowerStatus OBJECT-TYPE
    SYNTAX  INTEGER{
                   ok(0),       
                   fail(-1)
                   }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Systemfan status."
    ::= { systemPowerTableEntry 4 }

systemPowerFanSpeed OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemPower speed."
    ::= { systemPowerTableEntry 5 }    

systemPowerTemp OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"SystemPower temperature in centigrade."
    ::= { systemPowerTableEntry 6 } 
    
-- cpuTable
cpuNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of CPUs (regardless of
            their current state) present on this system."
    ::= { cpu 1 }

cpuTemp OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION	"CPU temperature in centigrade."
    ::= { cpu 2 }
    
cpuTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF CPUTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of CPUs.  The number of
            entries is given by the value of CPUNumber."
    ::= { cpu 3 }
cpuTableEntry OBJECT-TYPE
    SYNTAX  CPUTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A CPU entry."
    INDEX   { cpuIndex }
    ::= { cpuTable 1 }
CPUTableEntryDef ::=
    SEQUENCE {
        cpuIndex
            INTEGER,
        cpuID
            INTEGER, 
        cpuUsage
            INTEGER
  
	}

cpuIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"CPUIndex."
    ::= { cpuTableEntry 1 }

cpuID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"CPUID."
    ::= { cpuTableEntry 2 }  
    
cpuUsage OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"CPUUsage."
    ::= { cpuTableEntry 3 }

    
-- diskPerformanceTable
diskPerformanceNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The number of Devices (regardless of
            their current state) for monitor perfrmance present on this system."
    ::= { diskPerformance 1 }
    
diskPerformanceTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF DiskPerformanceTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of VolumeNumber."
    ::= { diskPerformance 2 }
diskPerformanceTableEntry OBJECT-TYPE
    SYNTAX  DiskPerformanceTableEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system fan entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { diskPerformanceIndex }
    ::= { diskPerformanceTable 1 }
DiskPerformanceTableEntryDef ::=
    SEQUENCE {
        diskPerformanceIndex
            INTEGER,
         blvID
             INTEGER,
        iops
            INTEGER,
        latency
            INTEGER             
	}

diskPerformanceIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"DiskPerformanceIndex."
    ::= { diskPerformanceTableEntry 1 }
    
blvID OBJECT-TYPE
     SYNTAX  INTEGER
     ACCESS  read-only
     STATUS  mandatory
     DESCRIPTION	"BLVID."
     ::= { diskPerformanceTableEntry 2 }

iops OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"IOPS."
    ::= { diskPerformanceTableEntry 3 }
    
latency OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION	"Latency."
    ::= { diskPerformanceTableEntry 4 }


    es-storageSystem        OBJECT IDENTIFIER ::= { storage 2 }
 -- system Event
    es-SystemEventMsg        OBJECT IDENTIFIER ::= { es-storageSystem 1 }

es-SystemEventTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-EventInfoEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of system event entries."
    ::= { es-SystemEventMsg 101 }
es-EventInfoEntry OBJECT-TYPE
    SYNTAX  es-EventInfoEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An info event interface entry."
    INDEX   { es-EventInfoIndex }
    ::= { es-SystemEventTable 1 }
es-EventInfoEntryDef ::=
    SEQUENCE {
        es-EventInfoIndex
            INTEGER,
        es-EventInfoMessage
            DisplayString
    }
es-EventInfoIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each event."
    ::= { es-EventInfoEntry 1 }
es-EventInfoMessage OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the event."
    ::= { es-EventInfoEntry 2 }
es-EventWarnEntry OBJECT-TYPE
    SYNTAX  es-EventWarnEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An warning event interface entry."
    INDEX   { es-EventWarnIndex }
    ::= { es-SystemEventTable 1 }
es-EventWarnEntryDef ::=
    SEQUENCE {
        es-EventWarnIndex
            INTEGER,
        es-EventWarnMessage
            DisplayString
    }
es-EventWarnIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each event."
    ::= { es-EventWarnEntry 1 }
es-EventWarnMessage OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the event."
    ::= { es-EventWarnEntry 2 }
es-EventErrorEntry OBJECT-TYPE
    SYNTAX  es-EventErrorEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An error interface entry."
    INDEX   { es-EventErrorIndex }
    ::= { es-SystemEventTable 1 }
es-EventErrorEntryDef ::=
    SEQUENCE {
        es-EventErrorIndex
            INTEGER,
        es-EventErrorMessage
            DisplayString
    }
es-EventErrorIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each event."
    ::= { es-EventErrorEntry 1 }
es-EventErrorMessage OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the event."
    ::= { es-EventErrorEntry 2 }

 -- ES system inform
    es-SystemInfo        OBJECT IDENTIFIER ::= { es-storageSystem 2 }

es-SystemCPU-Usage OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "System CPU usage"
    ::= { es-SystemInfo 1 }
es-SystemTotalMem OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "System total memory"
    ::= { es-SystemInfo 2 }
es-SystemFreeMem OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "System free memory"
    ::= { es-SystemInfo 3 }
es-SystemUptime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The amount of time since this host was last
        initialized.  Note that this is different from
        sysUpTime in the SNMPv2-MIB [RFC1907] because
        sysUpTime is the uptime of the network management
        portion of the system."
    ::= { es-SystemInfo 4 }
es-CPU-Temperature OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "CPU temperature"
    ::= { es-SystemInfo 5 }
es-SystemTemperature1 OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "System temperature"
    ::= { es-SystemInfo 6 }
es-SystemTemperature2 OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "System temperature"
    ::= { es-SystemInfo 7 }

es-IfNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of network interfaces (regardless of
        their current state) present on this system."
    ::= { es-SystemInfo 8 }
es-SystemIfTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-IfEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of interface entries.  The number of
        entries is given by the value of ifNumber."
    ::= { es-SystemInfo 9 }
es-IfEntry OBJECT-TYPE
    SYNTAX  es-IfEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "An interface entry containing objects at the
        subnetwork layer and below for a particular
        interface."
    INDEX   { es-IfIndex }
    ::= { es-SystemIfTable 1 }
es-IfEntryDef ::=
    SEQUENCE {
        es-IfIndex
            INTEGER,
        es-IfDescr
            DisplayString,
        es-IfPacketsReceived
            Counter,
        es-IfPacketsSent
            Counter,
        es-IfErrorPackets
            Counter
    }
es-IfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each interface.  Its value
            ranges between 1 and the value of ifNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { es-IfEntry 1 }
es-IfDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { es-IfEntry 2 }
es-IfPacketsReceived OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System packets received."
    ::= { es-IfEntry 3 }
es-IfPacketsSent OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System packets sent."
    ::= { es-IfEntry 4 }
es-IfErrorPackets OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System error packets."
    ::= { es-IfEntry 5 }

es-HdNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of hard disk (regardless of
            their current state) present on this system."
    ::= { es-SystemInfo 10 }
es-SystemHdTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-HdEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of ifNumber."
    ::= { es-SystemInfo 11 }
es-HdEntry OBJECT-TYPE
    SYNTAX  es-HdEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An interface entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { es-HdIndex }
    ::= { es-SystemHdTable 1 }
es-HdEntryDef ::=
    SEQUENCE {
        es-HdIndex
            INTEGER,
        es-HdDescr
            DisplayString,
        es-HdTemperature
            DisplayString,
        es-HdStatus
            INTEGER,
    es-HdModel DisplayString,
    es-HdCapacity DisplayString,
    es-HdSmartInfo DisplayString
    }
es-HdIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each hard disk.  Its value
            ranges between 1 and the value of ifNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { es-HdEntry 1 }
es-HdDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { es-HdEntry 2 }
es-HdTemperature OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "Hard disk temperature."
    ::= { es-HdEntry 3 }
es-HdStatus OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "HDD status."
    ::= { es-HdEntry 4 }
es-HdModel OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk model."
    ::= { es-HdEntry 5 }
es-HdCapacity OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk capacity."
    ::= { es-HdEntry 6 }
es-HdSmartInfo OBJECT-TYPE
    SYNTAX  DisplayString
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "Hard disk SMART information."
    ::= { es-HdEntry 7 }

    es-ModelName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Model name"
        ::= { es-SystemInfo 12 }
    es-HostName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Model name"
        ::= { es-SystemInfo 13 }

es-SysFanNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system fan (regardless of
            their current state) present on this system."
    ::= { es-SystemInfo 14 }
es-SystemFanTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-SysFanEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of sysFanNumber."
    ::= { es-SystemInfo 15 }
es-SysFanEntry OBJECT-TYPE
    SYNTAX  es-SysFanEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system fan entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { es-SysFanIndex }
    ::= { es-SystemFanTable 1 }
es-SysFanEntryDef ::=
    SEQUENCE {
        es-SysFanIndex
            INTEGER,
        es-SysFanDescr
            DisplayString,
        es-SysFanSpeed
            DisplayString
    }
es-SysFanIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system fan. Its value
            ranges between 1 and the value of sysFanNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { es-SysFanEntry 1 }
es-SysFanDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A textual string containing information about the
            interface.  This string should include the name of
            the manufacturer, the product name and the version
            of the hardware interface."
    ::= { es-SysFanEntry 2 }
es-SysFanSpeed OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System fan speed."
    ::= { es-SysFanEntry 3 }

es-SysSharedFolderNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system SharedFolders (regardless of
            their current state) present on this system."
    ::= { es-SystemInfo 16 }
es-SystemSharedFolderTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-SysSharedFolderEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of SharedFolder entries.  The number of
            entries is given by the value of SysSharedFolderNumber."
    ::= { es-SystemInfo 17 }
es-SysSharedFolderEntry OBJECT-TYPE
    SYNTAX  es-SysSharedFolderEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system SharedFolder entry"
    INDEX   { es-SysSharedFolderIndex }
    ::= { es-SystemSharedFolderTable 1 }
es-SysSharedFolderEntryDef ::=
    SEQUENCE {
        es-SysSharedFolderIndex    INTEGER,
        es-SysSharedFolderDescr    DisplayString,
        es-SysSharedFolderTotalSize    DisplayString,
        es-SysSharedFolderFreeSize DisplayString,
        es-SysSharedFolderStatus   DisplayString
    }
es-SysSharedFolderIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system SharedFolder. Its value
            ranges between 1 and the value of SysSharedFolderNumber.  The
            value for each SharedFolder must remain constant at
            least from one re-initialization of the entity's
            SharedFolder system to the next re-initialization."
    ::= { es-SysSharedFolderEntry 1 }
es-SysSharedFolderDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "A textual string containing information about the SharedFolder."
    ::= { es-SysSharedFolderEntry 2 }
es-SysSharedFolderTotalSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System SharedFolder total size."
    ::= { es-SysSharedFolderEntry 3 }
es-SysSharedFolderFreeSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System SharedFolder free size."
    ::= { es-SysSharedFolderEntry 4 }
es-SysSharedFolderStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System SharedFolder status."
    ::= { es-SysSharedFolderEntry 5 }

es-SysLunNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system Luns (regardless of
            their current state) present on this system."
    ::= { es-SystemInfo 18 }
es-SystemLunTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-SysLunEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of Lun entries.  The number of
            entries is given by the value of SysLunNumber."
    ::= { es-SystemInfo 19 }
es-SysLunEntry OBJECT-TYPE
    SYNTAX  es-SysLunEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system lun entry"
    INDEX   { es-SysLunIndex }
    ::= { es-SystemLunTable 1 }
es-SysLunEntryDef ::=
    SEQUENCE {
        es-SysLunIndex  INTEGER,
        es-SysLunDescr  DisplayString,
        es-SysLunTotalSize  DisplayString,
        es-SysLunUsedSize   DisplayString,
        es-SysLunStatus DisplayString
    }
es-SysLunIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system Lun. Its value
            ranges between 1 and the value of SysLunNumber.  The
            value for each Lun must remain constant at
            least from one re-initialization of the entity's
            Lun system to the next re-initialization."
    ::= { es-SysLunEntry 1 }
es-SysLunDescr OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "A textual string containing information about the Lun."
    ::= { es-SysLunEntry 2 }
es-SysLunTotalSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System Lun total size."
    ::= { es-SysLunEntry 3 }
es-SysLunUsedSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System Lun used size."
    ::= { es-SysLunEntry 4 }
es-SysLunStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System Lun status."
    ::= { es-SysLunEntry 5 }

es-SysPowerNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system power (regardless of
            their current state) present on this system."
    ::= { es-SystemInfo 20 }
es-SystemPowerTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-SysPowerEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of interface entries.  The number of
            entries is given by the value of sysPowerNumber."
    ::= { es-SystemInfo 21 }
es-SysPowerEntry OBJECT-TYPE
    SYNTAX  es-SysPowerEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system power entry containing objects at the
            subnetwork layer and below for a particular
            interface."
    INDEX   { es-SysPowerIndex }
    ::= { es-SystemPowerTable 1 }
es-SysPowerEntryDef ::=
    SEQUENCE {
        es-SysPowerIndex
            INTEGER,
        es-SysPowerID
            INTEGER,
        es-SysEnclosureID
            INTEGER,
        es-SysPowerStatus
            DisplayString,
        es-SysPowerFanSpeed
            DisplayString,
        es-SysPowerTemp
            DisplayString
    }
es-SysPowerIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system power. Its value
            ranges between 1 and the value of sysPowerNumber.  The
            value for each interface must remain constant at
            least from one re-initialization of the entity's
            network management system to the next re-
            initialization."
    ::= { es-SysPowerEntry 1 }
es-SysPowerID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "Each power ID on enclosure."
    ::= { es-SysPowerEntry 2 }
es-SysEnclosureID OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each enclosure ID."
    ::= { es-SysPowerEntry 3 }
es-SysPowerStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System power status."
    ::= { es-SysPowerEntry 4 }
es-SysPowerFanSpeed OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System power fan speed."
    ::= { es-SysPowerEntry 5 }
es-SysPowerTemp OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "System power temperature."
    ::= { es-SysPowerEntry 6 }

es-SysPoolNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "The number of system Pools (regardless of
            their current state) present on this system."
    ::= { es-SystemInfo 22 }
es-SystemPoolTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF es-SysPoolEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "A list of Pool entries.  The number of
            entries is given by the value of SysPoolNumber."
    ::= { es-SystemInfo 23 }
es-SysPoolEntry OBJECT-TYPE
    SYNTAX  es-SysPoolEntryDef
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
            "An system pool entry"
    INDEX   { es-SysPoolIndex }
    ::= { es-SystemPoolTable 1 }
es-SysPoolEntryDef ::=
    SEQUENCE {
        es-SysPoolIndex  INTEGER,
        es-SysPoolID  DisplayString,
        es-SysPoolCapacity  DisplayString,
        es-SysPoolFreeSize   DisplayString,
        es-SysPoolStatus DisplayString
    }
es-SysPoolIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
            "A unique value for each system Pool. Its value
            ranges between 1 and the value of SysPoolNumber.  The
            value for each Pool must remain constant at
            least from one re-initialization of the entity's
            Pool system to the next re-initialization."
    ::= { es-SysPoolEntry 1 }
es-SysPoolID OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "A textual string containing Pool ID of the Pool."
    ::= { es-SysPoolEntry 2 }
es-SysPoolCapacity OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System Pool capacity."
    ::= { es-SysPoolEntry 3 }
es-SysPoolFreeSize OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..15))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System Pool free size."
    ::= { es-SysPoolEntry 4 }
es-SysPoolStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION "System Pool status."
    ::= { es-SysPoolEntry 5 }

    
END


