-- ****************************************************************************
--
--                External MIB Status Management Functions
--         Management Information Base for SNMP Network Management
--
--
--      Copyright 1997,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
--
-- ****************************************************************************

CPQEXTERNAL-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       compaq                  FROM CPQHOST-MIB
       enterprises             FROM RFC1155-SMI
       DisplayString           FROM RFC1213-MIB
       OBJECT-TYPE             FROM RFC-1212;

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

   cpqExternalMgmt    OBJECT IDENTIFIER ::= { compaq 17 }

   cpqExMibRev        OBJECT IDENTIFIER ::= { cpqExternalMgmt 1 }
   cpqExComponent     OBJECT IDENTIFIER ::= { cpqExternalMgmt 2 }

   cpqExInterface     OBJECT IDENTIFIER ::= { cpqExComponent 1 }
   cpqExStatus        OBJECT IDENTIFIER ::= { cpqExComponent 2 }

   cpqExOsCommon      OBJECT IDENTIFIER ::= { cpqExInterface 4 }

-- ****************************************************************************
--   External MIB Information MIB Revision
--   =====================================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqExternalMgmt Group          (1.3.6.1.4.1.232.17)
--       cpqExMibRev Group             (1.3.6.1.4.1.232.17.1)
--
--
--      An SNMP agent conforming to this document will return a
--      cpqExMibRevMajor of one (1) and a cpqExMibRevMinor of one (1).
--
--      Implementation of the cpqExMibRev group is mandatory for all agents
--      supporting the External Status MIB Management MIB.
--
-- ****************************************************************************

   cpqExMibRevMajor 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."
       ::= { cpqExMibRev 1 }

   cpqExMibRevMinor 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."
       ::= { cpqExMibRev 2 }

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

           This object represents the overall status of the
           external MIB management system represented by this MIB.

           This status is the aggregate of all external (non-Compaq
           enterprise) MIBs supported by this agent."
       ::= { cpqExMibRev 3 }

-- ****************************************************************************
--   External MIB OS Common Group
--   ============================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqExternalMgmt Group          (1.3.6.1.4.1.232.17)
--       cpqExComponent Group          (1.3.6.1.4.1.232.17.2)
--        cpqExInterface Group         (1.3.6.1.4.1.232.17.2.1)
--         cpqExOsCommon Group         (1.3.6.1.4.1.232.17.2.1.4)
--          cpqExOsCommonModuleTable   (1.3.6.1.4.1.232.17.2.1.4.2) deprecated
--
--  Implementation of the cpqExOsCommon group is mandatory for all
--  agents that support the External MIB Status Management MIB.
--
-- ****************************************************************************

   cpqExOsCommonPollFreq OBJECT-TYPE
       SYNTAX  INTEGER (0..2147483647)
       ACCESS  read-write
       STATUS  mandatory
       DESCRIPTION
           "The Insight Agent's polling frequency.

           The frequency, in seconds, at which the Insight Agent requests
           information from.  A frequency of zero indicates that the
           Insight Agent retrieves the information upon request of a
           management station, it does not poll 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 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."
       ::= { cpqExOsCommon 1 }

   cpqExOsCommonModuleTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF CpqExOsCommonModuleEntry
       ACCESS  not-accessible
       STATUS  deprecated
       DESCRIPTION
           "A table of software modules that provide an interface to the
           device this MIB describes."
       ::= { cpqExOsCommon 2 }

   cpqExOsCommonModuleEntry OBJECT-TYPE
       SYNTAX  CpqExOsCommonModuleEntry
       ACCESS  not-accessible
       STATUS  deprecated
       DESCRIPTION
           "A description of a software modules that provide an interface
           to the device this MIB describes."
       INDEX   { cpqExOsCommonModuleIndex }
       ::= { cpqExOsCommonModuleTable 1 }

       CpqExOsCommonModuleEntry ::= SEQUENCE {
           cpqExOsCommonModuleIndex       INTEGER,
           cpqExOsCommonModuleName        DisplayString,
           cpqExOsCommonModuleVersion     DisplayString,
           cpqExOsCommonModuleDate        OCTET STRING,
           cpqExOsCommonModulePurpose     DisplayString
       }

   cpqExOsCommonModuleIndex OBJECT-TYPE
       SYNTAX  INTEGER (0..255)
       ACCESS  read-only
       STATUS  deprecated
       DESCRIPTION
           "A unique index for this module description."
       ::= { cpqExOsCommonModuleEntry 1 }

   cpqExOsCommonModuleName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       ACCESS  read-only
       STATUS  deprecated
       DESCRIPTION
           "The module name."
       ::= { cpqExOsCommonModuleEntry 2 }

   cpqExOsCommonModuleVersion OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..5))
       ACCESS  read-only
       STATUS  deprecated
       DESCRIPTION
           "The module version in XX.YY format.

           Where XX is the major version number and YY is the minor version
           number.  This field will be a null (size 0) string if the agent
           cannot provide the module version."
       ::= { cpqExOsCommonModuleEntry 3 }

   cpqExOsCommonModuleDate OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (7))
       ACCESS  read-only
       STATUS  deprecated
       DESCRIPTION
           "The module date.

            field  octets  contents                  range
            =====  ======  =======                  =====
              1      1-2   year                      0..65536
              2       3    month                     1..12
              3       4    day                       1..31
              4       5    hour                      0..23
              5       6    minute                    0..59
              6       7    second                    0..60
                           (use 60 for leap-second)


           This field will be set to year = 0 if the agent cannot provide
           the module date.  The hour, minute, and second field will be set
           to zero (0) if they are not relevant.  The year field is set
           with the most significant octet first."
       ::= { cpqExOsCommonModuleEntry 4 }

   cpqExOsCommonModulePurpose OBJECT-TYPE
          SYNTAX  DisplayString (SIZE (0..255))
          ACCESS  read-only
          STATUS  deprecated
          DESCRIPTION
              "The purpose of the module described in this entry."
          ::= { cpqExOsCommonModuleEntry 5 }

-- ****************************************************************************
--   External MIB Status Group
--   =========================
--
-- The compaq enterprise               (1.3.6.1.4.1.232)
--      cpqExternalMgmt Group          (1.3.6.1.4.1.232.17)
--       cpqExComponent Group          (1.3.6.1.4.1.232.17.2)
--        cpqExStatus Group            (1.3.6.1.4.1.232.17.2.2)
--         cpqExstatusTable            (1.3.6.1.4.1.232.17.2.2.2)
--
--      The cpqExstatus group describes the table for controlling querying
--      external (non-Compaq enterprise) MIBs and provides a method of
--      reporting this status back to the Insight Management console.
--
--      Implementation of the cpqExStatus group is optional for agents
--      supporting the External MIB Status Management MIB.
--
-- ****************************************************************************

   cpqExExternalCondition OBJECT-TYPE
       SYNTAX  INTEGER {
           other(1),
           ok(2),
           degraded(3),
           failed(4)
           }
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
           "The condition of the external mib status table as a whole."
       ::= { cpqExStatus 1 }

   cpqExExternalStatusTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF CpqExExternalStatusEntry
       ACCESS  not-accessible
       STATUS  mandatory
       DESCRIPTION
           "A list of status entries for external MIBs."
       ::= { cpqExStatus 2 }

   cpqExExternalStatusEntry OBJECT-TYPE
       SYNTAX  CpqExExternalStatusEntry
       ACCESS  not-accessible
       STATUS  mandatory
       DESCRIPTION
           "A list of status OIDs used to check external MIB status
           values.  The table also lists how the values will be
           interpreted."
       INDEX { cpqExExternalStatusIndex }
       ::= { cpqExExternalStatusTable 1 }

   CpqExExternalStatusEntry ::= SEQUENCE {
       cpqExExternalStatusIndex                 INTEGER,
       cpqExExternalStatusInterval              INTEGER,
       cpqExExternalStatusVariable              OBJECT IDENTIFIER,
       cpqExExternalStatusValid                 INTEGER,
       cpqExExternalStatusValue                 INTEGER,
       cpqExExternalStatusCondition             INTEGER,
       cpqExExternalStatusOkValues              DisplayString,
       cpqExExternalStatusDegradedValues        DisplayString,
       cpqExExternalStatusFailedValues          DisplayString
   }

   cpqExExternalStatusIndex OBJECT-TYPE
       SYNTAX  INTEGER
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "An index that uniquely identifies an entry in the
           cpqExExternalStatusTable table."
       ::= { cpqExExternalStatusEntry 1 }

   cpqExExternalStatusInterval OBJECT-TYPE
       SYNTAX  INTEGER
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "The interval, in seconds, between consecutive samples of
           the data."
       ::= { cpqExExternalStatusEntry 2 }

   cpqExExternalStatusVariable OBJECT-TYPE
       SYNTAX  OBJECT IDENTIFIER
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "The object identifier of the particular variable to be
           sampled.  Only variables that resolve to an ASN.1 primitive
           type of INTEGER (INTEGER, Counter, Gauge, or TimeTicks) may
           be sampled."
       ::= { cpqExExternalStatusEntry 3 }

   cpqExExternalStatusValid OBJECT-TYPE
       SYNTAX  INTEGER {
           false(1),
           true(2)
           }
       ACCESS read-only
       STATUS mandatory
       DESCRIPTION
           "This value will be true(2) if the object identifier
           (cpqExExternalStatusVariable) was successfully retrieved
           during the last sampling period.  If the object identifier
           was not available or could not be queried, the value will
           be false(1)."
       ::= { cpqExExternalStatusEntry 4 }

   cpqExExternalStatusValue OBJECT-TYPE
       SYNTAX  INTEGER
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "The value of the object identifier
           (cpqExExternalStatusVariable) during the last sampling
           period.  The value during the current sampling period is
           not made available until the period is completed."
       ::= { cpqExExternalStatusEntry 5 }

   cpqExExternalStatusCondition OBJECT-TYPE
       SYNTAX  INTEGER {
           other(1),
           ok(2),
           degraded(3),
           failed(4)
           }
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "The condition of the external mib status variable.  If
           the value does not exist or was of an invalid data type,
           this will be set to other(1).

           The value will also be set to other(1) if the data
           returned does not match any of the defined values in the
           cpqExExternalStatusOkValues, cpqExExternalStatusDegradedValues,
           or cpqExExternalStatusFailedValues as defined."
       ::= { cpqExExternalStatusEntry 6 }

   cpqExExternalStatusOkValues OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..80))
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "This is a textual list of possible values which can
           be compared to the actual value retrieved from
           cpqExExternalStatusVariable during the last sampling
           period.  This string value will be composed of a comma
           separated list of signed integer values with an optional
           range indicated by two integers separated by two periods.

              Example: -1,2..4,11

           The above would interpret the values -1, 2, 3, 4, and 11
           as indicating an Ok condition."
       ::= { cpqExExternalStatusEntry 7 }

   cpqExExternalStatusDegradedValues OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..80))
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "This is a textual list of possible values which can
           be compared to the actual value retrieved from
           cpqExExternalStatusVariable during the last sampling
           period.  This string value will be composed of a comma
           separated list of signed integer values with an optional
           range indicated by two integers separated by two periods.

              Example: -1,2..4,11

           The above would interpret the values -1, 2, 3, 4, and 11
           as indicating a Degraded condition."
       ::= { cpqExExternalStatusEntry 8 }

   cpqExExternalStatusFailedValues OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..80))
       ACCESS  read-only
       STATUS  mandatory
       DESCRIPTION
           "This is a textual list of possible values which can
           be compared to the actual value retrieved from
           cpqExExternalStatusVariable during the last sampling
           period.  This string value will be composed of a comma
           separated list of signed integer values with an optional
           range indicated by two integers separated by two periods.

              Example: -1,2..4,11

           The above would interpret the values -1, 2, 3, 4, and 11
           as indicating a Failed condition."
       ::= { cpqExExternalStatusEntry 9 }

END

