SUN-STOREDGE-3510-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, enterprises,
	Unsigned32, Integer32, Counter32, NOTIFICATION-TYPE
	FROM SNMPv2-SMI
    
	TEXTUAL-CONVENTION, DisplayString, TruthValue
	FROM SNMPv2-TC;

storEdge3510  MODULE-IDENTITY

	LAST-UPDATED "200511142300Z"
	ORGANIZATION "Dot Hill Systems Corp."
	CONTACT-INFO "
	Postal:  Dot Hill Systems Corp.
	         6305 El Camino Real
	         Carlsbad, CA 92009

	         Email: support@dothill.com

	         Phone: 760-931-5500
	         "
	DESCRIPTION  "StorEdge Entry Level SNMP MIB"

	REVISION    "200511142300Z"
	DESCRIPTION "Initial Revision FW 414B"

	::= { storEdgeEL 3510 }

sun					OBJECT IDENTIFIER ::= { enterprises 42 }
prod				OBJECT IDENTIFIER ::= { sun 2 }

-- StorEdge Entry Level Products.

storEdgeEL			OBJECT IDENTIFIER ::= { prod 180 }

-- snRAID3510		OBJECT IDENTIFIER ::= { storEdge3510 1 }

snRAID3510 OBJECT-IDENTITY
	STATUS			current
	DESCRIPTION		"It's a raid snmp agent"
	::= { storEdge3510 1 }

extInterface		OBJECT IDENTIFIER ::= { snRAID3510 1 }
snMgm				OBJECT IDENTIFIER ::= { snRAID3510 2 }


ctlrConfiguration   OBJECT IDENTIFIER ::= { extInterface 1 }
eventLog			OBJECT IDENTIFIER ::= { extInterface 11 }
sysInformation		OBJECT IDENTIFIER ::= { ctlrConfiguration 1 }
cachingParams		OBJECT IDENTIFIER ::= { ctlrConfiguration 2 }
diskArrayParams		OBJECT IDENTIFIER ::= { ctlrConfiguration 3 }
hostSideParams		OBJECT IDENTIFIER ::= { ctlrConfiguration 4 }
driveSideParams		OBJECT IDENTIFIER ::= { ctlrConfiguration 5 }
redundantParams		OBJECT IDENTIFIER ::= { ctlrConfiguration 6 }

snNpc      OBJECT IDENTIFIER ::= { snMgm 3 }
snSnmpTrap OBJECT IDENTIFIER ::= { snNpc 1 }

-- ************************************************************************
--							System Information
-- ************************************************************************
cpuType OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "CPU type on RAID controller"
    ::= { sysInformation 1 }

cacheSize OBJECT-TYPE
    SYNTAX       Integer32
    UNITS        "MB"
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Cache size on RAID controller, in MB"
    ::= { sysInformation 2 }

memoryType OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Cache memory type on RAID controller
				  0: FPG, 1: EDO, 2: SDRAM, 3: ECC SDRAM"
    ::= { sysInformation 3 }

fwMajorVersion OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Firmware major version"
    ::= { sysInformation 4 }

fwMinorVersion OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Firmware minor version"
    ::= { sysInformation 5 }

fwEngineerVersion OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Firmware engineer version"
    ::= { sysInformation 6 }

brMajorVersion OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Bootrecord major version"
    ::= { sysInformation 7 }

brMinorVersion OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Bootrecord minor version"
    ::= { sysInformation 8 }

brEngineerVersion OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Bootrecord engineer version"
    ::= { sysInformation 9 }

serialNum OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Serial number"
    ::= { sysInformation 10 }

ctlrName OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "Controller name"
    ::= { sysInformation 11 }

ctlrCfgModeFlags OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "Controller configuration mode flags
					BIT 0 : Write Back Status (RW)
							0: Disabled, 1: Enabled.
					BIT 1 : Motor Spin Up (RW)
							0: Disabled, 1: Enabled.
					BIT 2 : Power Up SCSI Reset (RW)
							0: Disabled, 1: Enabled.
					BIT 8 : Battery Backup Supported (RO)
							0: Not Supported, 1: Supported.
					BIT 9 : Battery Backup Present (RO)
							0: Absent, 1: Present.
					BIT 12 : ECC Function
							0: Disabled, 1: Enabled
					BIT 15 : JBOD Mode (RW) - This should be ignored if
							JBOD Mode Supported is not set.
							0: Disabled, 1: Enabled.
					BIT 16 : LUN Assignment by SCSI ID (RO)
							0: Not Supported, 1: Supported.
					BIT 17 : Support SCSI LUN > 0  (RO)
					BIT 18 : Spanning Logical Drive Support
							0: Not Supported, 1: Supported.
					BIT 19 : JBOD Mode Supported (RO)
							0: Not Supported, 1: Supported.
					BIT 20 -- BIT 32 : Reserved."
    ::= { sysInformation 12 }

privateLogoString OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Private logo string"
    ::= { sysInformation 13 }

privateLogoVendor OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Private logo vendor string"
    ::= { sysInformation 14 }

privateLogoModel OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Private logo model string"
    ::= { sysInformation 15 }

ctlrUniqueID OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "Controller unique identifier"
    ::= { sysInformation 16 }

-- ************************************************************************
--							Caching Parameters
-- ************************************************************************
cacheModeFlags OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Caching mode flags
					BIT 0 : Write Back Status (RW)
							0: Disabled, 1: Enabled.
					BIT 1 : Read Ahead Disable (RW)
							0: Enabled, 1: Disabled.
					BIT 2 : Enable/Disable keeping LD/LV
							off-line after controller initialization
							if cached write data was lost (RW)
							0: Disabled, 1: Enabled.
					BIT 3 -- BIT 7 : Reserved (Set to 0).
					BIT 8 : Cache Optimization Option (RW)
							0: Small/Random I/Os, 1: Large/Sequential I/Os
					BIT 9 -- BIT 15 : Reserved (Set to 0).
					BIT 16 -- BIT 18 : Periodic Cache Sync Period (RW)
							For interpretation of values, reference
							Periodic Cache Sync Period Value
							Cross-Reference List.
					BIT 19 -- BIT 21 : Cache Flush Initiation
							Threshold (RW)
							For interpretation of values, reference
							Cache Flush Initiation Threshold Valid
							Cross-Reference List.
					BIT 22 -- BIT 25 : Cache Flush Termination
							Threshold (RW)
							For interpretation of values, reference
							Cache Flush Termination Threshold Valid
							Cross-Reference List.
					BIT 26 -- BIT 31 : Reserved (Set to 0)."
    ::= { cachingParams 1 }

cacheBlkSizeIdx OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Cache block size index
					BIT 0 -- BIT 3 : Cache Block Size Index
					    Block Size (bytes) = 512 * 2 ** (Block Size Index)
					BIT 4 -- BIT 7 : Reserved (Set to 0)."
    ::= { cachingParams 2 }

cacheTotal OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Total number of cache blocks"
    ::= { cachingParams 3 }

cacheDirty OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Number of dirty cache blocks"
    ::= { cachingParams 4 }


-- ************************************************************************
--							Disk Array Parameters
-- ************************************************************************
maxRebPriorityIdx OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Maximum supported rebuild priority index
				  0: Low, 1: Normal, 2: Improved, 3: High"
    ::= { diskArrayParams 1 }

minRebPriorityIdx OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Minimum supported rebuild priority index
				  0: Low, 1: Normal, 2: Improved, 3: High"
    ::= { diskArrayParams 2 }

defRebPriorityIdx OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default rebuild priority index
				  0: Low, 1: Normal, 2: Improved, 3: High"
    ::= { diskArrayParams 3 }

curRebPriorityIdx OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current rebuild priority index
				  0: Low, 1: Normal, 2: Improved, 3: High"
    ::= { diskArrayParams 4 }

writeVerifyModeFlags OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Write-verify mode flags
					BIT 0 : Write-Verify on Normal Writes (RW)
							0: Disabled, 1: Enabled.
					BIT 1 : Write-Verify on Initialization Writes (RW)
							0: Disabled, 1: Enabled.
					BIT 2 : Write-Verify on Rebuild Writes (RW)
							0: Disabled, 1: Enabled.
					BIT 3 -- BIT 7 : Reserved (Set to 0)."
    ::= { diskArrayParams 5 }


-- ************************************************************************
--						Host-side Interface Parameters
-- ************************************************************************
maxQueuedIOCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Maximum supported host queued I/O count
				    == N (> 0) ==> Count = 2 ** ( N - 1 )."
    ::= { hostSideParams 1 }

minQueuedIOCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Minimum supported host queued I/O count
				    == N (> 0) ==> Count = 2 ** ( N - 1 )."
    ::= { hostSideParams 2 }

defQueuedIOCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default host queued I/O count
				    == N (> 0) ==> Count = 2 ** ( N - 1 )."
    ::= { hostSideParams 3 }

curQueuedIOCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current host queued I/O count
				    == 0 - Automatically Computed.
				    == N (> 0) ==> Count = 2 ** ( N - 1 )."
    ::= { hostSideParams 4 }

maxLunNum OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Maximum LUNs per host SCSI ID(SCSI-to-SCSI only)
				    == N ==> LUNs = 2 ** ( N - 1 )"
    ::= { hostSideParams 5 }

minLunNum OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Minimum LUNs per host SCSI ID(SCSI-to-SCSI only)
				    == N ==> LUNs = 2 ** ( N - 1 )"
    ::= { hostSideParams 6 }

defLunNum OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default LUNs per host SCSI ID(SCSI-to-SCSI only)
				    == N ==> LUNs = 2 ** ( N - 1 )"
    ::= { hostSideParams 7 }

curLunNum OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current LUNs per host SCSI ID(SCSI-to-SCSI only)
				    == N ==> LUNs = 2 ** ( N - 1 )"
    ::= { hostSideParams 8 }


-- ************************************************************************
--						Drive-side Interface Parameters
-- ************************************************************************
modeFlags OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "mode flags of drive-side interface parameters
					BIT 0 : Motor Spin Up (RW)
							0: Disabled, 1: Enabled.
					BIT 1 : Power Up SCSI Reset (RW)
							0: Disabled, 1: Enabled.
					BIT 2 -- BIT 15 : Reserved (Set to 0)
					BITS 16-17: Drive Failure Prediction (SMART) Mode:
								== 0 - Disabled.
								== 1 - Detect only.
								== 2 - Clone drive and keep drive cloned.
								== 3 - Clone drive and replace when cloning complete.
					BIT 18 : Auto Assign Global Spare Drive (RW)
							0: Disabled, 1: Enabled.
					BIT 19 -- BIT 31 : Reserved (Set to 0)"
    ::= { driveSideParams 1 }

maxAccessDelayTime OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Maximum time to delay prior to first disk access(in 5 seconds unit)
				    == N ==> Delay = N * 5 seconds."
    ::= { driveSideParams 2 }

minAccessDelayTime OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Minimum time to delay prior to first disk access(in 5 seconds unit)
				    == N ==> Delay = N * 5 seconds."
    ::= { driveSideParams 3 }

defAccessDelayTime OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default time to delay prior to first disk access(in 5 seconds unit)
				    == N ==> Delay = N * 5 seconds."
    ::= { driveSideParams 4 }

curAccessDelayTime OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current time to delay prior to first disk access(in 5 seconds unit)
				    == 0 ==> No Delay.
				    == N ==> Delay = N * 5 seconds."
    ::= { driveSideParams 5 }

maxTagCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Maximum drive-side SCSI tags per drive(Tags = 2**(N-1))"
    ::= { driveSideParams 6 }

minTagCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Minimum drive-side SCSI tags per drive(Tags = 2**(N-1))"
    ::= { driveSideParams 7 }

defTagCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default drive-side SCSI tags per drive(Tags = 2**(N-1))"
    ::= { driveSideParams 8 }

curTagCnt OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current  drive-side SCSI tags per drive(Tags = 2**(N-1), 0: Disabled)"
    ::= { driveSideParams 9 }

defIOTimeout OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default drive-side SCSI I/O timeout(in 10ms units)"
    ::= { driveSideParams 10 }

curIOTimeout OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current drive-side SCSI I/O timeout(in 10ms units)"
    ::= { driveSideParams 11 }

defDrvChkPeriod OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default drive-side SCSI drive check period(10ms units)"
    ::= { driveSideParams 12 }

curDrvChkPeriod OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current drive-side SCSI drive check period(10ms units)"
    ::= { driveSideParams 13 }

defSaftePollingPeriod OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default SAFTE polling period(10ms units)"
    ::= { driveSideParams 14 }

curSaftePollingPeriod OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current SAFTE polling period(10ms units)"
    ::= { driveSideParams 15 }

defAutoDetectPeriod OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Default auto-detect failed drive swaped check period(10ms units)"
    ::= { driveSideParams 16 }

curAutoDetectPeriod OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Current auto-detect failed drive swaped check period(10ms units)"
    ::= { driveSideParams 17 }

-- ************************************************************************
--						Redundant Controller Parameters
-- ************************************************************************
redCtlrCfg OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Redundant controller configuration
				  For Reading:
				    BITS 0 -- 1:
						== 0xff - RC Functionality Not Supported.
						== 0 - RC Functionality Disabled.
						== 1 - RC Functionality Enabled as Primary.
						== 2 - RC Functionality Enabled as Secondary.
						== 3 - RC Functionality Enabled in Autoconfigure Mode.
				    BITS 2 -- 6 : Reserved.
				    BIT 7 : State of Controller Location Signal Support:
							0: Not supported, 1: Supported.
				  For Writing:
					    == 0 - Disable Redundant Controller Functionality.
					    == 1 - Enable RC Functionality and set role to Primary.
					    == 2 - Enable RC Functionality and set role to Primary.
					    == 3 - Enable RC Functionality and automatically select role.
					    == 0x81 - Deassert Reset (WO).
					    == 0xc1 - Simulate Primary Controller Failure (WO).
					    == 0xc2 - Simulate Secondary Controller	Failure (WO).
					    == 0xc3 - Force secondary controller to	kill primary controller Failure (WO).
					    == 0xc4 - Force primary controller to kill secondary controller Failure (WO)."
    ::= { redundantParams 1 }

redCtlrModeFlags OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Redundant controller mode flags
					BIT 0 : Cache Synchronization (RW)
						      0 : Cache NOT Synchronized, 1 : Cache Synchronized
					BIT 1 : Host Channel Failover Mode (RW)
						      0 : Shared host bus, 1 : Independent host bus
					BIT 2 : Local/Remote Redundant Mode (RW)
						      0 : Local Redundant, 1 : Remote Redundant
					BITS 2-14 : Reserved.
					BIT 15 : Secondary RS-232 Port Status (RW)
						      0 : Port Disabled, 1 : Port Enabled"
    ::= { redundantParams 2 }

redCtlrCommType OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Redundant controller communication channel type
				    == 0 - RS-232
				    == 1 - SCSI/Fibre Channel"
    ::= { redundantParams 3 }

redCtlrStatus OBJECT-TYPE
    SYNTAX       Integer32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION  "Redundant controller status
					BIT 0 -- BIT 5 : Current Status
									== 0 - Inactive.
								    == 1 - Scanning.
								    == 0x11 - Detected.
								    == 0x12 - Enabled.
									== 0x3f - Controller Failed.
					BIT 6 : Original Controller Role (prior to first controller failure):
							0: Primary, 1: Secondary.
					BIT 7 : Current Controller Role
							0: Primary, 1: Secondary."
    ::= { redundantParams 4 }


-- ************************************************************************
--							Logical Drive Table
-- ************************************************************************
ldTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF LdEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical drive table"
	::= { extInterface 2 }

ldEntry OBJECT-TYPE
    SYNTAX	LdEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical drive entry"
    INDEX	{ ldIndex }
    ::= { ldTable  1 }

LdEntry ::= SEQUENCE {
    ldIndex			Unsigned32,
    ldID			OCTET STRING,
	ldSize			Integer32,
	ldBlkSizeIdx	Integer32,
	ldOpModes		Integer32,
	ldStatus		Integer32,
	ldState			Integer32,
	ldTotalDrvCnt	Integer32,
	ldOnlineDrvCnt	Integer32,
	ldSpareDrvCnt	Integer32,
	ldFailedDrvCnt	Integer32
}

ldIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical drive index"
    ::= { ldEntry 1 }

ldID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive identifier"
    ::= { ldEntry 2 }

ldSize OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive size, in Blocks"
    ::= { ldEntry 3 }

ldBlkSizeIdx OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Block Size = (Block Size Index) Power of 2"
    ::= { ldEntry 4 }

ldOpModes OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION "Logical drive operating modes
					BITS 0-3 : RAID Level (RO):
							  0 : Single Drive
							  1 : NON-RAID
							  2 : RAID 0
							  3 : RAID 1
							  4 : RAID 3
							  5 : RAID 4
							  6 : RAID 5
							  0xf: NOT DEFINED
					BITS 4-6 : Reserved (Set to 0).
					BIT 7 : Logical Drive Assignment (R/W):
							  If CLEAR, Logical Drive is assigned to Primary Controller.
							  If SET, Logical Drive is assigned to Secondary Controller."
    ::= { ldEntry 5 }

ldStatus OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive status
					BITS 0-2 : Status Code (RO):
							  0 : Good
							  1 : Rebuilding
							  2 : Initializing
							  3 : Degraded
							  4 : Dead
							  5 : Invalid
							  6 : Incomplete
							  7 : Drive Missing
					BITS 3-6 : Reserved.
					BITS 7 : Logical Drive Off-line (RW)."
    ::= { ldEntry 6 }

ldState OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive state
					BIT 0 : If SET, in process of rebuilding
							(degraded mode) or checking/updating
							Logical Drive Parity (LD is 'good').
					BIT 1 : If SET, in process of expanding Logical Drive.
					BIT 2 : If SET, in process of adding SCSI drives
							to Logical Drive.
					BIT 3-5: Reserved.
					BIT 6 : If SET, add SCSI drives operation is paused.
					BIT 7 : Reserved."
    ::= { ldEntry 7 }

ldTotalDrvCnt OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Total hard drive count on logical drive"
    ::= { ldEntry 8 }

ldOnlineDrvCnt OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "On-Line hard drvie count on logical drive"
    ::= { ldEntry 9 }

ldSpareDrvCnt OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Spare hard drive count on logical drive"
    ::= { ldEntry 10 }

ldFailedDrvCnt OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Failed hard drive count on logical drive"
    ::= { ldEntry 11 }

-- ************************************************************************
--							Logical Volume Table
-- ************************************************************************
lvTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF LvEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical volume table"
	::= { extInterface 3 }

lvEntry OBJECT-TYPE
    SYNTAX	LvEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical volume entry"
    INDEX	{ lvIndex }
    ::= { lvTable  1 }

LvEntry ::= SEQUENCE {
    lvIndex			Unsigned32,
    lvID			OCTET STRING,
	lvSize			Integer32,
	lvBlkSizeIdx	Integer32,
	lvOpModes		Integer32,
	lvLdCount		Integer32,
	lvLdList		OCTET STRING
}

lvIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical volume index"
    ::= { lvEntry 1 }

lvID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical volume identifier"
    ::= { lvEntry 2 }

lvSize OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical volume size, in Blocks"
    ::= { lvEntry 3 }

lvBlkSizeIdx OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Block Size = (Block Size Index) Power of 2"
    ::= { lvEntry 4 }

lvOpModes OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-write
    STATUS	current
    DESCRIPTION "Logical volume operating modes
					BITS 0-6 : Reserved (Set to 0).
					BIT 7 : Logical Volume Assignment (R/W):
				 		    If CLEAR, Logical Volume is assigned to Primary Controller.
							If SET, Logical Volume is assigned to Secondary Controller."
    ::= { lvEntry 5 }

lvLdCount OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive counts in this logical volume"
    ::= { lvEntry 6 }

lvLdList OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive identifiers list in this logical volume"
    ::= { lvEntry 7 }


-- ************************************************************************
--							Partition Table
-- ************************************************************************
partTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF PartEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Partition table"
	::= { extInterface 4 }

partEntry OBJECT-TYPE
    SYNTAX	PartEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Partition entry"
    INDEX	{ partIndex }
    ::= { partTable  1 }

PartEntry ::= SEQUENCE {
    partIndex		Unsigned32,
    partLdLvID		OCTET STRING,
	partOffset		Integer32,
	partSize		Integer32
}

partIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Partition index"
    ::= { partEntry 1 }

partLdLvID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive/Logical volume identifier"
    ::= { partEntry 2 }

partOffset OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Partition base offset"
    ::= { partEntry 3 }

partSize OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Partition size, in Blocks"
    ::= { partEntry 4 }


-- ************************************************************************
--							       LUN Table
-- ************************************************************************
lunTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF LunEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "LUN table"
	::= { extInterface 5 }

lunEntry OBJECT-TYPE
    SYNTAX	LunEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "LUN entry"
    INDEX	{ lunIndex }
    ::= { lunTable  1 }

LunEntry ::= SEQUENCE {
    lunIndex		Unsigned32,
    lunChl  		Integer32,
	lunID   		Integer32,
	lunNum  		Integer32,
	lunLdLvID		OCTET STRING,
	lunPartIdx		Integer32
}

lunIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "LUN index"
    ::= { lunEntry 1 }

lunChl OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical host channel number"
    ::= { lunEntry 2 }

lunID OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host-side SCSI ID"
    ::= { lunEntry 3 }

lunNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host-side SCSI LUN"
    ::= { lunEntry 4 }

lunLdLvID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive/Logical volume identifier"
    ::= { lunEntry 5 }

lunPartIdx OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Partition index of logical drive or logical volume"
    ::= { lunEntry 6 }

-- ************************************************************************
--							Hard Disk Drive Table
-- ************************************************************************
hddTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF HddEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Hard disk drive table"
	::= { extInterface 6 }

hddEntry OBJECT-TYPE
    SYNTAX	HddEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Hard disk drive entry"
    INDEX	{ hddIndex }
    ::= { hddTable  1 }

HddEntry ::= SEQUENCE {
    hddIndex		Unsigned32,
    hddLogChlNum	Integer32,
	hddPhyChlNum	Integer32,
	hddScsiId		Integer32,
	hddScsiLun		Integer32,
	hddLdId			OCTET STRING,
	hddSize     	Integer32,
	hddBlkSizeIdx	Integer32,
	hddSpeed    	Integer32,
	hddDataWidth	Integer32,
	hddStatus   	Integer32,
	hddState    	Integer32,
	hddSlotNum    	Integer32,
	hddResvSpace	Integer32,
	hddModelStr		OCTET STRING,
	hddFwRevStr		OCTET STRING,
	hddSerialNum	OCTET STRING
}

hddIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Hard disk drive index"
    ::= { hddEntry 1 }

hddLogChlNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical channel number to which hard disk drive is connected"
    ::= { hddEntry 2 }

hddPhyChlNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Physical channel number to which hard disk drive is connected"
    ::= { hddEntry 3 }

hddScsiId OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI ID of hard disk drive"
    ::= { hddEntry 4 }

hddScsiLun OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI Lun of hard disk drive"
    ::= { hddEntry 5 }

hddLdId OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive ID to which hard disk drive is belonged
				 0 : If Drive Status == Spare Drive, then drive is Global Spare.
   			         Otherwise, indicates drive does not currently belong to any logical drive."
    ::= { hddEntry 6 }

hddSize OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive size, in Blocks"
    ::= { hddEntry 7 }

hddBlkSizeIdx OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Block Size = (Block Size Index) Power of 2"
    ::= { hddEntry 8 }

hddSpeed OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive data transfer speed, in ns"
    ::= { hddEntry 9 }

hddDataWidth OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive data transfer width
				 0: Narrow 1: Wide"
    ::= { hddEntry 10 }

hddStatus OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive status
					0 : New Drive
					1 : On-Line Drive
					2 : Used Drive
					3 : Spare Drive
					4 : Drive Initialization in Progress
					5 : Drive Rebuild in Progress
					6 : Add Drive to Logical Drive in Progress
					9 : Global Spare Drive
					0x11 : Drive is in process of Cloning another Drive
					0x12 : Drive is a valid Clone of another Drive
					0x13 : Drive is in process of Copying from another Drive
							(for Copy/Replace LD Expansion function)
					0x3f : Drive Absent
					0x8x: SCSI Device (Type x)
					0xfc : Missing Global Spare Drive
					0xfd : Missing Spare Drive
					0xfe : Missing Drive
					0xff : Failed Drive"
    ::= { hddEntry 11 }

hddState OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive state
				  BITS 0 -- 6: Reserved.
				  BIT 7: Drive off-line (RW)."
    ::= { hddEntry 12 }

hddSlotNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive slot number, 0: N/A"
    ::= { hddEntry 13 }

hddResvSpace OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive reserved space
					Drive Reserved Space Size (64KB units). When set,
				    the index into the 'Valid Value List' should
				    be passed in rather than the size itself.
				    This will trigger a format or unformat
				    operation (depending on the direction of the
				    change) is performed on the drive reserved
				    space. Note that it is an error to try and
				    change a the size of the reserved space
				    without unformatting first or to try and
				    unformat a drive that has been configured as
				    a LD member or as a spare/clone."
	::= { hddEntry 14 }

hddModelStr OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive model string"
    ::= { hddEntry 15 }

hddFwRevStr OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive firmware revision string"
    ::= { hddEntry 16 }

hddSerialNum OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Hard disk drive serial number"
    ::= { hddEntry 17 }


-- ************************************************************************
--							SCSI/Fibre Channel Table
-- ************************************************************************
chlTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF ChlEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "SCSI/Fibre channel table"
	::= { extInterface 7 }

chlEntry OBJECT-TYPE
    SYNTAX	ChlEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "SCSI/Fibre channel entry"
    INDEX	{ chlIndex }
    ::= { chlTable  1 }

ChlEntry ::= SEQUENCE {
    chlIndex		Unsigned32,
    chlLogChlNum	Integer32,
	chlPhyChlNum	Integer32,
    chlType  		Integer32,
	chlChipType		Integer32,
	chlMaxSupId		Integer32,
	chlMaxSupLun   	Integer32,
	chlMode     	Integer32,
	chlScsiIdBitmap Integer32,
	chlFibreIdBase	Integer32,
	chlHostIdBitmap Integer32,
	chlDrvPid       Integer32,
	chlDrvSid       Integer32,
	chlMaxTxPeriod 	Integer32,
	chlMinTxPeriod 	Integer32,
	chlDefTxPeriod 	Integer32,
	chlCurTxPeriod 	Integer32,
	chlMaxTxWidth   Integer32,
	chlMinTxWidth   Integer32,
	chlDefTxWidth   Integer32,
	chlCurTxWidth   Integer32,
	chlMaxTagCnt	Integer32,
	chlDefTagCnt	Integer32
}

chlIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "SCSI/Fibre channel index"
    ::= { chlEntry 1 }

chlLogChlNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical channel number"
    ::= { chlEntry 2 }

chlPhyChlNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Physical channel number"
    ::= { chlEntry 3 }

chlType OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Channel type
				  0 : SCSI
				  1 : PCI
				  2 : FIBRE
				  3 : Parallel-IDE
					4 : SATA
				  0x11 : Network-IO - LAN
				  0x40 : Fixed Redundant Communication Channel
				  Others : not defined"
    ::= { chlEntry 4 }

chlChipType OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Channel interface chip type"
    ::= { chlEntry 5 }

chlMaxSupId OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Max supported SCSI id"
    ::= { chlEntry 6 }

chlMaxSupLun OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Max supported SCSI lun per id"
    ::= { chlEntry 7 }

chlMode OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Channel mode flags
					BIT 0 : Channel Mode (RW)
							0: Drive Mode, 1: Host Mode (or dedicated RCC).
					BIT 1 : Channel SCSI Termination (SCSI Only) (RW)
							0: Disabled, 1: Enabled.
					BIT 2 : SCSI Parity (SCSI Only) (RW)
							0: Disabled, 1: Enabled.
					BIT 3 : Support LUN > 0 (RW)
							0: Disabled, 1: Enabled.
					BIT 8 : Supports Redundant Channel Communication (RO)
							0: Does NOT support, 1: Does support.
					BIT 9 : Redundant Controller Communication Enable (RW)
						    Note that if RCC is enabled on host-mode
						    channels, then the channel is a dedicated
						    RCC channel. If it is enabled on drive-mode
						    channels, then RCC transactions are multiplexed
						    with standard drive-side IOs on the channel.
							0: Disabled, 1: Enabled.
					BIT 12 : 'Shelf' Status Input (SCSI Only) (RW)
							0: Disabled, 1: Enabled.
					BIT 13 : 'Swap' Status Input (SCSI Only) (RW)
							0: Disabled, 1: Enabled.
					BIT 14 : 'Drive Failure' Status Output (SCSI Only) (RW)
							0: Disabled, 1: Enabled.
					BIT 15 : Reserved."
    ::= { chlEntry 8 }

chlScsiIdBitmap OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI host/drive channel id bitmap
					BITS 0-15 : Primary Controller SCSI ID Bitmap
					BITS 16-31 : Secondary Controller SCSI ID Bitmap"
    ::= { chlEntry 9 }

chlFibreIdBase OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Fibre host channel id base in units of 0x10.
				 Note that this is ignored for SCSI channels"
    ::= { chlEntry 10 }

chlHostIdBitmap OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI/Fibre host channel id bitmap
					BITS 0-15 : Primary Controller SCSI ID Bitmap
					BITS 16-31 : Secondary Controller SCSI ID Bitmap"
    ::= { chlEntry 11 }

chlDrvPid OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Primary controller SCSI/Fibre drive channel id
				  Note: For Fibre Drive Channels, if == 0x7f
						then ID will be negotiated."
    ::= { chlEntry 12 }

chlDrvSid OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Secondary controller SCSI/Fibre drive channel id
				  Note: For Fibre Drive Channels, if == 0x7f
						then ID will be negotiated. If == 0xff,
						then Fibre loop not initialized."
    ::= { chlEntry 13 }

chlMaxTxPeriod OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Maximum synchronized transfer period
				  (SCSI: 4 ns units, 0 : Async; Fibre: 1/32 ns units)"
    ::= { chlEntry 14 }

chlMinTxPeriod OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Minimum synchronized transfer period
				  (SCSI: 4 ns units, 0 : Async; Fibre: 1/32 ns units)"
    ::= { chlEntry 15 }

chlDefTxPeriod OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Default synchronized transfer period
				  (SCSI: 4 ns units, 0 : Async; Fibre: 1/32 ns units, 0 - Auto-negotiate)"
    ::= { chlEntry 16 }

chlCurTxPeriod OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Current synchronized transfer period
				  (SCSI: 4 ns units, 0 : Async; Fibre: 1/32 ns units)"
    ::= { chlEntry 17 }

chlMaxTxWidth OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Maximum synchronized transfer width index(SCSI only)
				(Index - 0:Narrow, 1:Wide)"
    ::= { chlEntry 18 }

chlMinTxWidth OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Minimum synchronized transfer width index(SCSI only)
				(Index - 0:Narrow, 1:Wide)"
    ::= { chlEntry 19 }

chlDefTxWidth OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Default synchronized transfer width index(SCSI only)
				(Index - 0:Narrow, 1:Wide)"
    ::= { chlEntry 20 }

chlCurTxWidth OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Current synchronized transfer width index(SCSI only)
				(Index - 0:Narrow, 1:Wide)"
    ::= { chlEntry 21 }

chlMaxTagCnt OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Maximum tag count"
    ::= { chlEntry 22 }

chlDefTagCnt OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Default tag count"
    ::= { chlEntry 23 }


-- ************************************************************************
--							Logical Unit Table
-- ************************************************************************
luTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF LuEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical unit table"
	::= { extInterface 8 }

luEntry OBJECT-TYPE
    SYNTAX	LuEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical unit entry"
    INDEX	{ luIndex }
    ::= { luTable  1 }

LuEntry ::= SEQUENCE {
    luIndex			Unsigned32,
	luDescriptor    Integer32,
    luClassCode  	Integer32,
	luTypeCode		Integer32,
    luVendorID		OCTET STRING,
	luIDString		OCTET STRING,
	luHWRev         OCTET STRING,
	luSWRev			OCTET STRING,
	luChlNum		Integer32,
	luIDNum 		Integer32
}

luIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical unit index"
    ::= { luEntry 1 }

luDescriptor OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit descriptor"
    ::= { luEntry 2 }

luClassCode OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit class code
				 1 - Enclosure Unit: Manages Power supplies, fans, temperature, UPS', and
				  	 drive slot states.
                 2 - 0xfff: Reserved.
				 0x1000 - 0xffff: Vendor specific."
    ::= { luEntry 3 }

luTypeCode OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit type code
					1 - SAF-TE Management Device.
					2 - Controller Peripheral Device.
					3 - Customable I2C Peripheral Device.
					4 - SES Management Device.
					5 - 0xfff: Reserved.
					0x1000 - 0xffff: Vendor specific."
    ::= { luEntry 4 }

luVendorID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit vendor ID string"
    ::= { luEntry 5 }

luIDString OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit ID string"
    ::= { luEntry 6 }

luHWRev OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit hardware revision string"
    ::= { luEntry 7 }

luSWRev OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit software revision string"
    ::= { luEntry 8 }

luChlNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Channel number to which logical unit is connected"
    ::= { luEntry 9 }

luIDNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "ID number for logical unit"
    ::= { luEntry 10 }


-- ************************************************************************
--							Logical Unit Device Table
-- ************************************************************************
luDevTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF LuDevEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical unit device table"
	::= { extInterface 9 }

luDevEntry OBJECT-TYPE
    SYNTAX	LuDevEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical unit device entry"
	INDEX	{ lguDevTabIdx }
    ::= { luDevTable  1 }

LuDevEntry ::= SEQUENCE {
    lguDevTabIdx			Unsigned32,
	lguDescriptor		Integer32,
	lguClassCode			Integer32,
	lguTypeCode			Integer32,
	luDevDescriptor		Integer32,
	luDevTypeCode		Integer32,
	luDevIndex			Integer32,
    luDevDescription	OCTET STRING,
	luDevValue			Integer32,
	luDevValueUnit		Integer32,
	luDevChlNum			Integer32,
	luDevIDNum			Integer32,
	luDevStatus			Integer32
}

lguDevTabIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical unit device table index"
    ::= { luDevEntry 1 }

lguDescriptor OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit descriptor"
    ::= { luDevEntry 2 }

lguClassCode OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit class code
				 1 - Enclosure Unit: Manages Power supplies, fans, temperature, UPS', and
				  	 drive slot states.
                 2 - 0xfff: Reserved.
				 0x1000 - 0xffff: Vendor specific."
    ::= { luDevEntry 3 }

lguTypeCode OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit type code
					1 - SAF-TE Management Device.
					2 - Controller Peripheral Device.
					3 - Customable I2C Peripheral Device.
					4 - SES Management Device.
					5 - 0xfff: Reserved.
					0x1000 - 0xffff: Vendor specific."
    ::= { luDevEntry 4 }

luDevDescriptor OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device descriptor"
    ::= { luDevEntry 5 }

luDevTypeCode OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device type code
					Enclosure Unit Device Types:
						1 - Power supply.
						2 - Fan.
						3 - Temperature sensor.
						4 - UPS.
						5 - Voltage sensors.
						6 - Current sensors.
						8 - Temperature Out-of-Range Flags.
						9 - Door.
						0xa - Speaker.
						0xb - Battery-backup battery.
						0x11 - Slot states."
    ::= { luDevEntry 6 }

luDevIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device index
				Can be used to identify device position.
  			    If == 0, Index Not Available. For SAF-TE Logical
   			    Units, this index corresponds to one greater than
			    the index of the device as presented in the
			    'Read Enclosure Status' data."
    ::= { luDevEntry 7 }

luDevDescription OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device description string"
    ::= { luDevEntry 8 }

luDevValue OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device value"
    ::= { luDevEntry 9 }

luDevValueUnit OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device value unit
				 Fan: in RPM
				 Voltage Sensor: in Millivolt
				 Current Sensor: in Milliamps
				 Temperature Sensor: in 1/1000 Degreeds C(Absolut value)"
    ::= { luDevEntry 10 }

luDevChlNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device(device slot) channel number"
    ::= { luDevEntry 11 }

luDevIDNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device(device slot) id number"
    ::= { luDevEntry 12 }

luDevStatus OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device status flags
				Power Supply:
					BIT 0 - CLEAR:	Power supply functioning normally.
							SET:	Power supply malfunctioning.
					BITS 1-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	Power supply is ON.
							SET:	Power supply is OFF.
					BIT 7 - CLEAR:	Power supply IS present.
							SET:	Power supply is NOT present.
					== 0xff - Status unknown.
				Fan:
					BIT 0 - CLEAR:	Fan functioning normally.
							SET:	Fan malfunctioning.
					BITS 1-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	Fan is ON.
							SET:	Fan is OFF.
					BIT 7 - CLEAR:	Fan IS present.
							SET:	Fan is NOT present.
					== 0xff - Status unknown.
				Temperature Sensor:
					BIT 0 - CLEAR:	Temp. sensor functioning normally.
							SET:	Temp. sensor malfunctioning.
					BIT 1 - 3: If == 0, Temp. within safe range.
							   If == 2, Cold Temp. Warning.
							   If == 3, Hot Temp. Warning.
							   If == 4, Cold Temp. Limit Exceeded.
							   If == 5, Hot Temp. Limit Exceeded.
					BIT 6 - CLEAR:	Temp. Sensor is Activated.
							SET:	Temp. Sensor is NOT Activated.
					BIT 7 - CLEAR:	Temperature sensor IS present.
							SET:	Temperature sensor is NOT present.
					== 0xff - Status unknown.
				UPS:
					BIT 0 - CLEAR:	Unit functioning normally.
							SET:	Unit malfunctioning.
					BIT 1 - CLEAR:	AC Power present.
							SET:	AC Power NOT present.
					BIT 2 - 3: If == 0, battery fully charged.
							   If == 1, battery not fully charged.
							   If == 2, battery charge critically low.
							   If == 3, battery completely drained.
					BITS 4-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	UPS is ON.
							SET:	UPS is OFF.
					BIT 7 - CLEAR:	UPS IS present.
							SET:	UPS is NOT present.
					== 0xff - Status unknown.
				Battery:
					BIT 0 - CLEAR:	Battery functioning normally.
							SET:	Battery malfunctioning.
					BIT 1 - CLEAR:	Battery charging OFF (or trickle).
							SET:	Battery charging ON.
					BIT 2 - 3: If == 0, battery fully charged.
							   If == 1, battery not fully charged.
							   If == 2, battery charge critically low.
							   If == 3, battery completely drained.
					BITS 4-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	Battery-backup is enabled.
							SET:	Battery-backup is disabled.
					BIT 7 - CLEAR:	Battery IS present.
							SET:	Battery is NOT present.
					== 0xff - Status unknown.
				Voltage Sensor:
					BIT 0 - CLEAR:	Voltage sensor functioning normally.
							SET:	Voltage sensor malfunctioning.
					BIT 1 - 3: Current Voltage Sensor State:
							   If == 0, Voltage within acceptable range.
							   If == 2, Low Voltage Warning.
							   If == 3, High Voltage Warning.
							   If == 4, Low Voltage Limit Exceeded.
							   If == 5, High Voltage Limit Exceeded.
					BIT 4 - 5: Reserved.
					BIT 6 - CLEAR:	Voltage Sensor is Activated.
							SET:	Voltage Sensor is NOT Activated.
					BIT 7 - CLEAR:	Voltage sensor IS present.
							SET:	Voltage sensor is NOT present.
					== 0xff - Voltage Sensor Status unknown.
				Current Sensor:
					BIT 0 - CLEAR:	Current sensor functioning normally.
							SET:	Current sensor malfunctioning.
					BIT 1 - 3: Current Current Sensor State:
								If == 0, Current within acceptable range.
								If == 3, Over Current Warning.
								If == 5, Over Current Limit Exceeded.
					BIT 4 - 5: Reserved.
					BIT 6 - CLEAR:	Current Sensor is Activated.
							SET:	Current Sensor is NOT Activated.
					BIT 7 - CLEAR:	Current sensor IS present.
							SET:	Current sensor is NOT present.
					== 0xff - Current Sensor Status unknown.
				Door:
					BIT 0 - CLEAR:	Door OK.
							SET:	Door, door lock, or door sensor	malfunctioning.
					BIT 1 - CLEAR:	Door is shut.
							SET:	Door is open.
					BITS 2-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	Door lock engaged.
							SET:	Door lock NOT engaged.
					BIT 7 - CLEAR:	Door IS present.
							SET:	Door is NOT present.
					== 0xff - Status unknown.
				Speaker:
					BIT 0 - CLEAR:	Speaker functioning normally.
							SET:	Speaker malfunctioning.
					BITS 1-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	Speaker is ON.
							SET:	Speaker is OFF.
					BIT 7 - CLEAR:	Speaker IS present.
							SET:	Speaker is NOT present.
					== 0xff - Status unknown.
				Slot:
					BIT 0 - CLEAR:	Slot sense circuitry functioning normally.
							SET:	Slot sense circuitry malfunctioning.
					BIT 1 - CLEAR:	Device in slot has not been marked
									'needing replacement' or a replacement
									drive has been inserted.
							SET:	Device in slot has been marked BAD
									and is awaiting replacement.
					BIT 2 - CLEAR:	Slot is activated so that drive can	be accessed.
							SET:	Slot NOT activated.
					BITS 3-5 - Reserved (Set to 0).
					BIT 6 - CLEAR:	Slot is NOT ready for insertion/removal.
							SET:	Slot is ready for insertion/removal.
					BIT 7 - CLEAR:	Device inserted in slot.
							SET:	Slot is empty.
					== 0xff - Status unknown."
    ::= { luDevEntry 13 }


-- ************************************************************************
--							Extended LUN Table
-- ************************************************************************
extLunTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF ExtLunEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Extended LUN table"
	::= { extInterface 10 }

extLunEntry OBJECT-TYPE
    SYNTAX	ExtLunEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Extended LUN entry"
    INDEX	{ extLunIndex }
    ::= { extLunTable  1 }

ExtLunEntry ::= SEQUENCE {
    extLunIndex		  Unsigned32,
	extLunGroupName   OCTET STRING,
	extLunHostIDWWN	  OCTET STRING,
	extLunHostIDMask  OCTET STRING,
	extLunFilterType  OCTET STRING,
	extLunAccessMode  OCTET STRING,
    extLunChl  		  Integer32,
	extLunID   		  Integer32,
	extLunNum  		  Integer32,
	extLunLdLvID	  OCTET STRING,
	extLunPartIdx	  Integer32
}

extLunIndex OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Extended LUN index"
    ::= { extLunEntry 1 }

extLunGroupName OBJECT-TYPE
    SYNTAX	OCTET STRING 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Name of this extended LUN definition"
    ::= { extLunEntry 2 }

extLunHostIDWWN OBJECT-TYPE
    SYNTAX	OCTET STRING 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host-ID/WWN of this exteded LUN definition"
    ::= { extLunEntry 3 }

extLunHostIDMask OBJECT-TYPE
    SYNTAX	OCTET STRING 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host-ID/WWN mask of this extended LUN definition"
    ::= { extLunEntry 4 }

extLunFilterType OBJECT-TYPE
    SYNTAX	OCTET STRING 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Filtering type of this extended LUN definition"
    ::= { extLunEntry 5 }

extLunAccessMode OBJECT-TYPE
    SYNTAX	OCTET STRING 
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Access mode of this extended LUN definition"
    ::= { extLunEntry 6 }

extLunChl OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical host channel number"
    ::= { extLunEntry 7 }

extLunID OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host-side SCSI ID"
    ::= { extLunEntry 8 }

extLunNum OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host-side SCSI LUN"
    ::= { extLunEntry 9 }

extLunLdLvID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive/Logical volume identifier"
    ::= { extLunEntry 10 }

extLunPartIdx OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Partition index of logical drive or logical volume"
    ::= { extLunEntry 11 }

-- ************************************************************************
--							  All Event Table
-- ************************************************************************
allEvtTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF AllEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "All event table"
	::= { eventLog 1 }

allEvtEntry OBJECT-TYPE
    SYNTAX	AllEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "All event entry"
    INDEX	{ evtTableIdx }
    ::= { allEvtTable  1 }

AllEvtEntry ::= SEQUENCE {
    evtTableIdx 		Unsigned32,
    evtSource			OCTET STRING,
    evtSeverity			OCTET STRING,
    evtIndex			Integer32,
    evtType				OCTET STRING,
    evtCode				OCTET STRING,
    evtTime				OCTET STRING
}

evtTableIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Event table index"
    ::= { allEvtEntry 1 }

evtSource OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event source"
    ::= { allEvtEntry 2 }

evtSeverity OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event severity"
    ::= { allEvtEntry 3 }

evtIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event index"
    ::= { allEvtEntry 4 }

evtType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event type"
    ::= { allEvtEntry 5 }

evtCode OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event code"
    ::= { allEvtEntry 6 }

evtTime OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event time"
    ::= { allEvtEntry 7 }

-- ************************************************************************
--						Controller Event Table
-- ************************************************************************
ctlrEvtTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF CtlrEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Controller event table"
	::= { eventLog 2 }

ctlrEvtEntry OBJECT-TYPE
    SYNTAX	CtlrEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Controller event entry"
    INDEX	{ cevtTableIdx }
    ::= { ctlrEvtTable  1 }

CtlrEvtEntry ::= SEQUENCE {
    cevtTableIdx 		Unsigned32,
    cevtSource			OCTET STRING,
    cevtSeverity			OCTET STRING,
    cevtIndex			Integer32,
    cevtType				OCTET STRING,
    cevtCode				OCTET STRING,
    cevtTime				OCTET STRING
}

cevtTableIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Event table index"
    ::= { ctlrEvtEntry 1 }

cevtSource OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event source"
    ::= { ctlrEvtEntry 2 }

cevtSeverity OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event severity"
    ::= { ctlrEvtEntry 3 }

cevtIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event index"
    ::= { ctlrEvtEntry 4 }

cevtType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event type"
    ::= { ctlrEvtEntry 5 }

cevtCode OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event code"
    ::= { ctlrEvtEntry 6 }

cevtTime OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event time"
    ::= { ctlrEvtEntry 7 }

-- ************************************************************************
--						Drive Interface Event Table
-- ************************************************************************
drvEvtTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF DrvEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Drive interface event table"
	::= { eventLog 3 }

drvEvtEntry OBJECT-TYPE
    SYNTAX	DrvEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Drive event entry"
    INDEX	{ evtTableIdx }
    ::= { drvEvtTable  1 }

DrvEvtEntry ::= SEQUENCE {
    devtTableIdx 		Unsigned32,
    devtSource			OCTET STRING,
    devtSeverity			OCTET STRING,
    devtIndex			Integer32,
    devtType				OCTET STRING,
    devtCode				OCTET STRING,
	evtLdID				OCTET STRING,
	evtLogChl			Integer32,
	evtID				Integer32,
	evtLun				Integer32,
    devtTime				OCTET STRING
}

devtTableIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Event table index"
    ::= { drvEvtEntry 1 }

devtSource OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event source"
    ::= { drvEvtEntry 2 }

devtSeverity OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event severity"
    ::= { drvEvtEntry 3 }

devtIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event index"
    ::= { drvEvtEntry 4 }

devtType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event type"
    ::= { drvEvtEntry 5 }

devtCode OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event code"
    ::= { drvEvtEntry 6 }

evtLdID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive ID"
    ::= { drvEvtEntry 7 }

evtLogChl OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical channel number"
    ::= { drvEvtEntry 8 }

evtID OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Node SCSI ID"
    ::= { drvEvtEntry 9 }

evtLun OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI LUN"
    ::= { drvEvtEntry 10 }

devtTime OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event time"
    ::= { drvEvtEntry 11 }

-- ************************************************************************
--						Host Interface Event Table
-- ************************************************************************
hostEvtTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF HostEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Host interface event table"
	::= { eventLog 4 }

hostEvtEntry OBJECT-TYPE
    SYNTAX	HostEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Host interface event entry"
    INDEX	{ evtTableIdx }
    ::= { hostEvtTable  1 }

HostEvtEntry ::= SEQUENCE {
    hevtTableIdx 		Unsigned32,
    hevtSource			OCTET STRING,
    hevtSeverity			OCTET STRING,
    hevtIndex			Integer32,
    hevtType				OCTET STRING,
    hevtCode				OCTET STRING,
	evtChl				Integer32,
	hevtID				Integer32,
	hevtLun				Integer32,
    hevtTime				OCTET STRING
}

hevtTableIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Event table index"
    ::= { hostEvtEntry 1 }

hevtSource OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event source"
    ::= { hostEvtEntry 2 }

hevtSeverity OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event severity"
    ::= { hostEvtEntry 3 }

hevtIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event index"
    ::= { hostEvtEntry 4 }

hevtType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event type"
    ::= { hostEvtEntry 5 }

hevtCode OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event code"
    ::= { hostEvtEntry 6 }

evtChl OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host SCSI channel number"
    ::= { hostEvtEntry 7 }

hevtID OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host SCSI ID"
    ::= { hostEvtEntry 8 }

hevtLun OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Host SCSI LUN"
    ::= { hostEvtEntry 9 }

hevtTime OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event time"
    ::= { hostEvtEntry 10 }

-- ************************************************************************
--						Logical Drive Event Table
-- ************************************************************************
ldEvtTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF LdEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical drive event table"
	::= { eventLog 5 }

ldEvtEntry OBJECT-TYPE
    SYNTAX	LdEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Logical drive event entry"
    INDEX	{ evtTableIdx }
    ::= { ldEvtTable  1 }

LdEvtEntry ::= SEQUENCE {
    ldevtTableIdx 		Unsigned32,
    ldevtSource			OCTET STRING,
    ldevtSeverity			OCTET STRING,
    ldevtIndex			Integer32,
    ldevtType				OCTET STRING,
    ldevtCode				OCTET STRING,
	ldevtLdID				OCTET STRING,
	evtFailedChl		Integer32,
	evtFailedID			Integer32,
	evtFailedLun		Integer32,
    ldevtTime				OCTET STRING
}

ldevtTableIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Event table index"
    ::= { ldEvtEntry 1 }

ldevtSource OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event source"
    ::= { ldEvtEntry 2 }

ldevtSeverity OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event severity"
    ::= { ldEvtEntry 3 }

ldevtIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event index"
    ::= { ldEvtEntry 4 }

ldevtType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event type"
    ::= { ldEvtEntry 5 }

ldevtCode OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event code"
    ::= { ldEvtEntry 6 }

ldevtLdID OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical drive ID"
    ::= { ldEvtEntry 7 }

evtFailedChl OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical channel number of the failed hard drive"
    ::= { ldEvtEntry 8 }

evtFailedID OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI ID of the failed hard drive"
    ::= { ldEvtEntry 9 }

evtFailedLun OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "SCSI LUN of the failed hard drive"
    ::= { ldEvtEntry 10 }

ldevtTime OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event time"
    ::= { ldEvtEntry 11 }

-- ************************************************************************
--						Generalized Target Event Table
-- ************************************************************************
gtEvtTable OBJECT-TYPE
    SYNTAX	SEQUENCE OF GtEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Generalized target event table"
	::= { eventLog 6 }

gtEvtEntry OBJECT-TYPE
    SYNTAX	GtEvtEntry
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Generalized target event entry"
    INDEX	{ evtTableIdx }
    ::= { gtEvtTable  1 }

GtEvtEntry ::= SEQUENCE {
    gtevtTableIdx 		Unsigned32,
    gtevtSource			OCTET STRING,
    gtevtSeverity			OCTET STRING,
    gtevtIndex			Integer32,
    gtevtType				OCTET STRING,
	evtLuDesc			Integer32,
	evtLuDevDesc		Integer32,
	evtLuClass			Integer32,
	evtLuSubclass		Integer32,
    evtLuDevType		OCTET STRING,
    gtevtCode				OCTET STRING,
	evtLuDevIdx			Integer32,
	evtEncChl   		Integer32,
	evtEncID			Integer32,
	evtEncLun	    	Integer32,
    gtevtTime				OCTET STRING
}

gtevtTableIdx OBJECT-TYPE
    SYNTAX	Unsigned32
    MAX-ACCESS	not-accessible
    STATUS	current
    DESCRIPTION "Event table index"
    ::= { gtEvtEntry 1 }

gtevtSource OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event source"
    ::= { gtEvtEntry 2 }

gtevtSeverity OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event severity"
    ::= { gtEvtEntry 3 }

gtevtIndex OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event index"
    ::= { gtEvtEntry 4 }

gtevtType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event type"
    ::= { gtEvtEntry 5 }

evtLuDesc OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit descriptor"
    ::= { gtEvtEntry 6 }

evtLuDevDesc OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device descriptor"
    ::= { gtEvtEntry 7 }

evtLuClass OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit class code"
    ::= { gtEvtEntry 8 }

evtLuSubclass OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit subclass code"
    ::= { gtEvtEntry 9 }

gtevtCode OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event code"
    ::= { gtEvtEntry 10 }

evtLuDevType OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device type"
    ::= { gtEvtEntry 11 }

evtLuDevIdx OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Logical unit device index"
    ::= { gtEvtEntry 12 }

evtEncChl OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Enclosure(SAF-TE/SES) unit SCSI channel number"
    ::= { gtEvtEntry 13 }

evtEncID OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Enclosure(SAF-TE/SES) unit SCSI ID"
    ::= { gtEvtEntry 14 }

evtEncLun OBJECT-TYPE
    SYNTAX	Integer32
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Enclosure(SAF-TE/SES) unit SCSI LUN"
    ::= { gtEvtEntry 15 }

gtevtTime OBJECT-TYPE
    SYNTAX	OCTET STRING
    MAX-ACCESS	read-only
    STATUS	current
    DESCRIPTION "Event time"
    ::= { gtEvtEntry 16 }
-- ************************************************************************
--						SNMP Trap Table
-- ************************************************************************
    snEventText OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION  "The description of the event"
    ::= { snSnmpTrap 1 }

	snCtlrEventV2 OBJECT IDENTIFIER ::= {storEdge3510 0}

    snCtlrEvent3510 NOTIFICATION-TYPE
        OBJECTS   {snEventText}
		STATUS	current
        DESCRIPTION "There is a controller event occurred"
    ::= { snCtlrEventV2 1 }
END
