-- ****************************************************************************
--
--            IO Drive Information
--         Management Information Base for SNMP Network Management
--
--
--      Copyright 1996,2008 Hewlett-Packard Development Company, L.P.
--
--      Hewlett-Packard Company shall not be liable for technical or
--      editorial errors or omissions contained herein. The information in
--      this document is provided "as is" without warranty of any kind and
--      is subject to change without notice. The warranties for HP products
--      are set forth in the express limited warranty statements
--      accompanying such products. Nothing herein should be construed as
--      constituting an additional warranty.
--
--      Confidential computer software. Valid license from HP required for
--      possession, use or copying. Consistent with FAR 12.211 and 12.212,
--      Commercial Computer Software, Computer Software Documentation, and
--      Technical Data for Commercial Items are licensed to the U.S.
--      Government under vendor's standard commercial license.
--
--      Refer to the READMIB.RDM file for more information about the
--      organization of the information in the Compaq Enterprise.
--
--      The Compaq Enterprise number is 232.
--      The ASN.1 prefix to, and including the Compaq Enterprise is:
--           1.3.6.1.4.1.232
--
-- ****************************************************************************

CPQIODRV-MIB DEFINITIONS ::= BEGIN

IMPORTS
        compaq
                FROM CPQHOST-MIB
        DisplayString
                FROM RFC1213-MIB
        sysName
                FROM RFC1213-MIB
        cpqHoTrapFlags
                FROM CPQHOST-MIB
        Counter
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212
        TRAP-TYPE
                FROM RFC-1215;


-- For informaion on cpqHoTrapFlags please see CPQHOST MIB file        
--    compaq              OBJECT IDENTIFIER ::= { enterprises 232 }

cpqIoDrv OBJECT IDENTIFIER 
        ::= { compaq 172 }

cpqIoDrvMibRev OBJECT IDENTIFIER 
        ::= { cpqIoDrv 1 }

cpqIoDrvComponent OBJECT IDENTIFIER 
        ::= { cpqIoDrv 2 }

cpqIoDrvInfo OBJECT IDENTIFIER 
        ::= { cpqIoDrvComponent 1 }

cpqIoDrvExtn OBJECT IDENTIFIER 
        ::= { cpqIoDrvComponent 2 }

cpqIoDrvCapacity OBJECT IDENTIFIER 
        ::= { cpqIoDrvComponent 3 }

cpqIoDrvWrite OBJECT IDENTIFIER 
        ::= { cpqIoDrvComponent 4 }

cpqIoDrvTemp OBJECT IDENTIFIER 
        ::= { cpqIoDrvComponent 5 }

cpqIoDrvProc OBJECT IDENTIFIER 
        ::= { cpqIoDrvComponent 6 }

-- ****************************************************************************
--   HP IO Drive Information MIB Revision
--   =============================================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqIoDrv Group                 (1.3.6.1.4.1.232.172)
--       cpqIoDrvMibRev Group          (1.3.6.1.4.1.232.172.1)
--
--      Implementation of the cpqIoDrvMibRev group is mandatory for all agents
--      supporting the Compaq IO Drive MIB.
--
--      An Insight Agent conforming to this document will return a
--      cpqIoDrvMibRevMajor of one (1) and a cpqIoDrvMibRevMinor of seven (7).
--
-- ****************************************************************************

    cpqIoDrvMibRevMajor OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "Major MIB revision. This will increment when
             incompatible structural changes occur."
    ::= { cpqIoDrvMibRev 1 }

    cpqIoDrvMibRevMinor OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Minor MIB revision. This will increment when minor
             additions occur."
        ::= { cpqIoDrvMibRev 2 }

    cpqIoDrvMibCondition OBJECT-TYPE
        SYNTAX  INTEGER {
            other(1),
            ok(2),
            degraded(3),
            failed(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The overall condition (status) of the system represented by
             this MIB."
        ::= { cpqIoDrvMibRev 3 }
        
-- need to define the conditions based on other component

-- ****************************************************************************
--   IO Drive Information Group
--   ==============================================
--
-- The compaq enterprise            (1.3.6.1.4.1.232)
--      cpqIoDrv Group              (1.3.6.1.4.1.232.172)
--       cpqIoDrvComponent Group    (1.3.6.1.4.1.232.172.2)
--        cpqIoDrvInfo Group        (1.3.6.1.4.1.232.172.2.1)
--         cpqIoDrvInfoTable        (1.3.6.1.4.1.232.172.2.1.1)
--
-- ****************************************************************************

    cpqIoDrvInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqIoDrvInfoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "There will be an entry in this table for each IO Drive installed."
        ::= { cpqIoDrvInfo 1 }

    cpqIoDrvInfoEntry OBJECT-TYPE
        SYNTAX  CpqIoDrvInfoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Each entry represents an IO Drive device in system."
        INDEX {
                cpqIoDrvInfoIndex }
        ::= { cpqIoDrvInfoTable 1 }

        CpqIoDrvInfoEntry ::= SEQUENCE {
                cpqIoDrvInfoIndex                       INTEGER,
                cpqIoDrvInfoStatus                      INTEGER,
                cpqIoDrvInfoName                        DisplayString,
                cpqIoDrvInfoSerialNumber                DisplayString,
                cpqIoDrvInfoPartNumber                  DisplayString,
                cpqIoDrvInfoSubVendorPartNumber         DisplayString,
                cpqIoDrvInfoSparesPartNumber            DisplayString,
                cpqIoDrvInfoAssemblyNumber              DisplayString,
                cpqIoDrvInfoFirmwareVersion             DisplayString,
                cpqIoDrvInfoDriverVersion               DisplayString,
                cpqIoDrvInfoUID                         DisplayString,
                cpqIoDrvInfoState                       INTEGER,
                cpqIoDrvInfoClientDeviceName            DisplayString,
                cpqIoDrvInfoBeacon                      INTEGER,
                cpqIoDrvInfoPCIAddress                  DisplayString,
                cpqIoDrvInfoPCIDeviceID                 DisplayString,
                cpqIoDrvInfoPCISubdeviceID              DisplayString,
                cpqIoDrvInfoPCIVendorID                 DisplayString,
                cpqIoDrvInfoPCISubvendorID              DisplayString,
                cpqIoDrvInfoPCISlot                     INTEGER,
                cpqIoDrvInfoWearoutIndicator            INTEGER,
                cpqIoDrvInfoFlashbackIndicator          INTEGER,
                cpqIoDrvInfoNonWritableIndicator        INTEGER,
                cpqIoDrvInfoCurrentTemp                 INTEGER,
                cpqIoDrvInfoPercentLifeRemaining        INTEGER,
                cpqIoDrvInfoShortTermWearoutDate        DisplayString,
                cpqIoDrvInfoLongTermWearoutDate         DisplayString,
                cpqIoDrvInfoShortTermNonWritableDate    DisplayString,
                cpqIoDrvInfoLongTermNonWritableDate     DisplayString,
                cpqIoDrvInfoMinimalModeReason           INTEGER,
                cpqIoDrvInfoReducedWriteReason          INTEGER,
                cpqIoDrvInfoMilliVolts                  INTEGER,
                cpqIoDrvInfoMilliVoltsPeak              INTEGER,
                cpqIoDrvInfoMilliVoltsMin               INTEGER,
                cpqIoDrvInfoMilliWatts                  INTEGER,
                cpqIoDrvInfoMilliWattsPeak              INTEGER,
                cpqIoDrvInfoMilliAmps                   INTEGER,
                cpqIoDrvInfoMilliAmpsPeak               INTEGER,
                cpqIoDrvInfoAdapterType                 INTEGER,
                cpqIoDrvInfoAdapterPort                 INTEGER,
                cpqIoDrvInfoAdapterSerialNumber         DisplayString,
                cpqIoDrvInfoAdapterExtPowerPresent      INTEGER,
                cpqIoDrvInfoPowerlossProtectDisabled    INTEGER,
                cpqIoDrvInfoInternalTempHigh            INTEGER,
                cpqIoDrvInfoAmbientTemp                 INTEGER,
                cpqIoDrvInfoPCIBandwidthCompatibility   INTEGER,
                cpqIoDrvInfoPCIPowerCompatibility       INTEGER,
                cpqIoDrvInfoActualGoverningLevel        INTEGER,
                cpqIoDrvInfoLifespanGoverningLevel      INTEGER,
                cpqIoDrvInfoPowerGoverningLevel         INTEGER,
                cpqIoDrvInfoThermalGoverningLevel       INTEGER,
                cpqIoDrvInfoLifespanGoverningEnabled    INTEGER,
                cpqIoDrvInfoLifespanGoverningTgtDate    DisplayString }

    cpqIoDrvInfoIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Unique number index for each IO Drive entries."
        ::= { cpqIoDrvInfoEntry 1 }

    cpqIoDrvInfoStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                ok(2),
                degraded(3),
                failed(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The overall status of the unique IO Drive device."
        ::= { cpqIoDrvInfoEntry 2 }

    cpqIoDrvInfoName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "System control device name for this IO Drive."
        ::= { cpqIoDrvInfoEntry 3 }


    cpqIoDrvInfoSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "IO Drive serial number."
        ::= { cpqIoDrvInfoEntry 4 }

    cpqIoDrvInfoPartNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "IO Drive part number."
        ::= { cpqIoDrvInfoEntry 5 }

    cpqIoDrvInfoSubVendorPartNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Sub-vendor system part number of this device."
        ::= { cpqIoDrvInfoEntry 6 }
        

    cpqIoDrvInfoSparesPartNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The spares part number of this IO Drive."
        ::= { cpqIoDrvInfoEntry 7 }

    cpqIoDrvInfoAssemblyNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The assembly number of this IO Drive (HW revision)." 
        ::= { cpqIoDrvInfoEntry 8 }

    cpqIoDrvInfoFirmwareVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "IO Drive firmware version."
        ::= { cpqIoDrvInfoEntry 9 }


    cpqIoDrvInfoDriverVersion OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Device driver version of this IO Drive."
        ::= { cpqIoDrvInfoEntry 10 }


    cpqIoDrvInfoUID OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "IO Drive UID written at format time."
        ::= { cpqIoDrvInfoEntry 11 }

    cpqIoDrvInfoState OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                detached(1),
                attached(2),
                minimal(3),
                error(4),
                detaching(5),
                attaching(6),
                scanning(7),
                formatting(8),
                updating(9),
                attach(10),
                detach(11),
                format(12),
                update(13) }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "The current state of the attached client device.
             In order to function normally, the device must be
             in the 'attached' state.

             Quiescent states:

                 attached   = device is ready for normal use
                 detached   = device is stopped
                 minimal    = driver loaded but firmware needs updating
                 error      = device is not working properly

             Transitional states:

                 attaching  = device is initializing
                 scanning   = part of device initialization
                 detaching  = device is stopping
                 formatting = the format operation is in process
                 updating   = the firmware is being updated

             Operations:

                 attach     = make device operational
                 detach  = take device off-line
                 format  = re-formats device
                 update  = firmware update

             Device state must be minimal or detached to update the
             firmware and must be detached in order format."
        ::= { cpqIoDrvInfoEntry 12 }

    cpqIoDrvInfoClientDeviceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..25))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The name of the attached client device."
        ::= { cpqIoDrvInfoEntry 13 }


    cpqIoDrvInfoBeacon OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "Writing a true value here will turn on the LED
            flashing beacon for visual card identification. A
            false value will turn the LED beacon off."
        ::= { cpqIoDrvInfoEntry 14 }

    cpqIoDrvInfoPCIAddress OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..15))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "IO Drive address on the PCI bus."
        ::= { cpqIoDrvInfoEntry 15 }

    cpqIoDrvInfoPCIDeviceID OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..25))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "IO Drive PCI ID."
        ::= { cpqIoDrvInfoEntry 16 }


    cpqIoDrvInfoPCISubdeviceID OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..25))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The PCI subdevice ID of this IO Drive."
        ::= { cpqIoDrvInfoEntry 17 }

    cpqIoDrvInfoPCIVendorID OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..25))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The subvendor ID of this IO Drive."
        ::= { cpqIoDrvInfoEntry 18 }

    cpqIoDrvInfoPCISubvendorID OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..25))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The subvendor ID of this IO Drive."
        ::= { cpqIoDrvInfoEntry 19 }

    cpqIoDrvInfoPCISlot OBJECT-TYPE
        SYNTAX  INTEGER (0..16)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The PCI slot number of this IO Drive."
        ::= { cpqIoDrvInfoEntry 20 }

    cpqIoDrvInfoWearoutIndicator OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A true condition indicates that the device has
            surpassed the wearout threshold."
        ::= { cpqIoDrvInfoEntry 21 }

    cpqIoDrvInfoFlashbackIndicator OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A true condition indicates that flashback redundancy
            is degraded."
        ::= { cpqIoDrvInfoEntry 22 }

    cpqIoDrvInfoNonWritableIndicator OBJECT-TYPE
        SYNTAX  INTEGER {
                writeReduced(0),
                nonWritable(1),
                normal(2),
                unknown(3) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A value that indicates the writability of the device. This has been expanded to add the
             writeReduced value."
        ::= { cpqIoDrvInfoEntry 23 }

    cpqIoDrvInfoCurrentTemp OBJECT-TYPE
        SYNTAX  INTEGER (-100..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The current internal temperature of the device in Celsius."
        ::= { cpqIoDrvInfoEntry 24 }

    cpqIoDrvInfoPercentLifeRemaining OBJECT-TYPE
        SYNTAX  INTEGER (-1..100)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "An estimate of the health of the drive expressed
            as the remaining percentage of drive life before write rate
            is reduced due to wearout. If health percentage is not available
	        the value will be set to -1."
        ::= { cpqIoDrvInfoEntry 25 }

    cpqIoDrvInfoShortTermWearoutDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The date that the drive is estimated to reach the
            wearout threshold based on drive usage in the short-term
            interval."
        ::= { cpqIoDrvInfoEntry 26 }

    cpqIoDrvInfoLongTermWearoutDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The date that the drive is estimated to reach the
            wearout threshold based on drive usage in the long-term
            interval."
        ::= { cpqIoDrvInfoEntry 27 }

    cpqIoDrvInfoShortTermNonWritableDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The date that the drive is estimated  to go non-writable
            based on drive usage in the short-term interval."
        ::= { cpqIoDrvInfoEntry 28 }

    cpqIoDrvInfoLongTermNonWritableDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The date that the drive is estimated to go non-writable
            based on drive usage in the long-term interval."
        ::= { cpqIoDrvInfoEntry 29 }

    cpqIoDrvInfoMinimalModeReason OBJECT-TYPE
        SYNTAX  INTEGER {
                unknown(0),
                fwOutOfDate(1),
                lowPower(2),
                dualPlaneFail(3),
                internal(5),
                cardLimitExceeded(6),
                notInMinimalMode(7),
                unsupportedOS(8) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Reason card is in minimal mode."
        ::= { cpqIoDrvInfoEntry 30 }

    cpqIoDrvInfoReducedWriteReason OBJECT-TYPE
        SYNTAX  INTEGER {
                none(0),
                userRequested(1),
                noMdBlocks(2),
                noMemory(3),
                dieFailure(4),
                wearout(5),
                adapterPower(6),
                internal(7),
                powerLimiting(8),
                unavailable(9),
                groomFails(10) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Reason card is in reduced write mode."
        ::= { cpqIoDrvInfoEntry 31 }

    cpqIoDrvInfoMilliVolts OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Current voltage level of PCIe 12 volt bus in millivolts.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 32 }

    cpqIoDrvInfoMilliVoltsPeak OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Peak voltage level of PCIe 12 volt bus in millivolts.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 33 }

    cpqIoDrvInfoMilliVoltsMin OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Minimum voltage level of PCIe 12 volt bus in millivolts.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 34 }

    cpqIoDrvInfoMilliWatts OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Current wattage drawn on the PCIe 12 volt bus in milliwatts.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 35 }

    cpqIoDrvInfoMilliWattsPeak OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Peak wattage drawn on the PCIe 12 volt bus in milliwatts.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 36 }

    cpqIoDrvInfoMilliAmps OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Amperage flowing on the PCIe 12 volt bus in milliamps.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 37 }

    cpqIoDrvInfoMilliAmpsPeak OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Peak amperage flowing on the PCIe 12 volt bus in milliamps.
            A value of 0 means value could not be determined."
        ::= { cpqIoDrvInfoEntry 38 }

    cpqIoDrvInfoAdapterType OBJECT-TYPE
        SYNTAX  INTEGER {
                iodrive(0),
                iodriveLowPro2(1),
                iodriveDuo(2),
                iosan(3),
                unknown(4),
                ioOctal(5) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Type of ioDimm adapter."
        ::= { cpqIoDrvInfoEntry 39 }


    cpqIoDrvInfoAdapterPort OBJECT-TYPE
        SYNTAX  INTEGER (-1..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Port number of this ioDimm on the adapter. If port number
	     is not available the value will be set to -1."
        ::= { cpqIoDrvInfoEntry 40 }

    cpqIoDrvInfoAdapterSerialNumber OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Serial number of the adapter where this ioDimm is connected."
        ::= { cpqIoDrvInfoEntry 41 }

    cpqIoDrvInfoAdapterExtPowerPresent OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A true condition indicates that external power is connected
             on the adapter where this ioDimm is connected."
        ::= { cpqIoDrvInfoEntry 42 }

    cpqIoDrvInfoPowerlossProtectDisabled OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A true condition indicates that powerloss protection is
	     available but disabled."
        ::= { cpqIoDrvInfoEntry 43 }

    cpqIoDrvInfoInternalTempHigh OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A true condition indicates that the internal temperature is
	     nearing the maximum rating."
        ::= { cpqIoDrvInfoEntry 44 }

    cpqIoDrvInfoAmbientTemp OBJECT-TYPE
        SYNTAX  INTEGER (-100..100)
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The current ambient temperature of the device in Celsius."
        ::= { cpqIoDrvInfoEntry 45 }

    cpqIoDrvInfoPCIBandwidthCompatibility OBJECT-TYPE
        SYNTAX  INTEGER {
                incompatible(0),
                suboptimal(16),
                optimal(2048),
                unknown(32768) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The bandwidth compatibility of the PCI-E slot. If the value is not optimal,
             the status and condition variables will be set accordingly."
        ::= { cpqIoDrvInfoEntry 46 }

    cpqIoDrvInfoPCIPowerCompatibility OBJECT-TYPE
        SYNTAX  INTEGER {
                incompatible(0),
                suboptimal(16),
                optimal(2048),
                unknown(32768) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The power compatibility of the PCI-E slot. If the value is not optimal,
             the status and condition variables will be set accordingly."
        ::= { cpqIoDrvInfoEntry 47 }

    cpqIoDrvInfoActualGoverningLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                    none(0),
                    light(1),
                    moderate(2),
                    heavy(3),
                    unavailable(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The level of governing currently happening on the device.  This may be 
             due to any of several reasons.  Current reasons are because of high 
             temperature, power shortage, or to prolong life of the drive.
    
                 none           = no governing active
                 light          = light governing
                 moderate       = moderate governing
                 heavy          = heavy governing
                 unavailable    = governing level unavailable"
        ::= { cpqIoDrvInfoEntry 48 }
        
    cpqIoDrvInfoLifespanGoverningLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                    none(0),
                    light(1),
                    moderate(2),
                    heavy(3),
                    unavailable(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Governing may be impacted for the sake of prolonging longevity of the
             device.  This value indicates the level of contribution for longevity.
    
                 none           = no governing active
                 light          = light governing
                 moderate       = moderate governing
                 heavy          = heavy governing
                 unavailable    = governing level unavailable"
        ::= { cpqIoDrvInfoEntry 49 }
        
    cpqIoDrvInfoPowerGoverningLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                    none(0),
                    light(1),
                    moderate(2),
                    heavy(3),
                    unavailable(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Governing may be impacted due to a lack of power available to the
             device.  This value indicates the level of contribution due to
             lack of power.
    
                 none           = no governing active
                 light          = light governing
                 moderate       = moderate governing
                 heavy          = heavy governing
                 unavailable    = governing level unavailable"
        ::= { cpqIoDrvInfoEntry 50 }
        
    cpqIoDrvInfoThermalGoverningLevel OBJECT-TYPE
        SYNTAX  INTEGER {
                    none(0),
                    light(1),
                    moderate(2),
                    heavy(3),
                    unavailable(4) }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Governing may be impacted due to the device reaching high 
             temperatures.  This value indicates the level of contribution due to
             high temperatures.
    
                 none           = no governing active
                 light          = light governing
                 moderate       = moderate governing
                 heavy          = heavy governing
                 unavailable    = governing level unavailable"
        ::= { cpqIoDrvInfoEntry 51 }
        
    cpqIoDrvInfoLifespanGoverningEnabled OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "A true condition indicates that lifespan governing is enabled."
        ::= { cpqIoDrvInfoEntry 52 }
        
    cpqIoDrvInfoLifespanGoverningTgtDate OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The target lifespan governing date."
        ::= { cpqIoDrvInfoEntry 53 }
    
-- ****************************************************************************
--   IO Drive Information Group
--   ==============================================
--
-- The compaq enterprise            (1.3.6.1.4.1.232)
--      cpqIoDrv Group              (1.3.6.1.4.1.232.172)
--       cpqIoDrvComponent Group    (1.3.6.1.4.1.232.172.2)
--        cpqIoDrvExtn Group        (1.3.6.1.4.1.232.172.2.2)
--         cpqIoDrvExtnTable        (1.3.6.1.4.1.232.172.2.2.1)
--
-- ****************************************************************************

    cpqIoDrvExtnTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqIoDrvExtnEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "This table is extension of IO Drive information."
        ::= { cpqIoDrvExtn 1 }

    cpqIoDrvExtnEntry OBJECT-TYPE
        SYNTAX  CpqIoDrvExtnEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Addiotnal Informaiton about IO Drive will be populated in this 
             table."
        INDEX {
                cpqIoDrvExtnIndex }
        ::= { cpqIoDrvExtnTable 1 }

        CpqIoDrvExtnEntry ::= SEQUENCE {
                cpqIoDrvExtnIndex                     INTEGER,
                cpqIoDrvExtnTotalPhysicalCapacityU    Counter,
                cpqIoDrvExtnTotalPhysicalCapacityL    Counter,
                cpqIoDrvExtnUsablePhysicalCapacityU   Counter,
                cpqIoDrvExtnUsablePhysicalCapacityL   Counter,
                cpqIoDrvExtnUsedPhysicalCapacityU     Counter,
                cpqIoDrvExtnUsedPhysicalCapacityL     Counter,
                cpqIoDrvExtnTotalLogicalCapacityU     Counter,
                cpqIoDrvExtnTotalLogicalCapacityL     Counter,
                cpqIoDrvExtnAvailableLogicalCapacityU Counter,
                cpqIoDrvExtnAvailableLogicalCapacityL Counter,
                cpqIoDrvExtnBytesReadU                Counter,
                cpqIoDrvExtnBytesReadL                Counter,
                cpqIoDrvExtnPhysicalBytesWrittenU     Counter,
                cpqIoDrvExtnPhysicalBytesWrittenL     Counter,
        	cpqIoDrvExtnLogicalBytesWrittenU      Counter,
        	cpqIoDrvExtnLogicalBytesWrittenL      Counter,
        	cpqIoDrvExtnShortTermStartDate        DisplayString,
        	cpqIoDrvExtnShortTermWindow           INTEGER,
        	cpqIoDrvExtnShortTermEndDate          DisplayString,
        	cpqIoDrvExtnShortTermEndDateFloat     INTEGER,
        	cpqIoDrvExtnLongTermStartDate         DisplayString,
        	cpqIoDrvExtnLongTermWindow            INTEGER,
        	cpqIoDrvExtnLongTermEndDate           DisplayString,
        	cpqIoDrvExtnLongTermEndDateFloat      INTEGER,
        	cpqIoDrvExtnWriteRateAutoCalc         INTEGER,
        	cpqIoDrvExtnShortTermAvgU             Counter,
        	cpqIoDrvExtnShortTermAvgL             Counter,
        	cpqIoDrvExtnLongTermAvgU              Counter,
       	 	cpqIoDrvExtnLongTermAvgL              Counter,
	        cpqIoDrvExtnConfidenceInterval        INTEGER,
                cpqIoDrvExtnFormattedBlockSize        INTEGER,
                cpqIoDrvExtnCurrentRAMUsageU          Counter,
                cpqIoDrvExtnCurrentRAMUsageL          Counter,
                cpqIoDrvExtnPeakRAMUsageU             Counter,
                cpqIoDrvExtnPeakRAMUsageL             Counter }
    
    cpqIoDrvExtnIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Unique number index for each IO Drive extension entries.
             There will be one-one mapping between cpqIoDrvExtnIndex 
             and cpqIoDrvInfoIndex."
        ::= { cpqIoDrvExtnEntry 1 }
    
    cpqIoDrvExtnTotalPhysicalCapacityU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the max format size in bytes."
        ::= { cpqIoDrvExtnEntry 2 }

    cpqIoDrvExtnTotalPhysicalCapacityL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the max format size in bytes."
        ::= { cpqIoDrvExtnEntry 3 }

    cpqIoDrvExtnUsablePhysicalCapacityU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The upper word of the usable physical capacity
            in bytes. This is space that is holding valid data,
            is erased and ready for writing or waiting to be
            reclaimed via garbage collection."
        ::= { cpqIoDrvExtnEntry 4 }

    cpqIoDrvExtnUsablePhysicalCapacityL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The lower word of the usable physical capacity
            in bytes. This is space that is holding valid data,
            is erased and ready for writing or waiting to be
            reclaimed via garbage collection."
        ::= { cpqIoDrvExtnEntry 5 }

    cpqIoDrvExtnUsedPhysicalCapacityU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The upper word used physical capacity in bytes.
            This is the space holding valid, current data."
    ::= { cpqIoDrvExtnEntry 6 }

    cpqIoDrvExtnUsedPhysicalCapacityL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The lower word used physical capacity in bytes.
            This is the space holding valid, current data."
        ::= { cpqIoDrvExtnEntry 7 }

    cpqIoDrvExtnTotalLogicalCapacityU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the total logical capacity in
            bytes as formatted."
        ::= { cpqIoDrvExtnEntry 8 }

    cpqIoDrvExtnTotalLogicalCapacityL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the total logical capacity in
            bytes as formatted."
        ::= { cpqIoDrvExtnEntry 9 }

    cpqIoDrvExtnAvailableLogicalCapacityU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The upper word of the available logical capacity
            in bytes."
        ::= { cpqIoDrvExtnEntry 10 }

    cpqIoDrvExtnAvailableLogicalCapacityL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The lower word of the available logical capacity
            in bytes."
        ::= { cpqIoDrvExtnEntry 11 }

    cpqIoDrvExtnBytesReadU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the total number of bytes read
            since the device was formatted."
        ::= { cpqIoDrvExtnEntry 12 }

    cpqIoDrvExtnBytesReadL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the total number of bytes read
            since the device was formatted."
        ::= { cpqIoDrvExtnEntry 13 }

    cpqIoDrvExtnPhysicalBytesWrittenU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the total bytes written."
        ::= { cpqIoDrvExtnEntry 14 }

    cpqIoDrvExtnPhysicalBytesWrittenL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the total bytes written."
        ::= { cpqIoDrvExtnEntry 15 }

    cpqIoDrvExtnLogicalBytesWrittenU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The upper word of the number of user data bytes
            written."
        ::= { cpqIoDrvExtnEntry 16 }

    cpqIoDrvExtnLogicalBytesWrittenL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The lower word of the number of user data bytes
            written."
        ::= { cpqIoDrvExtnEntry 17 }

    cpqIoDrvExtnShortTermStartDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The start date used to characterize short-term
            drive usage."
        ::= { cpqIoDrvExtnEntry 18 }

    cpqIoDrvExtnShortTermWindow OBJECT-TYPE
        SYNTAX  INTEGER (0..100000)
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The number of hours in the short-term usage
            characterization window. If this value is non-zero,
            then the short-term start date will automatically
            track with the short-term end date by the number of
            hours specified."
        ::= { cpqIoDrvExtnEntry 19 }

    cpqIoDrvExtnShortTermEndDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The end date used to characterize short-term
            drive usage."
        ::= { cpqIoDrvExtnEntry 20 }

    cpqIoDrvExtnShortTermEndDateFloat OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "Set this variable true to automatically have the
            short-term end date automatically updated to
            the present date."
        ::= { cpqIoDrvExtnEntry 21 }

    cpqIoDrvExtnLongTermStartDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The start date used to characterize long-term
            drive usage."
        ::= { cpqIoDrvExtnEntry 22 }

    cpqIoDrvExtnLongTermWindow OBJECT-TYPE
        SYNTAX  INTEGER (0..100000)
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The number of hours in the long-term usage
            characterization window. If this value is non-zero,
            then the long-term start date will automatically
            track with the long-term end date by the number of
            hours specified."
        ::= { cpqIoDrvExtnEntry 23 }

    cpqIoDrvExtnLongTermEndDate OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The end date used to characterize long-term
            drive usage."
        ::= { cpqIoDrvExtnEntry 24 }

    cpqIoDrvExtnLongTermEndDateFloat OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "Set this variable true to automatically have the
            long-term end date automatically updated to
            the present date."
        ::= { cpqIoDrvExtnEntry 25 }

    cpqIoDrvExtnWriteRateAutoCalc OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "Set this true to automatically calculate the long-term
            and short-term average write rate based on the start and
            end dates selected. Otherwise, the average write rate must
            be set manually."
        ::= { cpqIoDrvExtnEntry 26 }

    cpqIoDrvExtnShortTermAvgU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The upper word of the short-term average write
            rate used to characterize drive usage. This will be
            automatically calculated based on short-term start and
            end dates if the auto calc value is true."
        ::= { cpqIoDrvExtnEntry 27 }

    cpqIoDrvExtnShortTermAvgL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The lower word of the short-term average write
            rate used to characterize drive usage. This will be
            automatically calculated based on short-term start and
            end dates if the auto calc value is true."
        ::= { cpqIoDrvExtnEntry 28 }

    cpqIoDrvExtnLongTermAvgU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The upper word of the long-term average write
            rate used to characterize drive usage. This will be
            automatically calculated based on long-term start and
            end dates if the auto calc value is true."
        ::= { cpqIoDrvExtnEntry 29 }

    cpqIoDrvExtnLongTermAvgL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "The lower word of the long-term average write
            rate used to characterize drive usage. This will be
            automatically calculated based on long-term start and
            end dates if the auto calc value is true."
        ::= { cpqIoDrvExtnEntry 30 }

    cpqIoDrvExtnConfidenceInterval OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        ACCESS  read-write
        STATUS  obsolete
        DESCRIPTION
            "This defines the confidence interval used to calculate
             the wearout and non-writable dates. Expressed as a
             percentage, this value reflects the confidence in the
             short and long-term averages used to characterize drive
             usage."
        ::= { cpqIoDrvExtnEntry 31 }
        
    cpqIoDrvExtnFormattedBlockSize OBJECT-TYPE
        SYNTAX  INTEGER (512..4096)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The block size that this device is formatted to use."
        ::= { cpqIoDrvExtnEntry 32 }

    cpqIoDrvExtnCurrentRAMUsageU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the current RAM usage in bytes for the drive."
        ::= { cpqIoDrvExtnEntry 33 }

    cpqIoDrvExtnCurrentRAMUsageL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the current RAM usage in bytes for the drive."
        ::= { cpqIoDrvExtnEntry 34 }

    cpqIoDrvExtnPeakRAMUsageU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the peak RAM usage in bytes for the drive."
        ::= { cpqIoDrvExtnEntry 35 }

    cpqIoDrvExtnPeakRAMUsageL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the peak RAM usage in bytes for the drive."
        ::= { cpqIoDrvExtnEntry 36 }

        
-- ****************************************************************************
--   IO Drive Information Group
--   ==============================================
--
-- The compaq enterprise            (1.3.6.1.4.1.232)
--      cpqIoDrv Group              (1.3.6.1.4.1.232.172)
--       cpqIoDrvComponent Group    (1.3.6.1.4.1.232.172.2)
--        cpqIoDrvCapacity Group    (1.3.6.1.4.1.232.172.2.3)
--         cpqIoDrvCapacityTable    (1.3.6.1.4.1.232.172.2.3.1)
--
-- ****************************************************************************

    cpqIoDrvCapacityTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqIoDrvCapacityEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "This table will describe the physical capacity of IO Drive."
        ::= { cpqIoDrvCapacity 1 }

    cpqIoDrvCapacityEntry OBJECT-TYPE
        SYNTAX  CpqIoDrvCapacityEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "Defines an entry of the usable physical capacity table"
        INDEX {
                cpqIoDrvCapacityInfoIndex,
                cpqIoDrvCapacityIndex }
        ::= { cpqIoDrvCapacityTable 1 }

        CpqIoDrvCapacityEntry ::= SEQUENCE {
                cpqIoDrvCapacityInfoIndex INTEGER,
                cpqIoDrvCapacityIndex     INTEGER,
                cpqIoDrvCapacityValueU    Counter,
                cpqIoDrvCapacityValueL    Counter,
                cpqIoDrvCapacityTimestamp DisplayString }
    
    cpqIoDrvCapacityInfoIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The ioDrive index. This correlates to the drive index
             in the info table."
        ::= { cpqIoDrvCapacityEntry 1 }

    cpqIoDrvCapacityIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..1000)
        ACCESS  read-only
        STATUS  optional
        DESCRIPTION
            "Unique index for the usable physical capacity
            log."
        ::= { cpqIoDrvCapacityEntry 2 }

    cpqIoDrvCapacityValueU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the physical usable capacity
             at this point in time"
        ::= { cpqIoDrvCapacityEntry 3 }

    cpqIoDrvCapacityValueL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the physical usable capacity
             at this point in time"
        ::= { cpqIoDrvCapacityEntry 4 }

    cpqIoDrvCapacityTimestamp OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The time stamp entry."
        ::= { cpqIoDrvCapacityEntry 5 }    
    
-- ****************************************************************************
--   IO Drive Information Group
--   ==============================================
--
-- The compaq enterprise            (1.3.6.1.4.1.232)
--      cpqIoDrv Group              (1.3.6.1.4.1.232.172)
--       cpqIoDrvComponent Group    (1.3.6.1.4.1.232.172.2)
--        cpqIoDrvWrite Group       (1.3.6.1.4.1.232.172.2.4)
--         cpqIoDrvWriteTable       (1.3.6.1.4.1.232.172.2.4.1)
--
-- ****************************************************************************

    cpqIoDrvWriteTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqIoDrvWriteEntry
        ACCESS  not-accessible
        STATUS  optional
        DESCRIPTION
            "This table will keep the history of writes on the IO Drive"
        ::= { cpqIoDrvWrite 1 }

    cpqIoDrvWriteEntry OBJECT-TYPE
        SYNTAX  CpqIoDrvWriteEntry
        ACCESS  not-accessible
        STATUS  optional
        DESCRIPTION
            "A log of write volume history."
        INDEX {
                cpqIoDrvWriteInfoIndex,
                cpqIoDrvWriteIndex }
        ::= { cpqIoDrvWriteTable 1 }

        CpqIoDrvWriteEntry ::= SEQUENCE {
                cpqIoDrvWriteInfoIndex   INTEGER,
                cpqIoDrvWriteIndex       INTEGER,
                cpqIoDrvWriteValueU      Counter,
                cpqIoDrvWriteValueL      Counter,
                cpqIoDrvWriteTimestamp   DisplayString }

    cpqIoDrvWriteInfoIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The ioDrive index. This correlates with the index
            in the info table."
        ::= { cpqIoDrvWriteEntry 1 }

    cpqIoDrvWriteIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..1000)
        ACCESS  read-only
        STATUS  optional
        DESCRIPTION
            "Unique index for this write volume entry."
        ::= { cpqIoDrvWriteEntry 2 }

    cpqIoDrvWriteValueU OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The upper word of the total physical number of
             bytes written at a given moment in time."
        ::= { cpqIoDrvWriteEntry 3 }

    cpqIoDrvWriteValueL OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The lower word of the total physical number of
             bytes written at a given moment in time."
        ::= { cpqIoDrvWriteEntry 4 }

    cpqIoDrvWriteTimestamp OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The time stamp entryfor this value."
        ::= { cpqIoDrvWriteEntry 5 }    

-- ****************************************************************************
--   IO Drive Information Group
--   ==============================================
--
-- The compaq enterprise            (1.3.6.1.4.1.232)
--      cpqIoDrv Group              (1.3.6.1.4.1.232.172)
--       cpqIoDrvComponent Group    (1.3.6.1.4.1.232.172.2)
--        cpqIoDrvTemp Group        (1.3.6.1.4.1.232.172.2.5)
--         cpqIoDrvTempTable        (1.3.6.1.4.1.232.172.2.5.1)
--
-- ****************************************************************************

    cpqIoDrvTempTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqIoDrvTempEntry
        ACCESS  not-accessible
        STATUS  optional
        DESCRIPTION
            "IO Drive temperature history table."
        ::= { cpqIoDrvTemp 1 }

    cpqIoDrvTempEntry OBJECT-TYPE
        SYNTAX  CpqIoDrvTempEntry
        ACCESS  not-accessible
        STATUS  optional
        DESCRIPTION
            "Log of IO Drive temperature."
        INDEX {
                cpqIoDrvTempInfoIndex,
                cpqIoDrvTempIndex }
        ::= { cpqIoDrvTempTable 1 }

        CpqIoDrvTempEntry ::= SEQUENCE {
                cpqIoDrvTempInfoIndex INTEGER,
                cpqIoDrvTempIndex     INTEGER,
                cpqIoDrvTempValue     INTEGER,
                cpqIoDrvTempTimestamp Counter }

    cpqIoDrvTempInfoIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The device index. This correlates to the index in
                the info table."
        ::= { cpqIoDrvTempEntry 1 }
    
    cpqIoDrvTempIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..255)
        ACCESS  read-only
        STATUS  optional
        DESCRIPTION
            "Unique index for this temperature log entry."
        ::= { cpqIoDrvTempEntry 2 }

    cpqIoDrvTempValue OBJECT-TYPE
        SYNTAX  INTEGER (0..50)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The current temperature of the device in Celsius."
        ::= { cpqIoDrvTempEntry 3 }

    cpqIoDrvTempTimestamp OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The timestamp for this entry."
        ::= { cpqIoDrvTempEntry 4 }    
        
-- ****************************************************************************
--   IO Drive Information Group
--   ==============================================
--
-- The compaq enterprise            (1.3.6.1.4.1.232)
--      cpqIoDrv Group              (1.3.6.1.4.1.232.172)
--       cpqIoDrvComponent Group    (1.3.6.1.4.1.232.172.2)
--        cpqIoDrvProc Group        (1.3.6.1.4.1.232.172.2.6)
--         cpqIoDrvProcTable        (1.3.6.1.4.1.232.172.2.6.1)
--
-- Now deprecated. The RAM usage can be found in the cpqIoDrvExtnTable.
--
-- ****************************************************************************

    cpqIoDrvProcTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqIoDrvProcEntry
        ACCESS  not-accessible
        STATUS  obsolete
        DESCRIPTION
            "A table of processes that support IO Drive operation."
        ::= { cpqIoDrvProc 1 }

    cpqIoDrvProcEntry OBJECT-TYPE
        SYNTAX  CpqIoDrvProcEntry
        ACCESS  not-accessible
        STATUS  obsolete
        DESCRIPTION
            "Each entry represents a process in the table."
        INDEX {
                cpqIoDrvProcIndex }
        ::= { cpqIoDrvProcTable 1 }

        CpqIoDrvProcEntry ::= SEQUENCE {
                cpqIoDrvProcIndex INTEGER,
                cpqIoDrvProcName  DisplayString,
                cpqIoDrvProcState DisplayString,
                cpqIoDrvProcRAM   Counter,
                cpqIoDrvProcCPU   INTEGER }
    
    cpqIoDrvProcIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..500)
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "A unique index for each process."
        ::= { cpqIoDrvProcEntry 1 }

    cpqIoDrvProcName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..50))
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The process name."
        ::= { cpqIoDrvProcEntry 2 }

    cpqIoDrvProcState OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..100))
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The process state."
        ::= { cpqIoDrvProcEntry 3 }

    cpqIoDrvProcRAM OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The bytes of RAM currently in use by the process."
        ::= { cpqIoDrvProcEntry 4 }

    cpqIoDrvProcCPU OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        ACCESS  read-only
        STATUS  obsolete
        DESCRIPTION
            "The overall percentage of CPU usage."
        ::= { cpqIoDrvProcEntry 5 }

-- ****************************************************************************
--   IO Drive Trap Definition
--   =====================================================
--
--  The compaq enterprise               (1.3.6.1.4.1.232)
--
--  The SNMP trap messages must not be bigger than 484 octets (bytes).
--
--  Trap support in an SNMP agent implementation is optional.  An SNMP
--  agent implementation may support all, some, or none of the traps.
--  If traps are supported, the user should be provided with the option of
--  disabling traps.
--
-- ****************************************************************************

    cpqIoDrvWearoutTrap  TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoWearoutIndicator,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION
            "IO Drive begins to wear out.
             
             This trap signifies that the agent has detected a wear out of 
             IO Drive configured with your system."

              --#TYPE "cpqIoDrvWearoutTrap (172001)"
              --#SUMMARY "IO Drive begins to wear out"
              --#ARGUMENTS {8}
              --#SEVERITY MINOR
              --#TIMEINDEX 99
              --#STATE   DEGRADED

        ::= 172001

    cpqIoDrvNonWritableTrap TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoNonWritableIndicator,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION 
             "IO Drive is not writeable due to excessive wear

             This trap signifies that IO Drive configured with system is not 
             writeable due to excessive wear.
             
            User Action: Replace the existing IO Drive to make it 
                         writable."

              --#TYPE "cpqIoDrvNonWritableTrap (172002)"
              --#SUMMARY "IO Drive is not writeable due to excessive wear."
              --#ARGUMENTS {8}
              --#SEVERITY CRITICAL
              --#TIMEINDEX 99
              --#STATE   DEGRADED            
            
        ::= 172002

    cpqIoDrvFlashbackTrap TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoFlashbackIndicator,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION 
             "IO Drive flashback protection becomes degraded

             This trap signifies that IO Drive flashback protection
             configured with system is degraded."
             
              --#TYPE "cpqIoDrvFlashbackTrap (172003)"
              --#SUMMARY "IO Drive flashback protection becomes degraded"
              --#ARGUMENTS {8}
              --#SEVERITY MINOR
              --#TIMEINDEX 99
              --#STATE   DEGRADED            
            
        ::= 172003
        
    cpqIoDrvTempHighTrap TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoCurrentTemp,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION 
            "Temperature sensor of IO Drive surpasses the threshold.

             This trap signifies that the temperature sensor of IO Drive 
             configured with system surpasses the threshold configured."
             
              --#TYPE "cpqIoDrvFlashbackTrap (172004)"
              --#SUMMARY "Temperature sensor of IO Drive surpasses the threshold"
              --#ARGUMENTS {8}
              --#SEVERITY MAJOR
              --#TIMEINDEX 99
              --#STATE   DEGRADED            
            
        ::= 172004

    cpqIoDrvTempOkTrap TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoCurrentTemp,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION 
            "Temperature sensor of IO Drive set below threshold.

             This trap signifies that the temperature sensor of IO Drive 
             configured with system surpasses the threshold configured."
             
              --#TYPE "cpqIoDrvFlashbackTrap (172005)"
              --#SUMMARY "Temperature sensor of IO Drive set below threshold"
              --#ARGUMENTS {8}
              --#SEVERITY INFORMATIONAL
              --#TIMEINDEX 99
              --#STATE   OPERATIONAL            
            
        ::= 172005

    cpqIoDrvErrorTrap TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoState,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION 
            "IO Drive is in an error state."

              --#TYPE "cpqIoDrvErrorTrap (172006)"
              --#SUMMARY "IO Drive is in an error state."
              --#ARGUMENTS {8}
              --#SEVERITY MAJOR
              --#TIMEINDEX 99
              --#STATE   DEGRADED            
            
        ::= 172006

    cpqIoDrvPowerlossProtectTrap TRAP-TYPE
        ENTERPRISE compaq
        VARIABLES {
                    sysName,
                    cpqHoTrapFlags,
                    cpqIoDrvInfoPowerlossProtectDisabled,
                    cpqIoDrvInfoIndex,
                    cpqIoDrvInfoName,
                    cpqIoDrvInfoFirmwareVersion,
                    cpqIoDrvInfoSparesPartNumber,
                    cpqIoDrvInfoSerialNumber,
                    cpqIoDrvInfoPCISlot}
        DESCRIPTION 
            "IO Drive powerloss protection is disabled."

              --#TYPE "cpqIoDrvPowerlossProtectTrap (172007)"
              --#SUMMARY "IO Drive powerloss protection is disabled."
              --#ARGUMENTS {8}
              --#SEVERITY INFORMATIONAL
              --#TIMEINDEX 99
              --#STATE   OPERATIONAL
            
        ::= 172007

END
