--  **********************************************************************************
--
--              Linux Operating System Management Functions
--         Management Information Base for SNMP Network Management
--
--
--      Copyright 2002,2003 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
--
-- ***********************************************************************************

CPQLINOS-MIB DEFINITIONS ::= BEGIN

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

--  compaq                 OBJECT IDENTIFIER ::= { enterprises 232 }
    cpqLinOsMgmt           OBJECT IDENTIFIER ::= { compaq 23 }

    cpqLinOsMibRev            OBJECT IDENTIFIER ::= { cpqLinOsMgmt 1 }
    cpqLinOsComponent         OBJECT IDENTIFIER ::= { cpqLinOsMgmt 2 }

    cpqLinOsInterface         OBJECT IDENTIFIER ::= { cpqLinOsComponent 1 }
    cpqLinOsSystem            OBJECT IDENTIFIER ::= { cpqLinOsComponent 2 }
    cpqLinOsProcessor         OBJECT IDENTIFIER ::= { cpqLinOsComponent 3 }
    cpqLinOsMemory            OBJECT IDENTIFIER ::= { cpqLinOsComponent 4 }
    cpqLinOsCache             OBJECT IDENTIFIER ::= { cpqLinOsComponent 5 }
    cpqLinOsPagingFile        OBJECT IDENTIFIER ::= { cpqLinOsComponent 6 }
    cpqLinOsDisk              OBJECT IDENTIFIER ::= { cpqLinOsComponent 7 }
    cpqLinOsNetworkInterface  OBJECT IDENTIFIER ::= { cpqLinOsComponent 10 }

    cpqLinOsCommon            OBJECT IDENTIFIER ::= { cpqLinOsInterface 4 }

-- ***********************************************************************************
--   Operating System Information MIB Revision
--   =========================================
--
-- The compaq enterprise        (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group      (1.3.6.1.4.1.232.23)
--       cpqLinOsMibRev Group   (1.3.6.1.4.1.232.23.1)
--
--
--      An SNMP agent conforming to this document will return a
--      cpqLinOsMibRevMajor of one (1) and a cpqLinOsMibRevMinor of one (1).
--
--      Implementation of the MibRev group is mandatory for all agents
--      supporting the Linux Operating System Management MIB.
--
-- ***********************************************************************************

    cpqLinOsMibRevMajor OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Major Revision level of the MIB.

            A change in the major revision level represents a major change
            in the architecture of the MIB.  A change in the major revision
            level may indicate a significant change in the information
            supported and/or the meaning of the supported information,
            correct interpretation of data may require a MIB document with
            the same major revision level."
        ::= { cpqLinOsMibRev 1 }

    cpqLinOsMibRevMinor OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Minor Revision level of the MIB.

            A change in the minor revision level may represent some minor
            additional support, no changes to any pre-existing information
            has occurred."
        ::= { cpqLinOsMibRev 2 }

    cpqLinOsMibCondition OBJECT-TYPE
        SYNTAX  INTEGER {
            other(1),
            ok(2),              -- default
            degraded(3),
            failed(4)
            }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The overall condition.

             This object represents the overall status of the Operating
             System management system represented by this MIB."
        ::= { cpqLinOsMibRev 3 }


-- ***********************************************************************************
--   Operating System MIB OS Common Group
--   ====================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group       (1.3.6.1.4.1.232.23.2)
--        cpqLinOsInterface Group      (1.3.6.1.4.1.232.23.2.1)
--         cpqLinOsCommon Group        (1.3.6.1.4.1.232.23.2.1.4)
--
--
--  Implementation of the cpqLinOsCommon group is mandatory for all
--  Agents that support the Linux OS Management MIB.
--
-- ***********************************************************************************

    cpqLinOsCommonPollFreq OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
            "The Management Agent's polling frequency.

            The frequency, in seconds, at which the Agent requests
            information from the device driver.  A frequency of zero (0)
            indicates that the Insight Agent retrieves the information upon
            request of a management station, it does not poll the device
            driver at a specific interval.

            If the poll frequency is zero (0) all attempts to write to this
            object will fail.  If the poll frequency is non-zero,
            setting this value will change the polling frequency of the
            Insight Agent.  Setting the poll frequency to zero (0) will
            always fail, an agent may also choose to fail any request to
            change the poll frequency to a value that would severely impact
            system performance."
        ::= { cpqLinOsCommon 1 }

    cpqLinOsCommonLastObservedPollCycle OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Management Agent's last polling cycle, measured in milliseconds.

        This quantity should be approximately the desired polling frequency,
        but because of scheduling variances, slight distortions are to be
             expected."
        ::= { cpqLinOsCommon 2 }

    cpqLinOsCommonLastObservedTimeSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The point in time where the last polling occured. This quantity counts
             the seconds from January 1, 1970 (UTC) on.
        This time stamp is implemented with the Linux gettimeofday
             call."
        ::= { cpqLinOsCommon 3 }

    cpqLinOsCommonLastObservedTimeMSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The point in time where the last polling occured. This quantity counts
             milliseconds of the last fraction of a second transpired.
        This time stamp is implemented with the Linux gettimeofday
             call and is only useful in conjunction with the previously described quantity."
        ::= { cpqLinOsCommon 4 }

-- ***********************************************************************************
--   Operating System MIB Operating System Group
--   ===========================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group       (1.3.6.1.4.1.232.23.2)
--        cpqLinOsSystem Group         (1.3.6.1.4.1.232.23.2.2)
--
--  The cpqLinOsSystem group describes the Operating Systems Performance properties.
--
-- ***********************************************************************************


    cpqLinOsSystemUpTime OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Total Time that the computer has been operational since it was
            last started."
        ::= { cpqLinOsSystem 2 }


    cpqLinOsSysContextSwitchesPersec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Context Switches/sec is the combined rate at which all processors on the
            computer are switched from one thread to another. Context switches occur
            when a running thread voluntarily relinquishes the processor, is preempted
            by a higher priority ready thread, or switches between user-mode and
            privileged (kernel) mode to use an Executive or subsystem service. It is
            the sum of Thread: Context Switches/sec for all threads running on all
            processors in the computer and is measured in numbers of switches. There
            are context switch counters on the System and Thread objects."
        ::= { cpqLinOsSystem 4 }

    cpqLinOsSysProcesses OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Processes is the number of processes in the computer at the time of data
            collection. Notice that this is an instantaneous count, not an average
            over the time interval. Each process represents the running of a program."
        ::= { cpqLinOsSystem 6 }

-- ***********************************************************************************
--   Operating System MIB Processor Group
--   ====================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group       (1.3.6.1.4.1.232.23.2)
--        cpqLinOsProcessor Group      (1.3.6.1.4.1.232.23.2.3)
--         cpqLinOsProcessorTable      (1.3.6.1.4.1.232.23.2.3.2)
--
--  The cpqLinOsProcessor group describes the Processors Performance properties.
--
-- ***********************************************************************************

    cpqLinOsProcessorTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqLinOsProcessorEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "A table of Processor Entries."
        ::= { cpqLinOsProcessor 2 }

    cpqLinOsProcessorEntry OBJECT-TYPE
        SYNTAX  CpqLinOsProcessorEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "A Processor Entry."
        INDEX   { cpqLinOsCpuIndex }
        ::= { cpqLinOsProcessorTable 1 }

        CpqLinOsProcessorEntry ::= SEQUENCE {
            cpqLinOsCpuIndex                  INTEGER,
            cpqLinOsCpuInstance               DisplayString,
            cpqLinOsCpuInterruptsPerSec       INTEGER,
            cpqLinOsCpuTimePercent            INTEGER,
            cpqLinOsCpuUserTimePercent        INTEGER,
            cpqLinOsCpuPrivilegedTimePercent  INTEGER
        }

    cpqLinOsCpuIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "This Processor Instance number."
        ::= { cpqLinOsProcessorEntry 1 }

    cpqLinOsCpuInstance OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "This Processor Instance Name."
        ::= { cpqLinOsProcessorEntry 2 }

    cpqLinOsCpuInterruptsPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Interrupts/sec is the average number of hardware interrupts the processor
            is receiving and servicing in each second. It does not include DPCs, which
            are counted separately. This value is an indirect indicator of the
            activity of devices that generate interrupts, such as the system clock,
            the mouse, disk drivers, data communication lines, network interface cards
            and other peripheral devices. These devices normally interrupt the
            processor when they have completed a task or require attention. Normal
            thread execution is suspended during interrupts. Most system clocks
            interrupt the processor every 10 milliseconds, creating a background of
            interrupt activity."
        ::= { cpqLinOsProcessorEntry 3 }

    cpqLinOsCpuTimePercent OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "%Processor Time is the percentage of time that the processor is executing
            a non-Idle thread. This counter was designed as a primary indicator of
            processor activity. It is calculated by measuring the time that the
            processor spends executing the thread of the Idle process in each sample
            interval, and subtracting that value from 100%. (Each processor has an
            Idle thread which consumes cycles when no other threads are ready to run.)
            It can be viewed as the fraction of the time spent doing useful work."
        ::= { cpqLinOsProcessorEntry 4 }


    cpqLinOsCpuUserTimePercent OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "%User Time is the percentage of non-idle processor time spent in user
            mode. User mode is a restricted processing mode designed for applications,
            environment subsystems, and integral subsystems. The alternative,
            privileged mode, is designed for operating system components and allows
            direct access to hardware and all memory. The operating system switches
            application threads to privileged mode to obtain operating system
            services."

        ::= { cpqLinOsProcessorEntry 7 }

    cpqLinOsCpuPrivilegedTimePercent OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "%Privileged Time is the percentage of non-idle processor time spent in
            privileged mode. (Privileged mode is a processing mode designed for
            operating system components and hardware-manipulating drivers. It allows
            direct access to hardware and all memory. The alternative, user mode, is
            a restricted processing mode designed for applications, environment
            subsystems, and integral subsystems. The operating system switches
            application threads to privileged mode to obtain operating system
            services.) %Privileged Time includes time servicing interrupts and DPCs.
            A high rate of privileged time might be attributable to a large number
            of interrupts generated by a failing device."
        ::= { cpqLinOsProcessorEntry 8 }


-- ***********************************************************************************
--   Operating System MIB Memory Group
--   =================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group       (1.3.6.1.4.1.232.23.2)
--        cpqLinOsMemory Group         (1.3.6.1.4.1.232.23.2.4)
--
--  The cpqLinOsMemory group describes the System Memory Performance properties.
--
-- ***********************************************************************************

    cpqLinOsMemTotal OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Total amount of RAM available to the operating system. This is
        in most cases slightly less than the total amount of system memory
        and might be further restricted by the boot parameter 'mem'."
        ::= { cpqLinOsMemory 2 }

    cpqLinOsMemFree OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Total amount of RAM that the operating system is currently not claiming."
        ::= { cpqLinOsMemory 3 }

    cpqLinOsMemHighTotal OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Total amount of memory in the high region.

             Highmem is all memory above (approx) 860MB of physical RAM. The kernel
             uses indirect tricks to access the high memory region.
             Data cache can go in this memory region."
        ::= { cpqLinOsMemory 4 }

    cpqLinOsMemHighFree OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "The amount of free memory of the high memory region."
        ::= { cpqLinOsMemory 5 }

    cpqLinOsMemLowTotal OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "The total amount of memory in the low memory region.

             This is the memory the kernel can address directly. All kernel
             datastructures need to go into low memory."
        ::= { cpqLinOsMemory 6 }

    cpqLinOsMemLowFree OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "The amount of free memory of the low memory region."
        ::= { cpqLinOsMemory 7 }

    cpqLinOsMemSwapTotal OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "The total amount of swap space.

             This is the sum of the capacities of all swap partitions."
        ::= { cpqLinOsMemory 8 }

    cpqLinOsMemSwapFree OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "The amount of free swap space."
        ::= { cpqLinOsMemory 9 }

    cpqLinOsMemCached OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "Memory in the page cache (diskcache) minus SwapCache."
        ::= { cpqLinOsMemory 10 }

    cpqLinOsMemSwapCached OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Memory that once was swapped out, is swapped back in but still
              also is in the swapfile.
              If memory is needed it doesn't need to be swapped out again,
              because it is already in the swapfile. This saves I/O."
        ::= { cpqLinOsMemory 11 }

    cpqLinOsMemActive OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
             "Memory that has been used more recently and usually not reclaimed
              unless absolutely necessary."
        ::= { cpqLinOsMemory 12 }

    cpqLinOsMemInactiveDirty OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
              "Dirty means 'might need writing to disk or swap'.
               This takes more work to free. Examples might be files that have not
               been written to yet. They aren't written to memory too soon in order to
               keep the I/O down. For instance, if you're writing logs, it might be
               better to wait until you have a complete log ready before sending it
               to disk."
        ::= { cpqLinOsMemory 13 }

    cpqLinOsMemInactiveClean OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
              "Assumed to be easily freeable.
               The kernel will try to keep some clean stuff around always to have a
               bit of breathing room."
        ::= { cpqLinOsMemory 14 }

-- ***********************************************************************************
--   Operating System MIB Paging File Group
--   ======================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group       (1.3.6.1.4.1.232.23.2)
--        cpqLinOsPagingFile Group     (1.3.6.1.4.1.232.23.2.6)
--         cpqLinOsPagingFileTable     (1.3.6.1.4.1.232.23.2.6.2)
--
--  The cpqLinOsPagingFile group describes the System Paging File Performance properties.
--
-- ***********************************************************************************

    cpqLinOsSwapInPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
           "The amount of memory being swapped in from swap files. This might be pages
            being retrieved because of a page fault or any other data.
            The unit is kB/s."
        ::= { cpqLinOsPagingFile 2 }

    cpqLinOsSwapOutPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
           "The amount of memory being swapped out into swap files. This might be pages
            or any other data.
            The unit is kB/s."
        ::= { cpqLinOsPagingFile 3 }

    cpqLinOsPageSwapInPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
           "The amount of pages being swapped in from swap files. This is in response
            to a major page fault."
        ::= { cpqLinOsPagingFile 4 }

    cpqLinOsPageSwapOutPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
      "The amount of pages being swapped out to disk. This is usually in response
            to tight memory situations where sleeping processes get put out to disk."
        ::= { cpqLinOsPagingFile 5 }

    cpqLinOsMinFltPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
           "The amount of minor faults per second system wide.
       Minor page faults are faults that trigger a page transfer from somewhere
            in memory as opposed to page transfer from a hard disk."
        ::= { cpqLinOsPagingFile 6 }

    cpqLinOsMajFltPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
           "The amount of major faults per second system wide.
       Major page faults are faults that trigger a page transfer from a hard disk
            s opposed to page transfer from memory."
        ::= { cpqLinOsPagingFile 7 }

-- ***********************************************************************************
--   Operating System MIB Physical Disk Group
--   ========================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group          (1.3.6.1.4.1.232.23.2)
--        cpqLinOsDisk Group      (1.3.6.1.4.1.232.23.2.7)
--         cpqLinOsDiskTable      (1.3.6.1.4.1.232.23.2.7.2)
--
--  The cpqLinOsDisk group describes the Disk Performance properties.
--
-- ***********************************************************************************


    cpqLinOsDiskTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqLinOsDiskEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "A table of Physical Disk Entries."
        ::= { cpqLinOsDisk 2 }

    cpqLinOsDiskEntry OBJECT-TYPE
        SYNTAX  CpqLinOsDiskEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "A Physical Disk Entry."
        INDEX   { cpqLinOsDiskMajorIndex, cpqLinOsDiskMinorIndex }
        ::= { cpqLinOsDiskTable 1 }

        CpqLinOsDiskEntry ::= SEQUENCE {
      cpqLinOsDiskMajorIndex        INTEGER,
      cpqLinOsDiskMinorIndex        INTEGER,
      cpqLinOsDiskName        DisplayString,
      cpqLinOsDiskScsiIndex         INTEGER,
      cpqLinOsDiskWriteIos       INTEGER,
      cpqLinOsDiskWriteMerges       INTEGER,
      cpqLinOsDiskWriteSectors      INTEGER,
      cpqLinOsDiskWriteDurationMs      INTEGER,
      cpqLinOsDiskWriteIosPerSec    INTEGER,
      cpqLinOsDiskWriteSectorsPerSec      INTEGER,
      cpqLinOsDiskWriteDurationMsPerIos   INTEGER,
      cpqLinOsDiskReadIos        INTEGER,
      cpqLinOsDiskReadMerges        INTEGER,
      cpqLinOsDiskReadSectors       INTEGER,
      cpqLinOsDiskReadDurationMs    INTEGER,
      cpqLinOsDiskReadIosPerSec     INTEGER,
      cpqLinOsDiskReadSectorsPerSec    INTEGER,
      cpqLinOsDiskReadDurationMsPerIos INTEGER
        }

    cpqLinOsDiskMajorIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The major number of the device (in the traditional Unix sense)."
        ::= { cpqLinOsDiskEntry 1 }

    cpqLinOsDiskMinorIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The minor number of the device (in the traditional Unix sense)."
        ::= { cpqLinOsDiskEntry 2 }

    cpqLinOsDiskName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Physical Disk Instance Name."
        ::= { cpqLinOsDiskEntry 3 }

    cpqLinOsDiskScsiIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
      "These are the four numbers that the SCSI subsystem uses to index
            devices, often written as <host_no, channel, id, lun>.
            The index can be expressed as
            (id | (lun << 8) | (channel << 16) | (host_no << 24))."
        ::= { cpqLinOsDiskEntry 4 }

    cpqLinOsDiskWriteIos OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of write operations that transpired within the
             last polling interval."
        ::= { cpqLinOsDiskEntry 5 }

    cpqLinOsDiskWriteMerges OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of write operations that were coalesced with other
             operations during the last polling interval."
        ::= { cpqLinOsDiskEntry 6 }

    cpqLinOsDiskWriteSectors OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of sectors written out to disk during the last polling
             interval."
        ::= { cpqLinOsDiskEntry 7 }

    cpqLinOsDiskWriteDurationMs OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Cumulative and concurrent count of milliseconds all write operations took to
             complete in the last polling interval."
        ::= { cpqLinOsDiskEntry 8 }

    cpqLinOsDiskWriteIosPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Write operations per second within that last polling interval."
        ::= { cpqLinOsDiskEntry 9 }

    cpqLinOsDiskWriteSectorsPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Write sectors per second within the last polling interval."
        ::= { cpqLinOsDiskEntry 10 }

    cpqLinOsDiskWriteDurationMsPerIos OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Average milliseconds it took to complete a write operation."
        ::= { cpqLinOsDiskEntry 11 }

    cpqLinOsDiskReadIos OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of read operations that transpired within the
             last polling interval."
        ::= { cpqLinOsDiskEntry 12 }

    cpqLinOsDiskReadMerges OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of read operations that were coalesced with other
             operations during the last polling interval."
        ::= { cpqLinOsDiskEntry 13 }

    cpqLinOsDiskReadSectors OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of sectors written out to disk during the last polling
             interval."
        ::= { cpqLinOsDiskEntry 14 }

    cpqLinOsDiskReadDurationMs OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Cumulative and concurrent count of milliseconds all read operations took to
             complete in the last polling interval."
        ::= { cpqLinOsDiskEntry 15 }

    cpqLinOsDiskReadIosPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Read operations per second within that last polling interval."
        ::= { cpqLinOsDiskEntry 16 }

    cpqLinOsDiskReadSectorsPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Read sectors per second within the last polling interval."
        ::= { cpqLinOsDiskEntry 17 }

    cpqLinOsDiskReadDurationMsPerIos OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Average milliseconds it took to complete a write operation."
        ::= { cpqLinOsDiskEntry 18 }

-- ***********************************************************************************
--   Operating System MIB Network Interface Group
--   ============================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqLinOsMgmt Group             (1.3.6.1.4.1.232.23)
--       cpqLinOsComponent Group          (1.3.6.1.4.1.232.23.2)
--        cpqLinOsNetworkInterface Group  (1.3.6.1.4.1.232.23.2.10)
--         cpqLinOsNetworkInterfaceTable  (1.3.6.1.4.1.232.23.2.10.2)
--
--  The cpqLinOsNetworkInterface group describes the Network Performance properties.
--
-- ***********************************************************************************

    cpqLinOsNetworkInterfaceTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CpqLinOsNetworkInterfaceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "A table of Network Interface Entries."
        ::= { cpqLinOsNetworkInterface 2 }

    cpqLinOsNetworkInterfaceEntry OBJECT-TYPE
        SYNTAX  CpqLinOsNetworkInterfaceEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
            "A Network Interface Entry."
        INDEX   { cpqLinOsNetworkInterfaceIndex }
        ::= { cpqLinOsNetworkInterfaceTable 1 }

        CpqLinOsNetworkInterfaceEntry ::= SEQUENCE {
            cpqLinOsNetworkInterfaceIndex             INTEGER,
            cpqLinOsNetworkInterfaceName              DisplayString,
            cpqLinOsNetworkInterfaceTxBytes           INTEGER,
            cpqLinOsNetworkInterfaceTxPackets         INTEGER,
            cpqLinOsNetworkInterfaceTxBytesPerSec     INTEGER,
            cpqLinOsNetworkInterfaceTxPacketsPerSec   INTEGER,
            cpqLinOsNetworkInterfaceRxBytes           INTEGER,
            cpqLinOsNetworkInterfaceRxPackets         INTEGER,
            cpqLinOsNetworkInterfaceRxBytesPerSec     INTEGER,
            cpqLinOsNetworkInterfaceRxPacketsPerSec   INTEGER
        }

    cpqLinOsNetworkInterfaceIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Network Interface Instance number."
        ::= { cpqLinOsNetworkInterfaceEntry 1 }

    cpqLinOsNetworkInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..64))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
            "The Network Interface Instance Name."
        ::= { cpqLinOsNetworkInterfaceEntry 2 }

    cpqLinOsNetworkInterfaceTxBytes OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of bytes that were transmitted from the network interface
             within the last polling interval."
        ::= { cpqLinOsNetworkInterfaceEntry 3 }

    cpqLinOsNetworkInterfaceTxPackets OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of packets that were transmitted from the network interface
             within the last polling interval."
        ::= { cpqLinOsNetworkInterfaceEntry 4 }

    cpqLinOsNetworkInterfaceTxBytesPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of bytes per second that were transmitted from the network
             interface."
        ::= { cpqLinOsNetworkInterfaceEntry 5 }

    cpqLinOsNetworkInterfaceTxPacketsPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of packets per second that were transmitted from the network
             interface."
        ::= { cpqLinOsNetworkInterfaceEntry 6 }

    cpqLinOsNetworkInterfaceRxBytes OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of bytes that were received from the network interface
             within the last polling interval."
        ::= { cpqLinOsNetworkInterfaceEntry 7 }

    cpqLinOsNetworkInterfaceRxPackets OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of packets that were received from the network interface
             within the last polling interval."
        ::= { cpqLinOsNetworkInterfaceEntry 8 }

    cpqLinOsNetworkInterfaceRxBytesPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of bytes per second that were received from the network
             interface."
        ::= { cpqLinOsNetworkInterfaceEntry 9 }

    cpqLinOsNetworkInterfaceRxPacketsPerSec OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
       "Number of packets per second that were received from the network
             interface."
        ::= { cpqLinOsNetworkInterfaceEntry 10 }
END
