#-MIBFILE: cpqappg80.mib

CPQAPPG80-MIB DEFINITIONS ::= BEGIN


DisplayString ::=
	OCTET STRING

PhysAddress ::=
	OCTET STRING

compaq OBJECT IDENTIFIER ::= { enterprises 232 }

cpqSanAppliance OBJECT IDENTIFIER ::= { compaq 151 }

cpqsmav1 OBJECT IDENTIFIER ::= { cpqSanAppliance 100 }

cpqSMAAgent OBJECT IDENTIFIER ::= { cpqsmav1 1 }

cpqSMASubsystem OBJECT IDENTIFIER ::= { cpqsmav1 2 }

cpqSMAController OBJECT IDENTIFIER ::= { cpqsmav1 3 }

cpqSMALogicalDisk OBJECT IDENTIFIER ::= { cpqsmav1 4 }

cpqSMAPhysicalDisk OBJECT IDENTIFIER ::= { cpqsmav1 5 }

cpqSMAStorageSet OBJECT IDENTIFIER ::= { cpqsmav1 6 }

cpqSMAPartition OBJECT IDENTIFIER ::= { cpqsmav1 7 }

cpqSMAConnection OBJECT IDENTIFIER ::= { cpqsmav1 8 }

cpqSMASnapshot OBJECT IDENTIFIER ::= { cpqsmav1 9 }

cpqSMAAgentVersionMajor OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The version of the agent"
	::= { cpqSMAAgent 1 }


cpqSMAAgentVersionMinor OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The version of the agent"
	::= { cpqSMAAgent 2 }


cpqSMAAgentActive OBJECT-TYPE
	SYNTAX INTEGER {
	inactive(1),
	active(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The state of the agent"
	::= { cpqSMAAgent 3 }


cpqSMAAgentRefreshTime OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The time interval before the next data collection.

The information about the HSG80 is collected periodically.
A thread gathers the information and stores it in
memory. This variable is used to specify the time interval
in minutes (MINUTES) between each update."
	::= { cpqSMAAgent 4 }


cpqSMAAgentHostName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the local machine where the agent is running."
	::= { cpqSMAAgent 5 }


cpqSMASubsystemTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMASubsystemEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of Subsystems"
	::= { cpqSMASubsystem 1 }


cpqSMASubsystemEntry OBJECT-TYPE
	SYNTAX cpqSMASubsystemEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a Subsystem"
	INDEX { cpqSMASubsystemIndex  }

	::= { cpqSMASubsystemTable 1 }

cpqSMASubsystemEntry ::=
	SEQUENCE {
		cpqSMASubsystemIndex INTEGER,
		cpqSMASubsystemName DisplayString,
		cpqSMASubsystemControllerOne INTEGER,
		cpqSMASubsystemControllerTwo INTEGER,
		cpqSMASubsystemEMUState INTEGER,
		cpqSMASubsystemEMUVersion DisplayString,
		cpqSMASubsystemEMUSensor1 INTEGER,
		cpqSMASubsystemEMUSensor2 INTEGER,
		cpqSMASubsystemEMUSensor3 INTEGER,
		cpqSMASubsystemEMUFanspeed INTEGER,
		cpqSMASubsystemEMUAlarm INTEGER,
		cpqSMASubsystemState INTEGER,
		cpqSMASubsystemAlias DisplayString
		}

cpqSMASubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Subsystem index"
	::= { cpqSMASubsystemEntry 1 }


cpqSMASubsystemName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the Subsystem."
	::= { cpqSMASubsystemEntry 2 }


cpqSMASubsystemControllerOne OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of controller one thats belongs to this subsytem.
If the value is -1 then either the controller is not installed
or not operational."
	::= { cpqSMASubsystemEntry 3 }


cpqSMASubsystemControllerTwo OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of controller two thats belongs to this subsytem.
If the value is -1 then either the controller is not installed
or not operational."
	::= { cpqSMASubsystemEntry 4 }


cpqSMASubsystemEMUState OBJECT-TYPE
	SYNTAX INTEGER {
	nooper(1),
	oper(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Environmental Monitoring Unit (EMU) State.

nooper(1) - EMU is either not installed or not operational.
oper(2) - EMU is operational."
	::= { cpqSMASubsystemEntry 5 }


cpqSMASubsystemEMUVersion OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Environmental Monitoring Unit (EMU) Microcode verion."
	::= { cpqSMASubsystemEntry 6 }


cpqSMASubsystemEMUSensor1 OBJECT-TYPE
	SYNTAX INTEGER (0..49)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Environmental Monitoring Unit (EMU) Sensor1 value (in Celsius).

Sensor1 sets the maximum operating temperature for
the primary subsystem cabinet."
	::= { cpqSMASubsystemEntry 7 }


cpqSMASubsystemEMUSensor2 OBJECT-TYPE
	SYNTAX INTEGER (0..49)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Environmental Monitoring Unit (EMU) Sensor2 value (in Celsius).

Sensor2 also sets the maximum operating temperature for
the primary subsystem cabinet."
	::= { cpqSMASubsystemEntry 8 }


cpqSMASubsystemEMUSensor3 OBJECT-TYPE
	SYNTAX INTEGER (0..49)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Environmental Monitoring Unit (EMU) Sensor3 value (in Celsius).

Sensor3 sets the maximum operating temperature for
the EMU unit."
	::= { cpqSMASubsystemEntry 9 }


cpqSMASubsystemEMUFanspeed OBJECT-TYPE
	SYNTAX INTEGER {
	high(1),
	automatic(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Fanspeed.

FANSPEED=HIGH forces the fans in all connected cabinets to operate at
high speed continuously.

FANSPEED=AUTOMATIC allows the EMU to control the fan speed for
the fans in all connected cabinets.

The EMU instructs the fans to operate at high speed when any of the temperature
setpoints are exceeded or when one or more fans are not functioning."
	::= { cpqSMASubsystemEntry 10 }


cpqSMASubsystemEMUAlarm OBJECT-TYPE
	SYNTAX INTEGER {
	silent(1),
	audible(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Subsystem Environmental Monitoring Unit Alarm.

Determines whether or not the audible alarm of the EMU will
sound in the following cases:		
drive failure
controller restart

The EMU alarm will still sound in the event of an adverse 
environmental condition, such as a power failure or an over-temperature condition."
	::= { cpqSMASubsystemEntry 11 }


cpqSMASubsystemState OBJECT-TYPE
	SYNTAX INTEGER {
	unknown(1),
	ok(2),
	degraded(3),
	offline(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives us the overall state of the HSG80 subsystem."
	::= { cpqSMASubsystemEntry 12 }


cpqSMASubsystemAlias OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Subsystem Alias."
	::= { cpqSMASubsystemEntry 13 }


cpqSMAControllerTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMAControllerEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of controllers"
	::= { cpqSMAController 1 }


cpqSMAControllerEntry OBJECT-TYPE
	SYNTAX cpqSMAControllerEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a controller"
	INDEX { cpqSMAControllerIndex  }

	::= { cpqSMAControllerTable 1 }

cpqSMAControllerEntry ::=
	SEQUENCE {
		cpqSMAControllerIndex INTEGER,
		cpqSMAControllerName DisplayString,
		cpqSMAControllerSerialNumber DisplayString,
		cpqSMAControllerFirmware DisplayString,
		cpqSMAControllerHardware DisplayString,
		cpqSMAControllerNodeID DisplayString,
		cpqSMAControllerIdentifier DisplayString,
		cpqSMAControllerAllocationClass INTEGER,
		cpqSMAControllerScsiVersion INTEGER,
		cpqSMAControllerRedundancy INTEGER,
		cpqSMAControllerScsiID INTEGER,
		cpqSMAControllerCacheSize INTEGER,
		cpqSMAControllerCacheType INTEGER,
		cpqSMAControllerCacheVersion DisplayString,
		cpqSMAControllerCacheFlushTimer INTEGER,
		cpqSMAControllerMirrorCache INTEGER,
		cpqSMAControllerPort_1_ID DisplayString,
		cpqSMAControllerPort_1_Topology INTEGER,
		cpqSMAControllerPort_1_State INTEGER,
		cpqSMAControllerPort_2_ID DisplayString,
		cpqSMAControllerPort_2_Topology INTEGER,
		cpqSMAControllerPort_2_State INTEGER,
		cpqSMAControllerPairIndex INTEGER,
		cpqSMAControllerCacheState INTEGER,
		cpqSMAControllerBatteryCheckState INTEGER,
		cpqSMAControllerBatteryChargeState INTEGER,
		cpqSMAControllerBatteryExpiryDate DisplayString,
		cpqSMAControllerSubsystemIndex INTEGER,
		cpqSMAControllerPort_1_Address DisplayString,
		cpqSMAControllerPort_2_Address DisplayString,
		cpqSMAControllerLogicalDiskIndexes DisplayString,
		cpqSMAControllerSnapshotIndexes DisplayString
		}

cpqSMAControllerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The controller index"
	::= { cpqSMAControllerEntry 1 }


cpqSMAControllerName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the controller."
	::= { cpqSMAControllerEntry 2 }


cpqSMAControllerSerialNumber OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The serial number of the controller."
	::= { cpqSMAControllerEntry 3 }


cpqSMAControllerFirmware OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The firmware of the controller."
	::= { cpqSMAControllerEntry 4 }


cpqSMAControllerHardware OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The hardware revision of the controller."
	::= { cpqSMAControllerEntry 5 }


cpqSMAControllerNodeID OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Manufacturer assigned ID of the controller."
	::= { cpqSMAControllerEntry 6 }


cpqSMAControllerIdentifier OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The user assigned identifier if any of the controller."
	::= { cpqSMAControllerEntry 7 }


cpqSMAControllerAllocationClass OBJECT-TYPE
	SYNTAX INTEGER (0..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The controller allocation class"
	::= { cpqSMAControllerEntry 8 }


cpqSMAControllerScsiVersion OBJECT-TYPE
	SYNTAX INTEGER {
	scsi-2(1),
	scsi-3(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The scsi version of the controller"
	::= { cpqSMAControllerEntry 9 }


cpqSMAControllerRedundancy OBJECT-TYPE
	SYNTAX INTEGER {
	single(1),
	dual(2),
	multibus(3),
	transparent(4),
	unknown(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The redundancy type of the controller"
	::= { cpqSMAControllerEntry 10 }


cpqSMAControllerScsiID OBJECT-TYPE
	SYNTAX INTEGER (0..15)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device port scsi address of the controller"
	::= { cpqSMAControllerEntry 11 }


cpqSMAControllerCacheSize OBJECT-TYPE
	SYNTAX INTEGER (64..512)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The cache size in megabytes.

Can be either 64, 128, 256 or 512 MB."
	::= { cpqSMAControllerEntry 12 }


cpqSMAControllerCacheType OBJECT-TYPE
	SYNTAX INTEGER {
	read(1),
	write(2),
	read-ahead(3),
	write-through(4),
	write-back(5),
	unknown(6)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The cache type of this controller"
	::= { cpqSMAControllerEntry 13 }


cpqSMAControllerCacheVersion OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The version of this controllers cache."
	::= { cpqSMAControllerEntry 14 }


cpqSMAControllerCacheFlushTimer OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The cache flush timer in sec"
	::= { cpqSMAControllerEntry 15 }


cpqSMAControllerMirrorCache OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The mirror cache state of this controller"
	::= { cpqSMAControllerEntry 16 }


cpqSMAControllerPort_1_ID OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The ID of port 1."
	::= { cpqSMAControllerEntry 17 }


cpqSMAControllerPort_1_Topology OBJECT-TYPE
	SYNTAX INTEGER {
	fabric(1),
	loop_hard(2),
	loop_soft(3),
	offline(4),
	unknown(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The topology of this controller"
	::= { cpqSMAControllerEntry 18 }


cpqSMAControllerPort_1_State OBJECT-TYPE
	SYNTAX INTEGER {
	fabricup(1),
	standby(2),
	connectiondown(3),
	unknown(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The state of this port"
	::= { cpqSMAControllerEntry 19 }


cpqSMAControllerPort_2_ID OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The ID of port 2."
	::= { cpqSMAControllerEntry 20 }


cpqSMAControllerPort_2_Topology OBJECT-TYPE
	SYNTAX INTEGER {
	fabric(1),
	loop_hard(2),
	loop_soft(3),
	offline(4),
	unknown(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The topology of this controller"
	::= { cpqSMAControllerEntry 21 }


cpqSMAControllerPort_2_State OBJECT-TYPE
	SYNTAX INTEGER {
	fabricup(1),
	standby(2),
	connectiondown(3),
	unknown(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The state of this port"
	::= { cpqSMAControllerEntry 22 }


cpqSMAControllerPairIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of this controller's pair if
FAILOVER mode (cpqSMAControllerRedundancy)
is mutlibus or transparent.

If there is no FAILOVER mode (cpqSMAControllerRedundancy
is single or unknown) then the value is -1."
	::= { cpqSMAControllerEntry 23 }


cpqSMAControllerCacheState OBJECT-TYPE
	SYNTAX INTEGER {
	good(1),
	bad(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The state of the controller cache."
	::= { cpqSMAControllerEntry 24 }


cpqSMAControllerBatteryCheckState OBJECT-TYPE
	SYNTAX INTEGER {
	ups(1),
	noups(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Battery check state.

Specifies whether the controller should perform regular battery condition checks.
If CACHE_UPS (ups) the controller does not check the condition of the cache batteries
and ignores the battery's state.
If NOCACHE_UPS (noups) the controller performs regular cache battery checks and evaluates
the condition of the cache batteries."
	::= { cpqSMAControllerEntry 25 }


cpqSMAControllerBatteryChargeState OBJECT-TYPE
	SYNTAX INTEGER (0..100)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This is the value in % (percentage) of the amount the 
controller battery is charged.

A value of 0 (zero) means DANGER: BATTERY LIFETIME HAS EXPIRED, REPLACE BATTERY NOW!."
	::= { cpqSMAControllerEntry 26 }


cpqSMAControllerBatteryExpiryDate OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The expiry date of the controller battery."
	::= { cpqSMAControllerEntry 27 }


cpqSMAControllerSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem to which this
controller belongs."
	::= { cpqSMAControllerEntry 28 }


cpqSMAControllerPort_1_Address OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Host_Port1 Address."
	::= { cpqSMAControllerEntry 29 }


cpqSMAControllerPort_2_Address OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Host_Port2 Address."
	::= { cpqSMAControllerEntry 30 }


cpqSMAControllerLogicalDiskIndexes OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The indexes of all the logical disks associated with the controller.
Each index is seperated by a ':' ."
	::= { cpqSMAControllerEntry 31 }


cpqSMAControllerSnapshotIndexes OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The indexes of all the snapshots associated with the controller.
Each index is seperated by a ':' ."
	::= { cpqSMAControllerEntry 32 }


cpqSMALogicalDiskTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMALogicalDiskEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of LogicalDisks"
	::= { cpqSMALogicalDisk 1 }


cpqSMALogicalDiskEntry OBJECT-TYPE
	SYNTAX cpqSMALogicalDiskEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a LogicalDisk"
	INDEX { cpqSMALogicalDiskIndex  }

	::= { cpqSMALogicalDiskTable 1 }

cpqSMALogicalDiskEntry ::=
	SEQUENCE {
		cpqSMALogicalDiskIndex INTEGER,
		cpqSMALogicalDiskName DisplayString,
		cpqSMALogicalDiskSize INTEGER,
		cpqSMALogicalDiskCreatedFromIndex INTEGER,
		cpqSMALogicalDiskReadCache INTEGER,
		cpqSMALogicalDiskWriteBackCache INTEGER,
		cpqSMALogicalDiskWriteProtectCache INTEGER,
		cpqSMALogicalDiskReadAheadCache INTEGER,
		cpqSMALogicalDiskRunState INTEGER,
		cpqSMALogicalDiskState INTEGER,
		cpqSMALogicalDiskCachedTransferSize INTEGER,
		cpqSMALogicalDiskPreferredPath INTEGER,
		cpqSMALogicalDiskHostAccess DisplayString,
		cpqSMALogicalDiskIdentifier DisplayString,
		cpqSMALogicalDiskHeads INTEGER,
		cpqSMALogicalDiskCylinders INTEGER,
		cpqSMALogicalDiskSectors INTEGER,
		cpqSMALogicalDiskControllerInstance INTEGER,
		cpqSMALogicalDiskCreatedFromType INTEGER,
		cpqSMALogicalDiskIdentifierSwitch INTEGER,
		cpqSMALogicalDiskSnapped INTEGER,
		cpqSMALogicalDiskSnapshotInstance INTEGER,
		cpqSMALogicalDiskSubsystemIndex INTEGER
		}

cpqSMALogicalDiskIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The LogicalDisk index.

This is just a ordered sequence done by the agent,
has no relationship to the unit offset or unit name/number."
	::= { cpqSMALogicalDiskEntry 1 }


cpqSMALogicalDiskName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the LogicalDisk."
	::= { cpqSMALogicalDiskEntry 2 }


cpqSMALogicalDiskSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Size.

This is the size of the logical drive in blocks.  One block 
equals 512 bytes (1 block = 512 bytes)."
	::= { cpqSMALogicalDiskEntry 3 }


cpqSMALogicalDiskCreatedFromIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Created From Instance.

This gives us the instance of the storageset or physical disk
from which this LUN was created."
	::= { cpqSMALogicalDiskEntry 4 }


cpqSMALogicalDiskReadCache OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Read Cache.

The state of the read cache for the associated logical drives."
	::= { cpqSMALogicalDiskEntry 5 }


cpqSMALogicalDiskWriteBackCache OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive WriteBack Cache.

The state of the writeback cache for the associated logical drives."
	::= { cpqSMALogicalDiskEntry 6 }


cpqSMALogicalDiskWriteProtectCache OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive WriteProtect Cache.

The state of the write protect cache for the associated logical drives."
	::= { cpqSMALogicalDiskEntry 7 }


cpqSMALogicalDiskReadAheadCache OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive ReadAhead Cache.

The state of the readahead cache for the associated logical drives."
	::= { cpqSMALogicalDiskEntry 8 }


cpqSMALogicalDiskRunState OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Run State.

The run state for the associated logical drives. you specify RUN
to make a unit available to the host."
	::= { cpqSMALogicalDiskEntry 9 }


cpqSMALogicalDiskState OBJECT-TYPE
	SYNTAX INTEGER {
	online(1),
	available(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive State.

The state of the associated logical drive."
	::= { cpqSMALogicalDiskEntry 10 }


cpqSMALogicalDiskCachedTransferSize OBJECT-TYPE
	SYNTAX INTEGER (1..2048)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive CachedTransferSize.

The largest number of write blocks to be cached by the 
controller. The controller will not cache any transfers over 
the specified size."
	::= { cpqSMALogicalDiskEntry 11 }


cpqSMALogicalDiskPreferredPath OBJECT-TYPE
	SYNTAX INTEGER {
	this(1),
	other(2),
	none(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive PreferredPath.

May be set only when dual redundant controllers are operating in a
multiple-bus failover configuration."
	::= { cpqSMALogicalDiskEntry 12 }


cpqSMALogicalDiskHostAccess OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Host Access.
Specifies the access path."
	::= { cpqSMALogicalDiskEntry 13 }


cpqSMALogicalDiskIdentifier OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive ID (Lun_ID)

This ID consists of the controller node ID plus a 64-bit unit ID
generated by the subsystem."
	::= { cpqSMALogicalDiskEntry 14 }


cpqSMALogicalDiskHeads OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of Heads."
	::= { cpqSMALogicalDiskEntry 15 }


cpqSMALogicalDiskCylinders OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of Cylinders."
	::= { cpqSMALogicalDiskEntry 16 }


cpqSMALogicalDiskSectors OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of Sectors."
	::= { cpqSMALogicalDiskEntry 17 }


cpqSMALogicalDiskControllerInstance OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Controller Instance.

This gives us the instance of the controller to which this LUN is online."
	::= { cpqSMALogicalDiskEntry 18 }


cpqSMALogicalDiskCreatedFromType OBJECT-TYPE
	SYNTAX INTEGER {
	physicaldisk(1),
	storageset(2),
	partition(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Created from type.

Tells us whether the LUN was created from an entire physical disk, entire storageset
or from a partition(logical or physical). cpqSMALogicalDiskCreatedFromIndex gives us
the instance of the object."
	::= { cpqSMALogicalDiskEntry 19 }


cpqSMALogicalDiskIdentifierSwitch OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Identifier switch.

This is used with the SCSI_VERSION switch when the SCSI version
is set to SCSI-3 mode. The IDENTIFIER switch creates a unique 
unit identifier makes the unit visible to the host.This number can
be a value between 1-9999. The value 0 means NOIDENTIFIER."
	::= { cpqSMALogicalDiskEntry 20 }


cpqSMALogicalDiskSnapped OBJECT-TYPE
	SYNTAX INTEGER {
	no(1),
	yes(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Snapped.

This tells us if a snapshot of this disk
exists."
	::= { cpqSMALogicalDiskEntry 21 }


cpqSMALogicalDiskSnapshotInstance OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Logical Drive Snapshot instance.

If the disk has a snapshot ie. cpqSMALogicalDiskSnapped is yes,
then this gives us the instance of the snapshot else -1."
	::= { cpqSMALogicalDiskEntry 22 }


cpqSMALogicalDiskSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem where this logical
disk resides."
	::= { cpqSMALogicalDiskEntry 23 }


cpqSMAPhysicalDiskTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMAPhysicalDiskEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of PhysicalDisks"
	::= { cpqSMAPhysicalDisk 1 }


cpqSMAPhysicalDiskEntry OBJECT-TYPE
	SYNTAX cpqSMAPhysicalDiskEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a PhysicalDisk"
	INDEX { cpqSMAPhysicalDiskIndex  }

	::= { cpqSMAPhysicalDiskTable 1 }

cpqSMAPhysicalDiskEntry ::=
	SEQUENCE {
		cpqSMAPhysicalDiskIndex INTEGER,
		cpqSMAPhysicalDiskName DisplayString,
		cpqSMAPhysicalDiskModel DisplayString,
		cpqSMAPhysicalDiskPort INTEGER,
		cpqSMAPhysicalDiskTarget INTEGER,
		cpqSMAPhysicalDiskLun INTEGER,
		cpqSMAPhysicalDiskSize INTEGER,
		cpqSMAPhysicalDiskTransportable INTEGER,
		cpqSMAPhysicalDiskTransferRate INTEGER,
		cpqSMAPhysicalDiskState INTEGER,
		cpqSMAPhysicalDiskUsedByIndex INTEGER,
		cpqSMAPhysicalDiskNoofPartitions INTEGER,
		cpqSMAPhysicalDiskUsedByType INTEGER,
		cpqSMAPhysicalDiskSubsystemIndex INTEGER
		}

cpqSMAPhysicalDiskIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The PhysicalDisk index"
	::= { cpqSMAPhysicalDiskEntry 1 }


cpqSMAPhysicalDiskName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the PhysicalDisk."
	::= { cpqSMAPhysicalDiskEntry 2 }


cpqSMAPhysicalDiskModel OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The model of the PhysicalDisk."
	::= { cpqSMAPhysicalDiskEntry 3 }


cpqSMAPhysicalDiskPort OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The PhysicalDisk Port"
	::= { cpqSMAPhysicalDiskEntry 4 }


cpqSMAPhysicalDiskTarget OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The PhysicalDisk target"
	::= { cpqSMAPhysicalDiskEntry 5 }


cpqSMAPhysicalDiskLun OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The PhysicalDisk LUN"
	::= { cpqSMAPhysicalDiskEntry 6 }


cpqSMAPhysicalDiskSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Physical Disk Size.

This is the size of the physical disk in megabytes.  This value
is calculated using the value 1,048,576 (2^20) as a megabyte.
Drive manufacturers sometimes use the number 1,000,000 as a
megabyte when giving drive capacities so this value may
differ from the advertised size of a drive."
	::= { cpqSMAPhysicalDiskEntry 7 }


cpqSMAPhysicalDiskTransportable OBJECT-TYPE
	SYNTAX INTEGER {
	disable(1),
	enable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "PhysicalDisk Transportable.

Indicates whether a disk drive can be accessed exclusively by StorageWorks."
	::= { cpqSMAPhysicalDiskEntry 8 }


cpqSMAPhysicalDiskTransferRate OBJECT-TYPE
	SYNTAX INTEGER {
	asynchronous(1),
	mhz20(2),
	mhz10(3),
	mhz5(4),
	unknown(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "PhysicalDisk Transportable.

Indicates whether a disk drive can be accessed exclusively by StorageWorks."
	::= { cpqSMAPhysicalDiskEntry 9 }


cpqSMAPhysicalDiskState OBJECT-TYPE
	SYNTAX INTEGER {
	free(1),
	assigned(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "PhysicalDisk State.

Indicates whether a disk drive has been assigend to a storageset, lun or not."
	::= { cpqSMAPhysicalDiskEntry 10 }


cpqSMAPhysicalDiskUsedByIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "PhysicalDisk Used by index.

This is the index of the lun or storageset that was created by using this physical disk.
If the disk is unassigned or free ie. cpqSMAPhysicalDiskState = 1 then the index 
is of the this controller."
	::= { cpqSMAPhysicalDiskEntry 11 }


cpqSMAPhysicalDiskNoofPartitions OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of partitions on this PhysicalDisk."
	::= { cpqSMAPhysicalDiskEntry 12 }


cpqSMAPhysicalDiskUsedByType OBJECT-TYPE
	SYNTAX INTEGER {
	none(1),
	storageset(2),
	lun(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "PhysicalDisk UsedByType.

If this disk has been assigned ie. cpqSMAPhysicalDiskState = 2, then this indicates 
the type of object that was created using this disk ie. whether it is a storageset or 
a lun and cpqSMAPhysicalDiskUsedByIndex gives you the instance of that object."
	::= { cpqSMAPhysicalDiskEntry 13 }


cpqSMAPhysicalDiskSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem where this physical
disk resides."
	::= { cpqSMAPhysicalDiskEntry 14 }


cpqSMAStorageSetTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMAStorageSetEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of StorageSets"
	::= { cpqSMAStorageSet 1 }


cpqSMAStorageSetEntry OBJECT-TYPE
	SYNTAX cpqSMAStorageSetEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a StorageSet"
	INDEX { cpqSMAStorageSetIndex  }

	::= { cpqSMAStorageSetTable 1 }

cpqSMAStorageSetEntry ::=
	SEQUENCE {
		cpqSMAStorageSetIndex INTEGER,
		cpqSMAStorageSetName DisplayString,
		cpqSMAStorageSetRaidType INTEGER,
		cpqSMAStorageSetSize INTEGER,
		cpqSMAStorageSetPolicy INTEGER,
		cpqSMAStorageSetReconstruct INTEGER,
		cpqSMAStorageSetCopy INTEGER,
		cpqSMAStorageSetReadSource DisplayString,
		cpqSMAStorageSetAutospare INTEGER,
		cpqSMAStorageSetChunkSize INTEGER,
		cpqSMAStorageSetNoOfDisks INTEGER,
		cpqSMAStorageSetDisksIndex DisplayString,
		cpqSMAStorageSetState INTEGER,
		cpqSMAStorageSetUsedByIndex INTEGER,
		cpqSMAStorageSetNoofPartitions INTEGER,
		cpqSMAStorageSetSubsystemIndex INTEGER,
		cpqSMAStorageSetUsedByType INTEGER
		}

cpqSMAStorageSetIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet index"
	::= { cpqSMAStorageSetEntry 1 }


cpqSMAStorageSetName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the StorageSet."
	::= { cpqSMAStorageSetEntry 2 }


cpqSMAStorageSetRaidType OBJECT-TYPE
	SYNTAX INTEGER {
	stripeset(1),
	mirrorset(2),
	raidset(3),
	raid10(4),
	spareset(5),
	failedset(6),
	unknown(7)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet Raid Type"
	::= { cpqSMAStorageSetEntry 3 }


cpqSMAStorageSetSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Storageset Size.

This is the size of the storagset disk in megabytes.  This value
is calculated using the value 1,048,576 (2^20) as a megabyte.
Drive manufacturers sometimes use the number 1,000,000 as a
megabyte when giving drive capacities so this value may
differ from the advertised size of a drive."
	::= { cpqSMAStorageSetEntry 4 }


cpqSMAStorageSetPolicy OBJECT-TYPE
	SYNTAX INTEGER {
	best_fit(1),
	best_performance(2),
	nopolicy(3),
	unknown(4)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet Policy switch.

Sets the selection criteria the contoller uses to choose a replacement
disk from the spareset. This policy only pertains to MIRRORSETs
and RAIDSETs. 
For the other types it will be set to unknown."
	::= { cpqSMAStorageSetEntry 5 }


cpqSMAStorageSetReconstruct OBJECT-TYPE
	SYNTAX INTEGER {
	fast(1),
	normal(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet Reconstruct switch.

Sets the speed at which the contoller reconstructs data ti a new RAIDset
disk that replaces the failed disk. This policy only pertains to RAIDSETs.
For the other types it will be set to unknown."
	::= { cpqSMAStorageSetEntry 6 }


cpqSMAStorageSetCopy OBJECT-TYPE
	SYNTAX INTEGER {
	fast(1),
	normal(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet Copy switch.

Sets the speed at which the controller copies data to a new member from
normal mirrorset members when data is being mirrored to the storageset's
disk drives. This policy only pertains to MIRRORSETs. 
For the other types it will be set to unknown."
	::= { cpqSMAStorageSetEntry 7 }


cpqSMAStorageSetReadSource OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Storageset ReadSource switch.

Selects the mirrorset member used by the controller to satisfy a read
request. The values will be either
- disk-name (name of the specific member to which you want the controller
to direct all read requests)
- least_busy
- round_robin
This policy only pertains to MIRRORSETs. 
For the other types it will be set to unknown."
	::= { cpqSMAStorageSetEntry 8 }


cpqSMAStorageSetAutospare OBJECT-TYPE
	SYNTAX INTEGER {
	enable(1),
	disable(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet Autospare switch.

With autospare enabled on a failedset, any new disk drive that is inserted
into the PTL location of a failed dusk drive is automatically initialized and
placed into the spareset. This policy only pertains to FAILEDSET. 
For the other types it will be set to unknown."
	::= { cpqSMAStorageSetEntry 9 }


cpqSMAStorageSetChunkSize OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The StorageSet ChunkSize switch.

Specify a chunk size to control the stripesize used for RAIDsets
and stripesets in blocks. This policy only pertains to RAIDSETs and
STRIPESETs. 
For the other types it will be set to zero."
	::= { cpqSMAStorageSetEntry 10 }


cpqSMAStorageSetNoOfDisks OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of the physical disks that was used to create this StorageSet."
	::= { cpqSMAStorageSetEntry 11 }


cpqSMAStorageSetDisksIndex OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The indexes of the physical disks from which this StorageSet was created.
Each index is seperated by a ':' ."
	::= { cpqSMAStorageSetEntry 12 }


cpqSMAStorageSetState OBJECT-TYPE
	SYNTAX INTEGER {
	free(1),
	assigned(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Storageset State.

Indicates whether a lun has been created from the storageset."
	::= { cpqSMAStorageSetEntry 13 }


cpqSMAStorageSetUsedByIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Storageset Used by index.

This is the index of the lun or snapshot that was created from this storageset. 

If the storageset is unassigned or free ie. cpqSMAStorageSetState = 1 then the index 
is of the this controller.

If the storageset has multiple (>1) partitions then the value is -1."
	::= { cpqSMAStorageSetEntry 14 }


cpqSMAStorageSetNoofPartitions OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of partitions on this Storageset."
	::= { cpqSMAStorageSetEntry 15 }


cpqSMAStorageSetSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem where this storageset resides."
	::= { cpqSMAStorageSetEntry 16 }


cpqSMAStorageSetUsedByType OBJECT-TYPE
	SYNTAX INTEGER {
	lun(1),
	snapshot(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Storageset Used by index.

This tells us whether the type of disk created from this storageset is a lun
or a snapshot. ie. if cpqSMAStorageSetState = 2 (assigned) then this
tells you the type (lun or snapshot) and cpqSMAStorageSetUsedByIndex gives
the index of that object."
	::= { cpqSMAStorageSetEntry 17 }


cpqSMAPartitionTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMAPartitionEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of Partitions"
	::= { cpqSMAPartition 1 }


cpqSMAPartitionEntry OBJECT-TYPE
	SYNTAX cpqSMAPartitionEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a Partition"
	INDEX { cpqSMAPartitionIndex  }

	::= { cpqSMAPartitionTable 1 }

cpqSMAPartitionEntry ::=
	SEQUENCE {
		cpqSMAPartitionIndex INTEGER,
		cpqSMAPartitionName DisplayString,
		cpqSMAPartitionNumber INTEGER,
		cpqSMAPartitionDeviceIndex INTEGER,
		cpqSMAPartitionState INTEGER,
		cpqSMAPartitionUsedByIndex INTEGER,
		cpqSMAPartitionSize INTEGER,
		cpqSMAPartitionType INTEGER,
		cpqSMAPartitionSubsystemIndex INTEGER
		}

cpqSMAPartitionIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Partition index"
	::= { cpqSMAPartitionEntry 1 }


cpqSMAPartitionName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the Partition."
	::= { cpqSMAPartitionEntry 2 }


cpqSMAPartitionNumber OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Partition number"
	::= { cpqSMAPartitionEntry 3 }


cpqSMAPartitionDeviceIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Partition Device Index.

This is the index of the device (physical) or storageset (logical)
from which this partition was created."
	::= { cpqSMAPartitionEntry 4 }


cpqSMAPartitionState OBJECT-TYPE
	SYNTAX INTEGER {
	free(1),
	assigned(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Partition number"
	::= { cpqSMAPartitionEntry 5 }


cpqSMAPartitionUsedByIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Partition Used By Index.

This is the index of the lun that was created from this partition. If the parition
is unassigned or free ie. cpqSMAPartitionDeviceState = 1 then the index 
is of the this controller."
	::= { cpqSMAPartitionEntry 6 }


cpqSMAPartitionSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Partition Size.

This is the size of the partition in megabytes.  This value
is calculated using the value 1,048,576 (2^20) as a megabyte.
Drive manufacturers sometimes use the number 1,000,000 as a
megabyte when giving drive capacities so this value may
differ from the advertised size of a drive."
	::= { cpqSMAPartitionEntry 7 }


cpqSMAPartitionType OBJECT-TYPE
	SYNTAX INTEGER {
	physical(1),
	logical(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The type of Partition.

If its a partition created from a device(disk) its a physical partition
if its created from a storageset then its a logical partition."
	::= { cpqSMAPartitionEntry 8 }


cpqSMAPartitionSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem where this partition resides."
	::= { cpqSMAPartitionEntry 9 }


cpqSMAConnectionTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMAConnectionEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of Connections"
	::= { cpqSMAConnection 1 }


cpqSMAConnectionEntry OBJECT-TYPE
	SYNTAX cpqSMAConnectionEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a Connection"
	INDEX { cpqSMAConnectionIndex  }

	::= { cpqSMAConnectionTable 1 }

cpqSMAConnectionEntry ::=
	SEQUENCE {
		cpqSMAConnectionIndex INTEGER,
		cpqSMAConnectionName DisplayString,
		cpqSMAConnectionOSName DisplayString,
		cpqSMAConnectionController INTEGER,
		cpqSMAConnectionControllerPortNum INTEGER,
		cpqSMAConnectionStatus INTEGER,
		cpqSMAConnectionOnlineTo INTEGER,
		cpqSMAConnectionLunOffset INTEGER,
		cpqSMAConnectionHostID DisplayString,
		cpqSMAConnectionAdapterID DisplayString,
		cpqSMAConnectionUnitAddress DisplayString,
		cpqSMAConnectionSubsystemIndex INTEGER
		}

cpqSMAConnectionIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Connection index"
	::= { cpqSMAConnectionEntry 1 }


cpqSMAConnectionName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the Connection."
	::= { cpqSMAConnectionEntry 2 }


cpqSMAConnectionOSName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Operating System name. "
	::= { cpqSMAConnectionEntry 3 }


cpqSMAConnectionController OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The instance of the controller to which there is a connection."
	::= { cpqSMAConnectionEntry 4 }


cpqSMAConnectionControllerPortNumber OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The port number on the controller to which there is a connection."
	::= { cpqSMAConnectionEntry 5 }


cpqSMAConnectionStatus OBJECT-TYPE
	SYNTAX INTEGER {
	online(1),
	offline(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The status of connection."
	::= { cpqSMAConnectionEntry 6 }


cpqSMAConnectionOnlineTo OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The instance of the controller to which it is online."
	::= { cpqSMAConnectionEntry 7 }


cpqSMAConnectionLunOffset OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The LUN offset for this connection."
	::= { cpqSMAConnectionEntry 8 }


cpqSMAConnectionHostID OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The HOST ID."
	::= { cpqSMAConnectionEntry 9 }


cpqSMAConnectionAdapterID OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Adapter ID."
	::= { cpqSMAConnectionEntry 10 }


cpqSMAConnectionUnitAddress OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Unit Address."
	::= { cpqSMAConnectionEntry 11 }


cpqSMAConnectionSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem where this connection exists."
	::= { cpqSMAConnectionEntry 12 }


cpqSMASnapshotTable OBJECT-TYPE
	SYNTAX SEQUENCE OF cpqSMASnapshotEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table of Snapshots"
	::= { cpqSMASnapshot 1 }


cpqSMASnapshotEntry OBJECT-TYPE
	SYNTAX cpqSMASnapshotEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table entry for a Snapshot"
	INDEX { cpqSMASnapshotIndex  }

	::= { cpqSMASnapshotTable 1 }

cpqSMASnapshotEntry ::=
	SEQUENCE {
		cpqSMASnapshotIndex INTEGER,
		cpqSMASnapshotName DisplayString,
		cpqSMASnapshotSize INTEGER,
		cpqSMASnapshotCreatedFromIndex INTEGER,
		cpqSMASnapshotOf INTEGER,
		cpqSMASnapshotState INTEGER,
		cpqSMASnapshotPreferredPath INTEGER,
		cpqSMASnapshotHostAccess DisplayString,
		cpqSMASnapshotIdentifier DisplayString,
		cpqSMASnapshotHeads INTEGER,
		cpqSMASnapshotCylinders INTEGER,
		cpqSMASnapshotSectors INTEGER,
		cpqSMASnapshotControllerInstance INTEGER,
		cpqSMASnapshotIdentifierSwitch INTEGER,
		cpqSMASnapshotSubsystemIndex INTEGER
		}

cpqSMASnapshotIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The Snapshot index"
	::= { cpqSMASnapshotEntry 1 }


cpqSMASnapshotName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name of the Snapshot."
	::= { cpqSMASnapshotEntry 2 }


cpqSMASnapshotSize OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot Drive Size.

This is the size of the snapshot in blocks.  One block 
equals 512 bytes (1 block = 512 bytes)."
	::= { cpqSMASnapshotEntry 3 }


cpqSMASnapshotCreatedFromIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot Created From Instance.

This gives us the instance of the storageset 
from which this snapshot was created."
	::= { cpqSMASnapshotEntry 4 }


cpqSMASnapshotOf OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This is the instance of the logical disk for which this is a snapshot."
	::= { cpqSMASnapshotEntry 5 }


cpqSMASnapshotState OBJECT-TYPE
	SYNTAX INTEGER {
	online(1),
	available(2),
	unknown(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot State.

The state of the snapshot."
	::= { cpqSMASnapshotEntry 6 }


cpqSMASnapshotPreferredPath OBJECT-TYPE
	SYNTAX INTEGER {
	this(1),
	other(2),
	none(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot PreferredPath.

May be set only when dual redundant controllers are operating in a
multiple-bus failover configuration."
	::= { cpqSMASnapshotEntry 7 }


cpqSMASnapshotHostAccess OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot Host Access.
Specifies the access path."
	::= { cpqSMASnapshotEntry 8 }


cpqSMASnapshotIdentifier OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot ID

This ID consists of the controller node ID plus a 64-bit unit ID
generated by the subsystem."
	::= { cpqSMASnapshotEntry 9 }


cpqSMASnapshotHeads OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of Heads."
	::= { cpqSMASnapshotEntry 10 }


cpqSMASnapshotCylinders OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of Cylinders."
	::= { cpqSMASnapshotEntry 11 }


cpqSMASnapshotSectors OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Number of Sectors."
	::= { cpqSMASnapshotEntry 12 }


cpqSMASnapshotControllerInstance OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot Controller Instance.

This gives us the instance of the controller to which this snapshot is online."
	::= { cpqSMASnapshotEntry 13 }


cpqSMASnapshotIdentifierSwitch OBJECT-TYPE
	SYNTAX INTEGER (0..9999)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Snapshot Identifier switch.

This is used with the SCSI_VERSION switch when the SCSI version
is set to SCSI-3 mode. The IDENTIFIER switch creates a unique 
unit identifier makes the unit visible to the host.This number can
be a value between 1-9999. The value 0 means NOIDENTIFIER."
	::= { cpqSMASnapshotEntry 14 }


cpqSMASnapshotSubsystemIndex OBJECT-TYPE
	SYNTAX INTEGER (0..10000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index of the subsystem where this snapshot resides."
	::= { cpqSMASnapshotEntry 15 }


END

