XEROX-HOST-RESOURCES-EXT-MIB DEFINITIONS ::= BEGIN

--  Module: XCMI Extensions to IETF Host Resources MIB
--  File:   11hostx.mib
--  Date:   8 August 2007 - Version 5.602.pub

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
        NOTIFICATION-TYPE,
        OBJECT-IDENTITY,
 Counter32, Integer32
            FROM SNMPv2-SMI             -- IETF RFC 1442/1902/2578
        DateAndTime, RowStatus,
        TruthValue,
 AutonomousType
            FROM SNMPv2-TC              -- IETF RFC 1443/1903/2579
    MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF            -- IETF RFC 1444/1904/2580
    ProductID,
        hrDeviceIndex,
        hrDeviceStatus,
        hrSWRunIndex,
        hrSWInstalledIndex,
        hrStorageIndex
            FROM HOST-RESOURCES-MIB     -- IETF RFC 1514/2790
    PresentOnOff
            FROM Printer-MIB            -- IETF RFC 1759 or successor
    xeroxCommonMIB
            FROM XEROX-COMMON-MIB
        Ordinal32, Cardinal32,
        XcmFixedLocaleDisplayString,
        XcmGenNotifySeverityFilter,
        XcmGenNotifyTrainingFilter,
        XcmGenSNMPv2ErrorStatus,
        zeroDotZero


            FROM XEROX-GENERAL-TC
        XcmHrDevCalendarDayOfWeek,
        XcmHrDevCalendarTimeOfDay,
        XcmHrDevDetailType,
        XcmHrDevDetailUnitClass,
        XcmHrDevInfoRealization,
        XcmHrDevInfoStatus,
        XcmHrDevInfoXStatus,
        XcmHrDevInfoConditions,
        XcmHrDevInfoXConditions,
        XcmHrDevMgmtCommandRequest,
        XcmHrDevMgmtCommandData,
        XcmHrDevPowerTimeUnit,
        XcmHrDevTrafficUnit,
        XcmHrGroupSupport,
        XcmHrSWRunXStatus,
        XcmHrStorageDetailType,
        XcmHrStorageRealization,
        XcmHrSuppliesClassTC,
        XcmHrDetailTableEnumTC,
        XcmHrConsoleDefaultService
            FROM XEROX-HOST-RESOURCES-EXT-TC;

xcmHrMIB MODULE-IDENTITY
    LAST-UPDATED "0708080000Z" -- 8 August 2007
    ORGANIZATION "Xerox Corporation - XCMI Working Group"
    CONTACT-INFO
        "           XCMI Editors
        Email:      coherence@crt.xerox.com

        --
        --
        "
    DESCRIPTION
        "Version:   5.602.pub

        The MIB module for extended configuration and management of
        various host resources for network accessible host systems.
        This module augments and extends the original IETF Host
        Resources MIB (RFC 2790).

        Usage:  This MIB module introduces support for the 'realization'
        of both 'physical' and 'logical' devices, consistent with the
        Document Printing Application (DPA), ISO/IEC 10175, as reflected


        in the object 'xcmHrDevInfoRealization'.

        Note:   Conforming implementations SHALL NOT 'bubble up' status
        from 'physical' devices to associated 'logical' devices.  All
        devices SHALL report their own status ONLY.

        See:    Section 9 'Supplement' in XCMI Extensions to IETF Host
        Resources TC, for implementation guidance for this MIB module.

        Copyright (C) 1995-2006 Xerox Corporation. All Rights Reserved."
    ::= { xeroxCommonMIB 53 }

--  To suppress an Epilogue Emissary 7.0 compiler warning
xcmHrZeroDummy OBJECT IDENTIFIER ::= { zeroDotZero 53 }

--
--          XCMI Extensions to IETF Host Resources (HRX) MIB
--

--          General Group (Mandatory)
--
--          Implementation of this group is mandatory for all systems.

xcmHrGeneral        OBJECT IDENTIFIER ::= { xcmHrMIB 9 }

xcmHrGeneralTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrGeneralEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of general counters and information for ease of use of
        the XCMI Ext to IETF Host Resources MIB and the
        IETF Host Resources MIB (RFC 2790) on this host system.

        Usage:  The ONLY valid row in the 'xcmHrGeneralTable'
        SHALL have an 'xcmHrGeneralIndex' of one ('1')."
    ::= { xcmHrGeneral 2 }

xcmHrGeneralEntry OBJECT-TYPE
    SYNTAX      XcmHrGeneralEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of general counters and information for ease of use of
        the XCMI Ext to IETF Host Resources MIB and the
        IETF Host Resources MIB (RFC 2790) on this host system.

        Usage:  The ONLY valid row in the 'xcmHrGeneralTable'
        SHALL have an 'xcmHrGeneralIndex' of one ('1')."
    INDEX       { xcmHrGeneralIndex }
    ::= { xcmHrGeneralTable 1 }

XcmHrGeneralEntry ::= SEQUENCE {
        --  Host Resources General Info


        xcmHrGeneralIndex               Ordinal32,
        xcmHrGeneralRowStatus           RowStatus,
        xcmHrGeneralVersionID           ProductID,
        xcmHrGeneralVersionDate         DateAndTime,
        xcmHrGeneralGroupSupport        XcmHrGroupSupport,
        xcmHrGeneralStorageLast         Cardinal32,
        xcmHrGeneralDeviceLast          Cardinal32,
        xcmHrGeneralFSLast              Cardinal32,
        xcmHrGeneralSWRunLast           Cardinal32,
        xcmHrGeneralSWInstalledLast     Cardinal32,
        xcmHrGeneralSystemFaultLast     Cardinal32,
        xcmHrGeneralCreateSupport       XcmHrGroupSupport,
        xcmHrGeneralUpdateSupport       XcmHrGroupSupport 
    }

--
--          Host Resources General Info
--

xcmHrGeneralIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrGeneralTable'.

        Usage:  The ONLY valid row in the 'xcmHrGeneralTable'
        SHALL have an 'xcmHrGeneralIndex' of one ('1')."
    ::= { xcmHrGeneralEntry 1 }

xcmHrGeneralRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to display status of the ONLY valid
        conceptual row in the 'xcmHrGeneralTable'.

        Usage:  'xcmHrGeneralRowStatus' is 'read-only' because
        the ONLY valid conceptual row SHALL NOT be deleted."
    ::= { xcmHrGeneralEntry 2 }

xcmHrGeneralVersionID OBJECT-TYPE
    SYNTAX      ProductID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The software product ID of the SNMP sub-agent which implements
        the IETF Host Resources MIB (RFC 2790) and XCMI Extensions to
        Host Resources MIB on this host system.

        Usage:  This object SHALL specify the software product ID of an
        SNMP sub-agent (possibly also found in a conceptual row in the


        'hrSWRunTable' and/or 'hrSWInstalledTable' in the IETF HR MIB).
        This object SHALL NOT specify a particular release of the IETF
        HR MIB, the XCMI HRX MIB, or the whole host system product.

        Note:   Contrast with 'sysObjectID' for the whole SNMP agent in
        the IETF MIB-II (RFC 1213) and 'hrDeviceID' for the whole device
        (or whole product, in the case of 'xcmHrDevice...') in the IETF
        Host Resources MIB (RFC 2790)."
    REFERENCE
        "See:   'hrSW[Installed|Run]ID' in the Software Installed and
                Software Running groups of the IETF HR MIB (RFC 2790)."
    DEFVAL      { zeroDotZero }   -- no sub-agent version ID
    ::= { xcmHrGeneralEntry 3 }

xcmHrGeneralVersionDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The software build date of the SNMP sub-agent which implements
        the IETF Host Resources MIB (RFC 2790) and XCMI Extensions to
        Host Resources MIB on this host system.

        Usage:  This object SHALL specify the BUILD date of the SNMP
        sub-agent software (not available elsewhere in IETF/XCMI MIBs).
        This object SHALL NOT specify the INSTALL date of the SNMP
        sub-agent software on this host system, nor the RESET date.

        Note:   Contrast with 'hrSWInstalledDate' in the Software
        Installed group of the IETF Host Resources MIB (RFC 2790), and
        'xcmHrDevInfoResetDate' in the Device Info group of the XCMI
        Host Resources Extensions MIB."
    REFERENCE
        "See:   'hrSW[Installed|Run]ID' in the Software Installed and
                Software Running groups of the IETF HR MIB (RFC 2790)."
    DEFVAL      { '0000000000000000'H } -- no sub-agent version date
    ::= { xcmHrGeneralEntry 4 }

xcmHrGeneralGroupSupport OBJECT-TYPE
    SYNTAX      XcmHrGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional IETF Host Resources MIB (RFC 2790)
        and XCMI Ext to IETF Host Resources MIB objects which are
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL accurately
        report their support for IETF Host Resources MIB (RFC 2790)
        and XCMI Ext to IETF Host Resources MIB object groups."
    DEFVAL      { 71 }                  -- mandatory groups supported
    ::= { xcmHrGeneralEntry 5 }


xcmHrGeneralStorageLast OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last entry index (regardless of its current state) in
        the 'hrStorageTable' of the IETF Host Resources MIB,
        on this host system.

        Usage:  The last entry index explicitly bounds the valid range
        of 'hrStorageIndex'."
    DEFVAL      { 0 }                   -- no storage entries
    ::= { xcmHrGeneralEntry 6 }

xcmHrGeneralDeviceLast OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last entry index (regardless of its current state) in
        the 'hrDeviceTable' of the IETF Host Resources MIB,
        on this host system.

        Usage:  The last entry index explicitly bounds the valid range
        of 'hrDeviceIndex'."
    DEFVAL      { 0 }                   -- no device entries
    ::= { xcmHrGeneralEntry 7 }

xcmHrGeneralFSLast OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last entry index (regardless of its current state) in
        the 'hrFSTable' of the IETF Host Resources MIB,
        on this host system.

        Usage:  The last entry index explicitly bounds the valid range
        of 'hrFSIndex'."
    DEFVAL      { 0 }                   -- no file system entries
    ::= { xcmHrGeneralEntry 8 }

xcmHrGeneralSWRunLast OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last entry index (regardless of its current state) in
        the 'hrSWRunTable' of the IETF Host Resources MIB,
        on this host system.

        Usage:  The last entry index explicitly bounds the valid range
        of 'hrSWRunIndex'."


    DEFVAL      { 0 }                   -- no running software entries
    ::= { xcmHrGeneralEntry 9 }

xcmHrGeneralSWInstalledLast OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last entry index (regardless of its current state) in
        the 'hrSWInstalledTable' of the IETF Host Resources MIB,
        on this host system.

        Usage:  The last entry index explicitly bounds the valid range
        of 'hrSWInstalledIndex'."
    DEFVAL      { 0 }                   -- no installed software entries
    ::= { xcmHrGeneralEntry 10 }

xcmHrGeneralSystemFaultLast OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The last entry index (regardless of its current state) in
        the 'xcmHrSystemFaultTable' of this XCMI Ext to Host Resources
        MIB, on this host system.

        Usage:  The last entry index explicitly bounds the valid range
        of 'xcmHrSystemFaultIndex'."
    DEFVAL      { 0 }                   -- no system fault entries
    ::= { xcmHrGeneralEntry 11 }

xcmHrGeneralCreateSupport OBJECT-TYPE
    SYNTAX      XcmHrGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional IETF Host Resources MIB (RFC 2790)
        and XCMI Ext to IETF Host Resources MIB objects which are
        supported for dynamic row creation (via '...RowStatus')
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL accurately
        report their support for IETF Host Resources MIB (RFC 2790)
        and XCMI Ext to IETF Host Resources MIB object groups."
    DEFVAL      { 0 }                   -- no dynamic row create groups
    ::= { xcmHrGeneralEntry 12 }

xcmHrGeneralUpdateSupport OBJECT-TYPE
    SYNTAX      XcmHrGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION


        "The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional IETF Host Resources MIB (RFC 2790)
        and XCMI Ext to IETF Host Resources MIB objects which are
        supported for existing row update (via SNMP Set-Request PDUs)
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL accurately
        report their support for IETF Host Resources MIB (RFC 2790)
        and XCMI Ext to IETF Host Resources MIB object groups."
    DEFVAL      { 0 }                   -- no existing row update groups
    ::= { xcmHrGeneralEntry 13 }

--          Device Info Group (Mandatory)
--
--          Implementation of this group is mandatory for all systems.

xcmHrDevInfo        OBJECT IDENTIFIER ::= { xcmHrMIB 3 }

xcmHrDevInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing device info objects for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790).

        Usage:  Although this group is Mandatory in this MIB module,
        this table is 'sparse' because conforming management agents
        need NOT implement an entry in 'xcmHrDevInfoTable' for ALL of
        the installed (and instrumented) devices in 'hrDeviceTable'.

        Usage:  Conforming management agents SHALL implement an
        entry in 'xcmHrDevInfoTable' for the following device types
        (if they are installed devices in 'hrDeviceTable'):
        'hrDevicePrinter' (from IETF Host Resource MIB, RFC 2790); and
        'xcmHrDeviceHostSystem', 'xcmHrDeviceScanner',
        'xcmHrDeviceCopier', 'xcmHrDeviceFax', and 'xcmHrDeviceMailbox'
        (from XCMI HRX TC)."
    ::= { xcmHrDevInfo 2 }

xcmHrDevInfoEntry OBJECT-TYPE
    SYNTAX      XcmHrDevInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing device info objects for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex }
    ::= { xcmHrDevInfoTable 1 }


XcmHrDevInfoEntry ::= SEQUENCE {
        --  Device Info
        xcmHrDevInfoRowStatus           RowStatus,
        xcmHrDevInfoName                XcmFixedLocaleDisplayString,
        xcmHrDevInfoSerialNumber        XcmFixedLocaleDisplayString,
        xcmHrDevInfoRealization         XcmHrDevInfoRealization,
        xcmHrDevInfoXStatus             XcmHrDevInfoXStatus,
        xcmHrDevInfoConditions          XcmHrDevInfoConditions,
        xcmHrDevInfoXConditions         XcmHrDevInfoXConditions,
        xcmHrDevInfoInstallDate         DateAndTime,
        xcmHrDevInfoResetDate           DateAndTime,
        --  Device Info Common Cross References
        xcmHrDevInfoNextDeviceIndex     Cardinal32,
        xcmHrDevInfoPreviousDeviceIndex Cardinal32,
        xcmHrDevInfoPhysicalDeviceIndex Cardinal32,
        --  Device Info Extended
        xcmHrDevInfoPriority            INTEGER (0..100),
        xcmHrDevInfoXeroxAssetTagNumber XcmFixedLocaleDisplayString,
        xcmHrDevInfoCustomerAssetNumber XcmFixedLocaleDisplayString,
        xcmHrDevInfoPagePackPIN         OCTET STRING,
        xcmHrDevInfoPagePackReset       INTEGER (1..2), 
        xcmHrDevInfoPagePackTimer       Integer32 (-2..2147483647) 
    }

xcmHrDevInfoRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevInfoTable' and ALSO manages the row status
        of the associated conceptual row in the 'hrDeviceTable'
        of the IETF Host Resources MIB (RFC 2790).

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevInfoRowStatus' row status object; and
        SHALL clear the 'xcmHrDevInfoGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevInfoRowStatus' row status object; and
        SHALL set the 'xcmHrDevInfoGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."


    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevInfoEntry 1 }

xcmHrDevInfoName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable device name, used by system administrators
        and end users to identify this device for systems management.

        Usage:  This device name SHALL be the one normally used in a
        CLI/GUI/API for control of this system or device
        (eg, 'showstopper.sample.com' or 'showstopper.sample.com/lpt1:')

        Usage:  Conforming management agents, which ALSO implement the
        the Printer MIB v2, SHALL set 'xcmHrDevInfoName'
        to the SAME value as 'prtGeneralPrinterName' for the SAME
        'hrDevicePrinter' row (i.e., the values of these two objects
        SHALL be interlocked)."
    REFERENCE
        "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { ''H }                 -- no device name
    ::= { xcmHrDevInfoEntry 2 }

xcmHrDevInfoSerialNumber OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable serial number, used by system administrators
        and end users to identify this device for systems management.

        Usage:  Conforming management agents, which ALSO implement the
        the Printer MIB v2, SHALL set 'xcmHrDevInfoSerialNumber'
        to the SAME value as 'prtGeneralSerialNumber' for the SAME
        'hrDevicePrinter' row (i.e., the values of these two objects
        SHALL be interlocked)."
    REFERENCE
        "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { ''H }                 -- no device serial number
    ::= { xcmHrDevInfoEntry 3 }

xcmHrDevInfoRealization OBJECT-TYPE
    SYNTAX      XcmHrDevInfoRealization
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION


        "An extended device type (or device 'realization'),
        used by system administrators and end users of this device."
    REFERENCE
        "See:   'hrDeviceType' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    Section 9.4 (pages 181 to 184) of DPA (Document Printing
        Application) ISO/IEC 10175 (Final Text, March 1996) for a
        discussion of 'printer realizations' of 'physical', 'logical',
        and 'logical-and-physical' types (the latter peculiar to DPA)."
    DEFVAL      { physical }            -- physical device
    ::= { xcmHrDevInfoEntry 4 }

xcmHrDevInfoXStatus OBJECT-TYPE
    SYNTAX      XcmHrDevInfoXStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An extended device status, used by system administrators
        and end users of this device (here, read 'state' for 'status').

        Usage:  Conforming implementations SHALL NOT 'bubble up' status
        from 'physical' devices to associated 'logical' devices.  All
        devices SHALL report their own status ONLY.

        Usage:  Exactly one enumeration of extended device status
        SHALL be defined, with ranges for each basic device type (eg,
        'hrDevicePrinter').  The legal range for extended device status
        for a given device type (either defined by RFC 2790 or by this
        MIB) is found by multiplying the final arc of the the device
        type OID by 100 - the result is the device specific range base -
        the end of the device specific range is 99 larger.  These device
        specific extended device status values SHALL be reissued
        periodically in the 'XcmHrDevInfoXStatus' textual convention."
    REFERENCE
        "See:   Section 9.4.9 'Printer-state' (page 185) of DPA
        (Document Printing Application) ISO/IEC 10175 (Final Text,
        March 1996) for a discussion of the printer states used here.
        Note that the DPA state 'connecting-to-printer' has no meaning
        in the context of a 'physical' printer device, but only in the
        context of an intermediate DP-Server presenting a 'logical'
        printer device.
        See:    'hrPrinterStatus' and 'hrPrinterDetectedErrorState' in
                IETF Host Resources MIB (RFC 2790).

        See:    'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'xcmHrDevInfoConditions' and 'xcmHrDevInfoXConditions'
                in the Host Resources Extensions MIB."
--  DEFVAL      { commonNone }          -  no device extended status
    ::= { xcmHrDevInfoEntry 5 }

xcmHrDevInfoConditions OBJECT-TYPE
    SYNTAX      XcmHrDevInfoConditions
    MAX-ACCESS  read-only


    STATUS      current
    DESCRIPTION
        "A relatively generic description of the current 'conditions'
        of this device, specified in a bit-mask.

        Usage:  It is desirable that the implementor report 'conditions'
        of all devices corresponding to conceptual rows in the
        'hrDeviceTable' as accurately as feasible.  'Conditions' occur
        within or across 'states' in a finite state machine (FSM)
        implementation of a device.  They represent both short term and
        long term conditions."
    REFERENCE
        "See:   'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'xcmHrDevInfoXStatus' and 'xcmHrDevInfoXConditions'
                in the Host Resources Extensions MIB."
    DEFVAL      { 0 }                   -- no device conditions
    ::= { xcmHrDevInfoEntry 6 }

xcmHrDevInfoXConditions OBJECT-TYPE
    SYNTAX      XcmHrDevInfoXConditions
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A device specific description of the extended 'conditions'
        of this device, specified in a bit-mask.

        Usage:  For FUTURE expansion.

        Usage:  Exactly one bit mask of extended device conditions SHALL
        be defined for each basic device type (eg, 'hrDevicePrinter').
        These device specific extended device conditions values SHALL be
        reissued periodically in the 'XcmHrDevInfoXConditions' textual
        convention.  These device specific extended device conditions
        are mutually exclusive and 'overloaded' in the single reporting
        object 'xcmHrDevInfoXConditions'."
    REFERENCE
        "See:   'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'xcmHrDevInfoXStatus' and 'xcmHrDevInfoConditions'
                in the Host Resources Extensions MIB."
    DEFVAL      { 0 }                   -- no device extended conditions
    ::= { xcmHrDevInfoEntry 7 }

xcmHrDevInfoInstallDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The date of the most recent install or upgrade of the device
        represented by this conceptual row in the 'hrDeviceTable'."
    REFERENCE
        "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."


    DEFVAL      { '0000000000000000'H } -- no device install date
    ::= { xcmHrDevInfoEntry 8 }

xcmHrDevInfoResetDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date of the most recent auto or managed reset of the device
        represented by this conceptual row in the 'hrDeviceTable'."
    REFERENCE
        "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { '0000000000000000'H } -- no device reset date
    ::= { xcmHrDevInfoEntry 9 }

--
--          Device Info Common Cross References
--

xcmHrDevInfoNextDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to:
        a) the next associated row in the 'hrDeviceTable'; or
        b) zero if this is the last associated conceptual row in a
        given set; or
        c) zero if this conceptual row is NOT part of a set."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no next device entry
    ::= { xcmHrDevInfoEntry 10 }

xcmHrDevInfoPreviousDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to:
        a) the previous associated row in the 'hrDeviceTable'; or
        b) zero if this is the first associated conceptual row in a
        given set; or
        c) zero if this conceptual row is NOT part of a set."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no previous device entry
    ::= { xcmHrDevInfoEntry 11 }

xcmHrDevInfoPhysicalDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32


    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the directly
        associated conceptual row in the 'hrDeviceTable' representing:
        a) the first underlying 'physical' device (if any), if this
        row has 'xcmHrDevInfoRealization' of 'logical'; or
        b) the first subordinate 'physical' device (if any), if this
        row has 'xcmHrDevInfoRealization' of 'physical' or
        'logicalAndPhysical'; or
        c) zero if there is no underlying or subordinate 'physical'
        device associated with this row (ie, this device)."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no physical device entry
    ::= { xcmHrDevInfoEntry 12 }

xcmHrDevInfoPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The current priority of this device.

        Usage:  The scheduling priority of this device, where '0'
        is unspecified (default), '1' is lowest, and '100' is highest."
    REFERENCE
        "See:   'xcmSvcMonServicePriority'
                in XCMI Service Monitoring MIB."
    DEFVAL      { 0 }                   -- unspecified device priority
    ::= { xcmHrDevInfoEntry 13 }

    xcmHrDevInfoXeroxAssetTagNumber OBJECT-TYPE
        SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..31))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Human-readable, alpha-numeric ID used by Xerox and Xerox 
            managed service providers to uniquely identify a device 
            ACROSS back-end financial, printer management, asset 
            management, and help desk system applications. The Asset Tag
            Number is an infra- structure management de facto standard 
            for asset identification for use by Xerox and Xerox managed 
            service providers.

         Usage:  Conforming management agents SHALL set 
             'xcmHrDevInfoXeroxAssetTagNumber' to the SAME value as 
            entered at a device's local UI, at a device's web UI 
            interface, and as shown on the device's configuration 
            sheet."
        REFERENCE
            "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."


        DEFVAL { ''H }            -- no Xerox Asset Tag number assigned
    ::= { xcmHrDevInfoEntry 14 }

    xcmHrDevInfoCustomerAssetNumber OBJECT-TYPE
        SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..31))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Human-readable, alpha-numeric ID used by customers of 
            Xerox. This ID is used system administrators and their 
            designated managed service providers to uniquely identify a 
            device for customers' internal financial management, printer
            management, asset management, and help desk system 
            applications. 

           Usage:  Conforming management agents SHALL set 
             'xcmHrDevInfoCustomerAssetNumber' to the SAME value as 
            entered at a device's local UI, at a device's web UI 
            interface, and as shown on the device's configuration 
            sheet."
        REFERENCE
             "See:   'hrDeviceDescr' in the Device group of the
                     IETF Host Resources MIB (RFC 2790)."
        DEFVAL      { ''H }         -- no Customer Asset number assigned
     ::= { xcmHrDevInfoEntry 15 }

    xcmHrDevInfoPagePackPIN OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..31))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "An alpha-numeric ID used by Xerox and Xerox authorized
            resellers to enable devices to use a PagePack model 
            of device distribution. PagePack is a cost per page
            contract model - which includes consumables, supplies
            and service - on both printer and multifunction systems

            The PIN number is used to change a device from 
            purchased consumables device to a PagePack device.

            Usage: The device may return a NULL string or the word 
            'authorized' if the PIN value has been sent and the
            device does not want to expose the value to
            the PIN to unauthorized viewing. If no PIN has been
            sent or this functionality is not supported then a 
            NULL string is returned "
        REFERENCE
            "See:   'XcmSvcMonServiceType' in 'Service Monitoring TC'."
        DEFVAL      { ''H }         -- PIN not reported
     ::= { xcmHrDevInfoEntry 16 }

xcmHrDevInfoPagePackReset OBJECT-TYPE 
        SYNTAX      INTEGER (1..2) 
        MAX-ACCESS  read-create 


        STATUS      current 
        DESCRIPTION 
            "An enumeration used to get and set the page pack settings. 
            Usage: The device will return enabled when page pack 
            has been enabled and return disabled when page pack 
            has been disabled.

                enabled  (1)
                disabled (2) 

            " 
        REFERENCE 
            "See:   'xcmHrDevInfoPagePackPIN' in this mib." 
        DEFVAL      { 2 }         -- Page Pack Disabled 
     ::= { xcmHrDevInfoEntry 17 } 

xcmHrDevInfoPagePackTimer OBJECT-TYPE 
        SYNTAX      Integer32 (-2..2147483647) 
        MAX-ACCESS  read-create 
        STATUS      current 
        DESCRIPTION 
            "An timer value for page pack. 

            Usage: The value (-1) means timer not enabled 
             and a value 0..2147483647 means the timer has been 
             enabled" 
        REFERENCE 
            "See:   'xcmHrDevInfoPagePackPIN' in this mib." 
        DEFVAL      { -1 }         -- Page Pack Timer Disabled 
     ::= { xcmHrDevInfoEntry 18 } 

xcmHrDevInfoV1EventOID OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The value of the enterprise-specific OID in an SNMPv1 trap sent
        whenever a device status variable changes.
        See SNMPv2 trap definition 'xcmHrDevInfoV2Event'
        below for 'special semantics'."
    ::= { xcmHrDevInfo 1 }

xcmHrDevInfoV2EventPrefix
    OBJECT IDENTIFIER ::= { xcmHrDevInfoV1EventOID 0 }

xcmHrDevInfoV2Event NOTIFICATION-TYPE
    OBJECTS {
        hrDeviceIndex,
        hrDeviceStatus,
        xcmHrDevInfoXStatus,
        xcmHrDevInfoConditions,
        xcmHrDevInfoXConditions
    }
    STATUS      current
    DESCRIPTION
        "This trap is sent whenever 'hrDeviceStatus' and/or


        'xcmHrDevInfo[XStatus|Conditions|XConditions]' changes.

        Note:   The variable-bindings of this trap have been chosen to
        specify a complete device status change while keeping
        trap messages reasonably concise (generally a few hundred octets
        at most).

        This notification has the following special semantics:

            o   The device's 'hrDeviceIndex' field
                value SHALL be appended to this trap object ID,
                as a BER binary OID suffix.

        This trap OID qualifier allows device management/monitoring
        applications to limit the alerts they receive to ones generated
        by devices of interest."
    ::= { xcmHrDevInfoV2EventPrefix 1 }

--  Note that the SNMPv2 to SNMPv1 translation rules dictate that the
--  preceding structure will result in SNMPv1 traps of the following
--  form:
--
--  xcmHrDevInfoV1Event TRAP-TYPE
--      ENTERPRISE  xcmHrDevInfoV1EventOID
--      VARIABLES   {
--          hrDeviceIndex,
--          hrDeviceStatus,
--          xcmHrDevInfoXStatus,
--          xcmHrDevInfoConditions,
--          xcmHrDevInfoXConditions
--      }
--      DESCRIPTION
--          "This trap is sent whenever 'hrDeviceStatus' and/or
--          'xcmHrDevInfo[XStatus|Conditions|XConditions]' changes.
--          See SNMPv2 trap definition 'xcmHrDevInfoV2Event'
--          above for 'special semantics'."
--      ::= 1

--
--          Device Help Group (Deprecated)
--
--          Implementation of this group is DEPRECATED (as of XCMI v4.1)
--          and conforming implementations SHOULD use 'deviceHelp...'
--          details in 'xcmHrDevDetailTable' instead.
--
--          Usage:  Conforming management agents which implement this
--          group SHALL also implement the Comms Address group
--          of the XCMI Comms Engine MIB and SHALL use 'XcmSecUserRole'
--          values from XCMI Security TC in 'xcmCommsAddressUserRole'.
--
--          Note:   'sysContact' in IETF MIB-II (RFC 1213) provides a
--          low-cost alternative for systems which do NOT implement
--          complex device help (contact) info via SNMP.


xcmHrDevHelp        OBJECT IDENTIFIER ::= { xcmHrMIB 4 }

xcmHrDevHelpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevHelpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing device help objects for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    REFERENCE
        "See:   'hrProcessorTable', 'hrNetworkTable', 'hrPrinterTable'
                in the IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevHelp 2 }

xcmHrDevHelpEntry OBJECT-TYPE
    SYNTAX      XcmHrDevHelpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing device help objects for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex }
    ::= { xcmHrDevHelpTable 1 }

XcmHrDevHelpEntry ::= SEQUENCE {
        --  Device Help
        xcmHrDevHelpRowStatus           RowStatus,
        xcmHrDevHelpOperatorMessage     XcmFixedLocaleDisplayString,
        xcmHrDevHelpProblemMessage      XcmFixedLocaleDisplayString,
        xcmHrDevHelpCommsAddressIndex   Cardinal32
    }

xcmHrDevHelpRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevHelpTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevHelpRowStatus' row status object; and
        SHALL clear the 'xcmHrDevHelpGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevHelpRowStatus' row status object; and


        SHALL set the 'xcmHrDevHelpGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevHelpEntry 1 }

xcmHrDevHelpOperatorMessage OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable operator message, used by system operators and
        system administrators to display an operator message for end
        users of this device.
        For example, 'Out to lunch - back at 1pm'."
    REFERENCE
        "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { ''H }                 -- no device operator message
    ::= { xcmHrDevHelpEntry 2 }

xcmHrDevHelpProblemMessage OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable problem message, used by system operators and
        system administrators to display a problem message for end
        users of this device.
        For example, 'Toner low - only small jobs accepted'."
    REFERENCE
        "See:   'hrDeviceDescr' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { ''H }                 -- no device problem message
    ::= { xcmHrDevHelpEntry 3 }

xcmHrDevHelpCommsAddressIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'xcmCommsAddressIndex' corresponding to the first
        associated conceptual row in the 'xcmCommsAddressTable', or zero


        if this 'xcmHrDevHelpEntry' does NOT require such information.
        This 'chain' of address entries provides device help contact
        info for end users of this device.
        For example, 'system operator' or 'supplies' contact info."
    REFERENCE
        "See:   Comms Address group of the XCMI Comms Engine MIB, for
        details of specification of device help contact info.
        See:    'XcmSecUserRole' in XCMI Security TC, for appropriate
        values for 'xcmCommsAddressUserRole'.
        See:    'sysContact' in the IETF MIB-II (RFC 1213), for details
        of specification of 'simple' host system contact info."
    DEFVAL      { 0 }                   -- no device help contact info
    ::= { xcmHrDevHelpEntry 4 }

--
--          Device Mgmt Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement simple device
--          management via SNMP, and optional for all other systems.
--
--          Note:   Systems which support secure system administration
--          via the XCMI System Admin MIB, need NOT implement the
--          (redundant) functionality in the Device Mgmt group of the
--          the HRX MIB.

xcmHrDevMgmt        OBJECT IDENTIFIER ::= { xcmHrMIB 5 }

xcmHrDevMgmtTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevMgmtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing management control objects for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    REFERENCE
        "See:   'hrProcessorTable', 'hrNetworkTable', 'hrPrinterTable'
                in the IETF Host Resources MIB (RFC 2790).
        See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                'xcmSecUserTable' in XCMI Security MIB."
    ::= { xcmHrDevMgmt 2 }

xcmHrDevMgmtEntry OBJECT-TYPE
    SYNTAX      XcmHrDevMgmtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing management control objects for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex }


    ::= { xcmHrDevMgmtTable 1 }

XcmHrDevMgmtEntry ::= SEQUENCE {
        --  Device Mgmt
        xcmHrDevMgmtRowStatus           RowStatus,
        xcmHrDevMgmtCommandRequest      XcmHrDevMgmtCommandRequest,
        xcmHrDevMgmtCommandData         XcmHrDevMgmtCommandData,
        xcmHrDevMgmtCommandStatus       XcmGenSNMPv2ErrorStatus,
        xcmHrDevMgmtUserPassword        OCTET STRING,
        xcmHrDevMgmtOperatorPassword    OCTET STRING,
        xcmHrDevMgmtAdminPassword       OCTET STRING,
        xcmHrDevMgmtCommandInProgress   TruthValue,
        xcmHrDevMgmtUserName            OCTET STRING,
        xcmHrDevMgmtOperatorName        OCTET STRING,
        xcmHrDevMgmtAdminName           OCTET STRING, 
        xcmHrDevMgmtCustomPassword      OCTET STRING 
} 

xcmHrDevMgmtRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevMgmtTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevMgmtRowStatus' row status object; and
        SHALL clear the 'xcmHrDevMgmtGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevMgmtRowStatus' row status object; and
        SHALL set the 'xcmHrDevMgmtGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevMgmtEntry 1 }

xcmHrDevMgmtCommandRequest OBJECT-TYPE
    SYNTAX      XcmHrDevMgmtCommandRequest


    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The most recent device management command request
        specified for this conceptual row in the 'xcmHrDevMgmtTable'.

        Usage:  Conforming management agents SHALL 'reject' any
        SNMP Set-Request to 'xcmHrDevMgmtCommand[Request|Data]'
        while another management operation is already in progress
        (ie, while 'xcmHrDevMgmtCommandInProgress' is 'true'),
        with 'badValue' (SNMPv1) or 'inconsistentValue' (SNMPv2/v3).

        Usage:  Conforming management stations SHALL set
        'xcmHrDevMgmtCommandRequest' (mgmt operation) and
        'xcmHrDevMgmtCommandData' (mgmt arguments)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU)."
    REFERENCE
        "See:   Section 4 'Print Utilities' (pages 71 to 212) of
                POSIX Sys Admin (IEEE 1387.4 / Draft 8, October 1994).
        See:    'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    OBJECT clause in MODULE-COMPLIANCE macro of
                XCMI Ext to Host Resources MIB, for compliance info.
        See:    'XcmHrDevMgmtCommandDataTag' textual convention,
                Section 3.4 'XCMI Standard Tagged Management Data', and
                Section 3.5 'Simple Device Management Requests' in
                XCMI Ext to Host Resources TC.
        See:    Section 3.5.3 'Secure Simple Device Mgmt Requests' in
                XCMI Security TC.

        See:    'xcmHrDevMgmtCommand[Data|Status|InProgress]'"
    DEFVAL      { none }                -- no command request
    ::= { xcmHrDevMgmtEntry 2 }

xcmHrDevMgmtCommandData OBJECT-TYPE
    SYNTAX      XcmHrDevMgmtCommandData (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The most recent device management command data (if any)
        specified for this conceptual row in the 'xcmHrDevMgmtTable'.

        Usage:  Conforming management agents SHALL 'reject' any
        SNMP Set-Request to 'xcmHrDevMgmtCommand[Request|Data]'
        while another management operation is already in progress
        (ie, while 'xcmHrDevMgmtCommandInProgress' is 'true'),
        with 'badValue' (SNMPv1) or 'inconsistentValue' (SNMPv2/v3).

        Usage:  Conforming management stations SHALL set
        'xcmHrDevMgmtCommandRequest' (mgmt operation) and
        'xcmHrDevMgmtCommandData' (mgmt arguments)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conformant implementations MUST encrypt passwords, keys,


        and other security information stored in this string object."
    REFERENCE
        "See:   Section 4 'Print Utilities' (pages 71 to 212) of
                POSIX Sys Admin (IEEE 1387.4 / Draft 8, October 1994).
        See:    'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'XcmHrDevMgmtCommandDataTag' textual convention,
                Section 3.4 'XCMI Standard Tagged Management Data', and
                Section 3.5 'Simple Device Management Requests' in
                XCMI Ext to Host Resources TC.
        See:    Section 3.5.3 'Secure Simple Device Mgmt Requests' in
                XCMI Security TC.

        See:    'xcmHrDevMgmtCommand[Request|Status|InProgress]'"
    DEFVAL      { ''H }                 -- no command data
    ::= { xcmHrDevMgmtEntry 3 }

xcmHrDevMgmtCommandStatus OBJECT-TYPE
    SYNTAX      XcmGenSNMPv2ErrorStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The simple device management error status associated with
        this conceptual row in 'xcmHrDevMgmtTable'.

        Usage:  Conforming management agents SHALL set this
        object to the value returned in an SNMP Set-Response PDU when
        a simple device management operation is 'accepted', ie, when
        'xcmHrDevMgmtCommandInProgress' goes from 'false' to 'true'.

        Usage:  Conforming management agents SHALL set this
        object to the value of the completion status of the (possibly
        deferred) simple device management operation, when
        'xcmHrDevMgmtCommandInProgress' goes from 'true' to 'false'."
    REFERENCE
        "See:   Section 4 'Print Utilities' (pages 71 to 212) of
                POSIX Sys Admin (IEEE 1387.4 / Draft 8, October 1994).
        See:    'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'XcmHrDevMgmtCommandDataTag' textual convention,
                Section 3.4 'XCMI Standard Tagged Management Data', and
                Section 3.5 'Simple Device Management Requests' in
                XCMI Ext to Host Resources TC.
        See:    Section 3.5.3 'Secure Simple Device Mgmt Requests' in
                XCMI Security TC.

        See:    'xcmHrDevMgmtCommand[Operation|Data|InProgress]'"
--  DEFVAL      { noError }             -  no error
    ::= { xcmHrDevMgmtEntry 4 }

xcmHrDevMgmtUserPassword OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current


    DESCRIPTION
        "A protected end user password for this device.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object.

        Usage:  All XCMI conforming management agents: a) SHOULD always
        return a zero length string in response to an SNMP GetRequest of
        this object; b) SHALL NOT return the contents of this object in
        cleartext (ie, unencrypted) in response to an SNMP GetRequest;
        c) SHOULD support (ie, accept) an authenticated SNMP SetRequest
        changing the system 'end user password' in this object.

        Usage:  Conforming management stations and management agents
        SHOULD support authentication of SNMP SetRequests via values of
        'xcmHrDevMgmt[User|Operator|Admin]Password' in ciphertext
        (ie, encrypted) written in 'xcmHrDevMgmtCommandData'.

        Usage:  Conforming management stations MAY support client-side
        authentication of user roles and rights via checking values of
        'xcmHrDevMgmt[User|Operator|Admin]Password' presented in client
        applications (eg, install tools).  WARNING:  Such authentication
        mechanisms do NOT protect managed systems from attack by other
        SNMP client applications that do NOT perform such client-side
        authentication and are thus inherently weak."
    REFERENCE
        "See:   'xcmHrDevMgmt[Operator|Admin]Password'
        See:    Section 3.5.2 'Secure Password Change Requests' in
                XCMI Security TC.
        See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                'xcmSecUserTable' in XCMI Security MIB.

        See:    Both the X/Open PSIS (Printing Systems Interoperability
        Specification) and the new Part 3 'Systems Management' of DPA
        (ISO/IEC 10175) use the simple three-role scheme specified here.
        In Appendix D 'Roles of Users' (pages 108 to 109) of Printer MIB
        v1 (RFC 1759), Jay Martin provided an excellent discussion of
        a number of user 'role models', including the following ones:

        User (USER) - A person or application that submits print jobs to
        the printer; typically viewed as the 'end user' within the
        overall printing environment.

        Operator (OP) - A person responsible for maintaining a printer
        on a day-to-day basis, including such tasks as filling empty
        media trays, emptying full output trays, replacing toner
        cartridges, etc.

        System Manager (MGR) - A person responsible for configuration
        and troubleshooting of components involved in the overall
        printing environment, including printers, print queues and
        network connectivity issues.  This person is typically
        responsible for ensuring the overall operational integrity of
        the print system components, and is typically viewed as the


        central point of coordination among all other Role Models."
    DEFVAL      { ''H }                 -- no end user password
    ::= { xcmHrDevMgmtEntry 5 }

xcmHrDevMgmtOperatorPassword OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A protected system operator password for this device.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object.

        Usage:  All XCMI conforming management agents: a) SHOULD always
        return a zero length string in response to an SNMP GetRequest of
        this object; b) SHALL NOT return the contents of this object in
        cleartext (ie, unencrypted) in response to an SNMP GetRequest;
        c) SHOULD support (ie, accept) an authenticated SNMP SetRequest
        changing the system 'operator password' in this object.

        Usage:  Conforming management stations and management agents
        SHOULD support authentication of SNMP SetRequests via values of
        'xcmHrDevMgmt[User|Operator|Admin]Password' in ciphertext
        (ie, encrypted) written in 'xcmHrDevMgmtCommandData'.

        Usage:  Conforming management stations MAY support client-side
        authentication of user roles and rights via checking values of
        'xcmHrDevMgmt[User|Operator|Admin]Password' presented in client
        applications (eg, install tools).  WARNING:  Such authentication
        mechanisms do NOT protect managed systems from attack by other
        SNMP client applications that do NOT perform such client-side
        authentication and are thus inherently weak."
    REFERENCE
        "See:   'xcmHrDevMgmt[User|Admin]Password'
        See:    Section 3.5.2 'Secure Password Change Requests' in
                XCMI Security TC.
        See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                'xcmSecUserTable' in XCMI Security MIB."
    DEFVAL      { ''H }                 -- no system operator password
    ::= { xcmHrDevMgmtEntry 6 }

xcmHrDevMgmtAdminPassword OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A protected system administrator password for this device.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object.

        Usage:  All XCMI conforming management agents: a) SHOULD always
        return a zero length string in response to an SNMP GetRequest of


        this object; b) SHALL NOT return the contents of this object in
        cleartext (ie, unencrypted) in response to an SNMP GetRequest;
        c) SHOULD support (ie, accept) an authenticated SNMP SetRequest
        changing the system 'administrator password' in this object.

        Usage:  Conforming management stations and management agents
        SHOULD support authentication of SNMP SetRequests via values of
        'xcmHrDevMgmt[User|Operator|Admin]Password' in ciphertext
        (ie, encrypted) written in 'xcmHrDevMgmtCommandData'.

        Usage:  Conforming management stations MAY support client-side
        authentication of user roles and rights via checking values of
        'xcmHrDevMgmt[User|Operator|Admin]Password' presented in client
        applications (eg, install tools).  WARNING:  Such authentication
        mechanisms do NOT protect managed systems from attack by other
        SNMP client applications that do NOT perform such client-side
        authentication and are thus inherently weak."
    REFERENCE
        "See:   'xcmHrDevMgmt[User|Operator]Password'
        See:    Section 3.5.2 'Secure Password Change Requests' in
                XCMI Security TC.
        See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                'xcmSecUserTable' in XCMI Security MIB."
    DEFVAL      { ''H }                 -- no system admin password
    ::= { xcmHrDevMgmtEntry 7 }

xcmHrDevMgmtCommandInProgress OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The device management in progress status associated with
        this conceptual row in 'xcmHrDevMgmtTable'.

        Usage:  Conforming management agents SHALL 'reject' any
        SNMP Set-Request to 'xcmHrDevMgmtCommand[Request|Data]'
        while another management operation is already in progress
        (ie, while 'xcmHrDevMgmtCommandInProgress' is 'true'),
        with 'badValue' (SNMPv1) or 'inconsistentValue' (SNMPv2/v3)."
    REFERENCE
        "See:   Section 4 'Print Utilities' (pages 71 to 212) of
                POSIX Sys Admin (IEEE 1387.4 / Draft 8, October 1994).
        See:    'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'XcmHrDevMgmtCommandDataTag' textual convention,
                Section 3.4 'XCMI Standard Tagged Management Data', and
                Section 3.5 'Simple Device Management Requests' in
                XCMI Ext to Host Resources TC.
        See:    Section 3.5.3 'Secure Simple Device Mgmt Requests' in
                XCMI Security TC.

        See:    'xcmHrDevMgmtCommand[Request|Data|Status]'"
    DEFVAL      { false }               -- no device mgmt in progress
    ::= { xcmHrDevMgmtEntry 8 }


xcmHrDevMgmtUserName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A protected end user Name for this device.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object.

        Usage:  All XCMI conforming management agents: a) SHOULD always
        return a zero length string in response to an SNMP GetRequest of
        this object; b) SHALL NOT return the contents of this object in
        cleartext (ie, unencrypted) in response to an SNMP GetRequest;
        c) SHOULD support (ie, accept) an authenticated SNMP SetRequest
        changing the system 'end user Name' in this object.

        Usage:  Conforming management stations and management agents
        SHOULD support authentication of SNMP SetRequests via values of
        'xcmHrDevMgmt[User|Operator|Admin]Name' in ciphertext
        (ie, encrypted) written in 'xcmHrDevMgmtCommandData'.

        Usage:  Conforming management stations MAY support client-side
        authentication of user roles and rights via checking values of
        'xcmHrDevMgmt[User|Operator|Admin]Name' presented in client
        applications (eg, install tools).  WARNING:  Such authentication
        mechanisms do NOT protect managed systems from attack by other
        SNMP client applications that do NOT perform such client-side
        authentication and are thus inherently weak."
    REFERENCE
        "See:   'xcmHrDevMgmt[Operator|Admin]Name'
         See:    Section 3.5.2 'Secure Password Change Requests' in
                 XCMI Security TC.
         See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                 'xcmSecUserTable' in XCMI Security MIB.

         See:    Both the X/Open PSIS (Printing Systems Interoperability
         Specification) and the new Part 3 'Systems Management' of DPA
         (ISO/IEC 10175) use the simple three-role scheme specified here
         In Appendix D 'Roles of Users' (pages 108 to 109) of Printer MI
         v1 (RFC 1759), Jay Martin provided an excellent discussion of
         a number of user 'role models', including the following ones:

        User (USER) - A person or application that submits print jobs to
        the printer; typically viewed as the 'end user' within the
        overall printing environment.

        Operator (OP) - A person responsible for maintaining a printer
        on a day-to-day basis, including such tasks as filling empty
        media trays, emptying full output trays, replacing toner
        cartridges, etc.

        System Manager (MGR) - A person responsible for configuration


        and troubleshooting of components involved in the overall
        printing environment, including printers, print queues and
        network connectivity issues.  This person is typically
        responsible for ensuring the overall operational integrity of
        the print system components, and is typically viewed as the
        central point of coordination among all other Role Models."
    DEFVAL      { ''H }                 -- no end user Name
    ::= { xcmHrDevMgmtEntry 9 }

xcmHrDevMgmtOperatorName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A protected system operator Name for this device.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object.

        Usage:  All XCMI conforming management agents: a) SHOULD always
        return a zero length string in response to an SNMP GetRequest of
        this object; b) SHALL NOT return the contents of this object in
        cleartext (ie, unencrypted) in response to an SNMP GetRequest;
        c) SHOULD support (ie, accept) an authenticated SNMP SetRequest
        changing the system 'operator Name' in this object.

        Usage:  Conforming management stations and management agents
        SHOULD support authentication of SNMP SetRequests via values of
        'xcmHrDevMgmt[User|Operator|Admin]Name' in ciphertext
        (ie, encrypted) written in 'xcmHrDevMgmtCommandData'.

        Usage:  Conforming management stations MAY support client-side
        authentication of user roles and rights via checking values of
        'xcmHrDevMgmt[User|Operator|Admin]Name' presented in client
        applications (eg, install tools).  WARNING:  Such authentication
        mechanisms do NOT protect managed systems from attack by other
        SNMP client applications that do NOT perform such client-side
        authentication and are thus inherently weak."
    REFERENCE
        "See:   'xcmHrDevMgmt[User|Admin]Name'
         See:    Section 3.5.2 'Secure Password Change Requests' in
                 XCMI Security TC.
         See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                 'xcmSecUserTable' in XCMI Security MIB."
    DEFVAL      { ''H }                 -- no system operator Name
    ::= { xcmHrDevMgmtEntry 10 }

xcmHrDevMgmtAdminName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A protected system administrator Name for this device.


        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object.

        Usage:  All XCMI conforming management agents: a) SHOULD always
        return a zero length string in response to an SNMP GetRequest of
        this object; b) SHALL NOT return the contents of this object in
        cleartext (ie, unencrypted) in response to an SNMP GetRequest;
        c) SHOULD support (ie, accept) an authenticated SNMP SetRequest
        changing the system 'administrator Name' in this object.

        Usage:  Conforming management stations and management agents
        SHOULD support authentication of SNMP SetRequests via values of
        'xcmHrDevMgmt[User|Operator|Admin]Name' in ciphertext
        (ie, encrypted) written in 'xcmHrDevMgmtCommandData'.

        Usage:  Conforming management stations MAY support client-side
        authentication of user roles and rights via checking values of
        'xcmHrDevMgmt[User|Operator|Admin]Name' presented in client
        applications (eg, install tools).  WARNING:  Such authentication
        mechanisms do NOT protect managed systems from attack by other
        SNMP client applications that do NOT perform such client-side
        authentication and are thus inherently weak."
    REFERENCE
        "See:   'xcmHrDevMgmt[User|Operator]Name'
         See:    Section 3.5.2 'Secure Password Change Requests' in
                 XCMI Security TC.
         See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and
                 'xcmSecUserTable' in XCMI Security MIB."
    DEFVAL      { ''H }                 -- no system admin Name
    ::= { xcmHrDevMgmtEntry 11 }

xcmHrDevMgmtCustomPassword OBJECT-TYPE 
    SYNTAX      OCTET STRING (SIZE (0..255)) 
    MAX-ACCESS  read-create 
    STATUS      current 
    DESCRIPTION 
        "A protected PDL password for this device. 

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object. 

        Usage:  All XCMI conforming management agents: a) SHOULD always 
        return an encoded string in response to an SNMP GetRequest of 
        this object; b) SHALL NOT return the contents of this object in 
        cleartext (ie, unencrypted) in response to an SNMP GetRequest; 
        c) SHOULD support (ie, accept) an unencoded SNMP SetRequest 
        changing the system 'custom password' in this object. 

        Usage:  Conforming management stations and management agents 
        SHOULD support authentication of SNMP SetRequests via values of 
        'xcmHrDevMgmt[User|Operator|Admin|Custom]Password' in 
        written cleartext in 'xcmHrDevMgmtCommandData'. 


        Usage:  Conforming management stations MAY support client-side 
        authentication of user roles and rights via checking values of 
        'xcmHrDevMgmt[User|Operator|Admin|Custom]Password' presented in 
        client applications (eg, install tools).  WARNING:  Such 
        mechanisms do NOT protect managed systems from attack by other 
        authentication SNMP client applications that do NOT perform such
        client-side authentication and are thus inherently weak." 
    REFERENCE 
        "See:   'xcmHrDevMgmt[User|Operator|Admin]Password' 
        See:    Section 3.5.2 'Secure Password Change Requests' in 
                XCMI Security TC. 
        See:    'xcmSysAdminRequestTable' in XCMI System Admin MIB and 
                'xcmSecUserTable' in XCMI Security MIB." 
    DEFVAL      { ''H }                 -- no system admin password 
    ::= { xcmHrDevMgmtEntry 12 } 

xcmHrDevMgmtV1EventOID OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The value of the enterprise-specific OID in an SNMPv1 trap sent
        whenever an 'xcmHrDevMgmtCommandRequest' completes.
        See SNMPv2 trap definition 'xcmHrDevMgmtV2Event'
        below for 'special semantics'."
    ::= { xcmHrDevMgmt 1 }

xcmHrDevMgmtV2EventPrefix
    OBJECT IDENTIFIER ::= { xcmHrDevMgmtV1EventOID 0 }

xcmHrDevMgmtV2Event NOTIFICATION-TYPE
    OBJECTS {
        hrDeviceIndex,
        hrDeviceStatus,
        xcmHrDevInfoXStatus,
        xcmHrDevInfoConditions,
        xcmHrDevInfoXConditions,
        xcmHrDevMgmtCommandRequest,
        xcmHrDevMgmtCommandStatus
    }
    STATUS      current
    DESCRIPTION
        "This trap is sent whenever an 'XcmHrDevMgmtCommandRequest'
        completes, ie, when 'xcmHrDevMgmtCommandStatus' becomes the
        completed operation status and 'XcmHrDevMgmtCommandInProgress'
        goes from 'true' to 'false'.

        Note:   The variable-bindings of this trap have been chosen to
        specify a complete management operation result while keeping
        trap messages reasonably concise (generally a few hundred octets
        at most).

        This notification has the following special semantics:


            o   The device's 'hrDeviceIndex' field
                value SHALL be appended to this trap object ID,
                as a BER binary OID suffix.

        This trap OID qualifier allows device management/monitoring
        applications to limit the alerts they receive to ones generated 
        by requests they have submitted."
    ::= { xcmHrDevMgmtV2EventPrefix 1 }

--  Note that the SNMPv2 to SNMPv1 translation rules dictate that the
--  preceding structure will result in SNMPv1 traps of the following
--  form:
--
--  xcmHrDevMgmtV1Event TRAP-TYPE
--      ENTERPRISE  xcmHrDevMgmtV1EventOID
--      VARIABLES   {
--          hrDeviceIndex,
--          hrDeviceStatus,
--          xcmHrDevInfoXStatus,
--          xcmHrDevInfoConditions,
--          xcmHrDevInfoXConditions,
--          xcmHrDevMgmtCommandRequest,
--          xcmHrDevMgmtCommandStatus
--      }
--      DESCRIPTION
--          "This trap is sent when an 'XcmHrDevMgmtCommandRequest'
--          completes.
--          See SNMPv2 trap definition 'xcmHrDevMgmtV2Event'
--          above for 'special semantics'."
--      ::= 1

--
--          Device Power Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement device power profile
--          management via SNMP, and optional for all other systems.
--
--          Note:   Systems are free to decompose the hierarchy of their
--          hardware containment to any depth via 'hrDeviceTable' and
--          and 'xcmHrDev[Info|Power]Table' entries, in order to manage
--          their power profiles at any granularity.

xcmHrDevPower       OBJECT IDENTIFIER ::= { xcmHrMIB 6 }

xcmHrDevPowerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevPowerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing power management cycle objects for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the


        IETF Host Resources MIB (RFC 2790)."
    REFERENCE
        "See:   'hrProcessorTable', 'hrNetworkTable', 'hrPrinterTable'
                in the IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevPower 2 }

xcmHrDevPowerEntry OBJECT-TYPE
    SYNTAX      XcmHrDevPowerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing power management cycle objects for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex }
    ::= { xcmHrDevPowerTable 1 }

XcmHrDevPowerEntry ::= SEQUENCE {
        --  Device Power
        xcmHrDevPowerRowStatus          RowStatus,
        xcmHrDevPowerWarmUpSupport      PresentOnOff,
        xcmHrDevPowerCoolDownSupport    PresentOnOff,
        xcmHrDevPowerEnergySaveSupport  PresentOnOff,
        xcmHrDevPowerTimeUnit           XcmHrDevPowerTimeUnit,
        xcmHrDevPowerWarmUpDelay        Integer32,
        xcmHrDevPowerWarmUpDuration     Integer32,
        xcmHrDevPowerCoolDownDelay      Integer32,
        xcmHrDevPowerCoolDownDuration   Integer32,
        xcmHrDevPowerEnergySaveDelay    Integer32,
        xcmHrDevPowerEnergySaveDuration Integer32,
        xcmHrDevPowerWakeUpSupport      PresentOnOff,
        xcmHrDevPowerWakeUpDelay        Integer32,
        xcmHrDevPowerWakeUpDuration     Integer32,
        xcmHrDevPowerShutdownDelay      Integer32,
        xcmHrDevPowerShutdownDuration   Integer32,
        xcmHrDevPowerStartupDelay       Integer32,
        xcmHrDevPowerStartupDuration    Integer32
    }

--          Note:   'xcmHrDevPower[Startup|Shutdown]Support' are NOT
--          defined, because 'startup' and 'shutdown' are mandatory
--          operations for all devices which support device management,
--          via 'xcmHrDevMgmtCommandRequest' (interactive) or
--          via 'xcmHrDevCalendarCommandRequest' (batch) or
--          via some non-SNMP management protocol (interactive/batch).

xcmHrDevPowerRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevPowerTable'.


        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevPowerRowStatus' row status object; and
        SHALL clear the 'xcmHrDevPowerGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevPowerRowStatus' row status object; and
        SHALL set the 'xcmHrDevPowerGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevPowerEntry 1 }

xcmHrDevPowerWarmUpSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'warm up' feature support management object,
        used by system administrators of this device.

        Usage:  This object specifies the support present (if any) for
        a device 'warm up' feature ('standbyMode' to 'readyMode').
        For example, a photocopier might want to 'warm up' (as a system)
        (to 'readyMode') some time after a user presses a button.

      * 'other(1)'
        - DEPRECATED - SHALL NOT be used by conforming implementations
      * 'on(3)'
        - device 'warm up' feature is present and enabled
        both '...WarmUpDelay' and '...WarmUpDuration' are used
        - if '...WarmUpDelay' is zero,
        then 'warm up' cycle begins immediately after trigger event
        - if '...WarmUpDelay' is non-zero,
        then 'warm up' cycle is delayed for specified time
        - if '...WarmUpDuration' is zero,
        then 'warm up' cycle completes immediately after initiation
        - if '...WarmUpDuration' is non-zero,
        then 'warm up' cycle requires specified time to complete
      * 'off(4)'


        - device 'warm up' feature is present but disabled
        both '...WarmUpDelay' and '...WarmUpDuration' NOT used
      * 'notPresent(5)'
        - device 'warm up' feature NOT present on this host system
        both '...WarmUpDelay' and '...WarmUpDuration' NOT used"
    REFERENCE
        "See:   'xcmHrDevPowerWarmUp[Delay|Duration]'"
    DEFVAL      { notPresent }          -- NOT present on system
    ::= { xcmHrDevPowerEntry 2 }

xcmHrDevPowerCoolDownSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'cool down' feature support management object,
        used by system administrators of this device.

        Usage:  This object specifies the support present (if any) for
        a device 'cool down' feature ('readyMode' to 'standbyMode').
        For example, a printer might want to 'cool down' a motor
        (to 'standbyMode') some time after the last page printed.

      * 'other(1)'
        - DEPRECATED - SHALL NOT be used by conforming implementations
      * 'on(3)'
        - device 'cool down' feature is present and enabled
        both '...CoolDownDelay' and '...CoolDownDuration' are used
        - if '...CoolDownDelay' is zero,
        then 'cool down' cycle begins immediately after trigger event
        - if '...CoolDownDelay' is non-zero,
        then 'cool down' cycle is delayed for specified time
        - if '...CoolDownDuration' is zero,
        then 'cool down' cycle completes immediately after initiation
        - if '...CoolDownDuration' is non-zero,
        then 'cool down' cycle requires specified time to complete
      * 'off(4)'
        - device 'cool down' feature is present but disabled
        both '...CoolDownDelay' and '...CoolDownDuration' NOT used
      * 'notPresent(5)'
        - device 'cool down' feature NOT present on this host system
        both '...CoolDownDelay' and '...CoolDownDuration' NOT used"
    REFERENCE
        "See:   'xcmHrDevPowerCoolDown[Delay|Duration]'"
    DEFVAL      { notPresent }          -- NOT present on system
    ::= { xcmHrDevPowerEntry 3 }

xcmHrDevPowerEnergySaveSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'energy save' feature support management object,
        used by system administrators of this device.


        Usage:  This object specifies the support present (if any) for
        a device 'energy save' feature ('standbyMode' to 'sleepMode').
        For example, a printer might want to 'energy save' transition
        (to 'sleepMode') some time after the last 'cool down'
        (to 'standbyMode') completion.

      * 'other(1)'
        - DEPRECATED - SHALL NOT be used by conforming implementations
      * 'on(3)'
        - device 'energy save' feature is present and enabled
        both '...EnergySaveDelay' and '...EnergySaveDuration' are used
        - if '...EnergySaveDelay' is zero,
        then 'energy save' cycle begins immediately after trigger event
        - if '...EnergySaveDelay' is non-zero,
        then 'energy save' cycle is delayed for specified time
        - if '...EnergySaveDuration' is zero,
        then 'energy save' cycle completes immediately after initiation
        - if '...EnergySaveDuration' is non-zero,
        then 'energy save' cycle requires specified time to complete
      * 'off(4)'
        - device 'energy save' feature is present but disabled
        both '...EnergySaveDelay' and '...EnergySaveDuration' NOT used
      * 'notPresent(5)'
        - device 'energy save' feature NOT present on this host system
        both '...EnergySaveDelay' and '...EnergySaveDuration' NOT used"
    REFERENCE
        "See:   'xcmHrDevPowerEnergySave[Delay|Duration]'"
    DEFVAL      { notPresent }          -- NOT present on system
    ::= { xcmHrDevPowerEntry 4 }

xcmHrDevPowerTimeUnit OBJECT-TYPE
    SYNTAX      XcmHrDevPowerTimeUnit
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device power cycle time unit, used by system administrators
        of this device for power management cycle times.

        Usage:  Used to scale the values in the Device Power group, for
        convenience and (optional) high resolution."
    DEFVAL      { unknown }             -- unknown
    ::= { xcmHrDevPowerEntry 5 }

xcmHrDevPowerWarmUpDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'warm up' feature delay time,
        or zero if none, used by system administrators of this device.

        Usage:  The time delay after last 'warm up' trigger event
        (eg, arrival of a job, some local user action, etc)


        before the 'warm up' cycle will begin (to power 'readyMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerWarmUpSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no warm up delay
    ::= { xcmHrDevPowerEntry 6 }

xcmHrDevPowerWarmUpDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'warm up' feature duration,
        or zero if none, used by system administrators of this device.

        Usage:  The time after last 'warm up' initiation
        before the 'warm up' will complete (to power 'readyMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerWarmUpSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no warm up time
    ::= { xcmHrDevPowerEntry 7 }

xcmHrDevPowerCoolDownDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'cool down' feature delay time,
        or zero if none, used by system administrators of this device.

        Usage:  The time delay after last 'cool down' trigger event
        (eg, completion of a job, some local user action, etc)
        before the 'cool down' cycle will begin (to power 'standbyMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerCoolDownSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no cool down delay
    ::= { xcmHrDevPowerEntry 8 }

xcmHrDevPowerCoolDownDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'cool down' feature duration,
        or zero if none, used by system administrators of this device.


        Usage:  The time after last 'cool down' initiation
        before the 'cool down' will complete (to power 'standbyMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerCoolDownSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no cool down duration
    ::= { xcmHrDevPowerEntry 9 }

xcmHrDevPowerEnergySaveDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'energy save' feature delay time,
        or zero if none, used by system administrators of this device.

        Usage:  The time delay after last 'energy save' trigger event
        (eg, completion of the last 'cool down' cycle to 'standbyMode')
        before the 'energy save' cycle will begin (to power 'sleepMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerEnergySaveSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no energy save delay
    ::= { xcmHrDevPowerEntry 10 }

xcmHrDevPowerEnergySaveDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'energy save' feature duration,
        or zero if none, used by system administrators of this device.

        Usage:  The time after last 'energy save' initiation
        before the 'energy save' will complete (to power 'sleepMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerEnergySaveSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no energy save duration
    ::= { xcmHrDevPowerEntry 11 }

xcmHrDevPowerWakeUpSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'wake up' feature support management object,


        used by system administrators of this device.

        Usage:  This object specifies the support present (if any) for
        a device 'wake up' feature ('sleepMode' to 'standbyMode').
        For example, a photocopier might want to 'wake up' (as a system)
        (to 'standbyMode') some time after a user presses a button.

      * 'other(1)'
        - DEPRECATED - SHALL NOT be used by conforming implementations
      * 'on(3)'
        - device 'wake up' feature is present and enabled
        both '...WakeUpDelay' and '...WakeUpDuration' are used
        - if '...WakeUpDelay' is zero,
        then 'wake up' cycle begins immediately after trigger event
        - if '...WakeUpDelay' is non-zero,
        then 'wake up' cycle is delayed for specified time
        - if '...WakeUpDuration' is zero,
        then 'wake up' cycle completes immediately after initiation
        - if '...WakeUpDuration' is non-zero,
        then 'wake up' cycle requires specified time to complete
      * 'off(4)'
        - device 'wake up' feature is present but disabled
        both '...WakeUpDelay' and '...WakeUpDuration' NOT used
      * 'notPresent(5)'
        - device 'wake up' feature NOT present on this host system
        both '...WakeUpDelay' and '...WakeUpDuration' NOT used"
    REFERENCE
        "See:   'xcmHrDevPowerWakeUp[Delay|Duration]'"
    DEFVAL      { notPresent }          -- NOT present on system
    ::= { xcmHrDevPowerEntry 12 }

xcmHrDevPowerWakeUpDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'wake up' feature delay time,
        or zero if none, used by system administrators of this device.

        Usage:  The time delay after last 'wake up' trigger event
        (eg, arrival of a job, some local user action, etc)
        before the 'wake up' cycle will begin (to power 'standbyMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerWakeUpSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no wake up delay
    ::= { xcmHrDevPowerEntry 13 }

xcmHrDevPowerWakeUpDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current


    DESCRIPTION
        "A device 'wake up' feature duration,
        or zero if none, used by system administrators of this device.

        Usage:  The time after last 'wake up' initiation
        before the 'wake up' will complete (to power 'standbyMode'
        in 'xcmHrDevInfoConditions')."
    REFERENCE
        "See:   'xcmHrDevPowerWakeUpSupport' for feature details
        and     'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no wake up time
    ::= { xcmHrDevPowerEntry 14 }

xcmHrDevPowerShutdownDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'shutdown' feature delay time,
        or zero if none, used by system administrators of this device.

        Usage:  The time delay after last 'shutdown' trigger event
        (eg, completion of the last 'energy save' cycle to 'sleepMode')
        before the 'shutdown' cycle will begin (to power 'offMode'
        in 'xcmHrDevInfoConditions' and 'down' in 'hrDeviceStatus')."
    REFERENCE
        "See:   'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no shutdown delay
    ::= { xcmHrDevPowerEntry 15 }

xcmHrDevPowerShutdownDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'shutdown' feature duration,
        or zero if none, used by system administrators of this device.

        Usage:  The time after last 'shutdown' initiation
        before the 'shutdown' cycle will complete (to power 'offMode'
        in 'xcmHrDevInfoConditions' and 'down' in 'hrDeviceStatus')."
    REFERENCE
        "See:   'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no shutdown time
    ::= { xcmHrDevPowerEntry 16 }

xcmHrDevPowerStartupDelay OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION


        "A device 'startup' feature delay time,
        or zero if none, used by system administrators of this device.

        Usage:  The time delay after last 'startup' trigger event
        (eg, 'xcmHrDevCalendarCommandRequest' or local user action)
        before the 'startup' cycle will begin (to power 'readyMode'
        in 'xcmHrDevInfoConditions' and 'running' in 'hrDeviceStatus')."
    REFERENCE
        "See:   'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no startup delay
    ::= { xcmHrDevPowerEntry 17 }

xcmHrDevPowerStartupDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device 'startup' feature duration,
        or zero if none, used by system administrators of this device.

        Usage:  The time after last 'startup' initiation
        before the 'startup' cycle will complete (to power 'readyMode'
        in 'xcmHrDevInfoConditions' and 'running' in 'hrDeviceStatus')."
    REFERENCE
        "See:   'xcmHrDevPowerTimeUnit' for time unit
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no startup time
    ::= { xcmHrDevPowerEntry 18 }

--
--          Device Traffic Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement device traffic
--          statistics via SNMP, and optional for all other systems.

xcmHrDevTraffic     OBJECT IDENTIFIER ::= { xcmHrMIB 7 }

xcmHrDevTrafficTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevTrafficEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing traffic information objects for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    REFERENCE
        "See:   'hrProcessorTable', 'hrNetworkTable', 'hrPrinterTable'
                in the IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevTraffic 2 }

xcmHrDevTrafficEntry OBJECT-TYPE


    SYNTAX      XcmHrDevTrafficEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing traffic information objects for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex }
    ::= { xcmHrDevTrafficTable 1 }

XcmHrDevTrafficEntry ::= SEQUENCE {
        --  Device Traffic
        xcmHrDevTrafficRowStatus        RowStatus,
        xcmHrDevTrafficInputSupport     PresentOnOff,
        xcmHrDevTrafficOutputSupport    PresentOnOff,
        xcmHrDevTrafficInputUnit        XcmHrDevTrafficUnit,
        xcmHrDevTrafficOutputUnit       XcmHrDevTrafficUnit,
        xcmHrDevTrafficInputCount       Counter32,
        xcmHrDevTrafficOutputCount      Counter32,
        xcmHrDevTrafficInputMaxSize     Cardinal32,
        xcmHrDevTrafficOutputMaxSize    Cardinal32,
        xcmHrDevTrafficInputTimeout     Integer32,
        xcmHrDevTrafficOutputTimeout    Integer32
    }

xcmHrDevTrafficRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevTrafficTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevTrafficRowStatus' row status object; and
        SHALL clear the 'xcmHrDevTrafficGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevTrafficRowStatus' row status object; and
        SHALL set the 'xcmHrDevTrafficGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE


        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevTrafficEntry 1 }

xcmHrDevTrafficInputSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device input traffic support management object,
        used by system administrators of this device.

        Usage:  This object specifies the support present (if any)
        for device input traffic (I/O).
        For example, a ROM only supports input traffic (ie, reads).

      * 'other(1)'
        - DEPRECATED - SHALL NOT be used by conforming implementations
      * 'on(3)'
        - device 'input I/O' feature is present and enabled
        and '...InputTimeout' is meaningful
        - if '...InputTimeout' is zero,
        then 'input I/O' cycle MAY proceed for an infinite time
        - if '...InputTimeout' is non-zero,
        then 'input I/O' cycle is limited to the specified time
      * 'off(4)'
        - device 'input I/O' feature is present but disabled
        and '...InputTimeout' is ignored
      * 'notPresent(5)'
        - device 'input I/O' feature NOT present on this host system
        and '...InputTimeout' is ignored"
    REFERENCE
        "See:   'xcmHrDevTrafficInputTimeout'."
    DEFVAL      { notPresent }          -- NOT present on system
    ::= { xcmHrDevTrafficEntry 2 }

xcmHrDevTrafficOutputSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device output traffic support management object,
        used by system administrators of this device.

        Usage:  This object specifies the support present (if any)
        for device output traffic (I/O).
        For example, a ROM does NOT support output traffic (ie, writes).

      * 'other(1)'
        - DEPRECATED - SHALL NOT be used by conforming implementations
      * 'on(3)'
        - device 'output I/O' feature is present and enabled


        and '...OutputTimeout' is meaningful
        - if '...OutputTimeout' is zero,
        then 'output I/O' cycle MAY proceed for an infinite time
        - if '...OutputTimeout' is non-zero,
        then 'output I/O' cycle is limited to the specified time
      * 'off(4)'
        - device 'output I/O' feature is present but disabled
        and '...OutputTimeout' is ignored
      * 'notPresent(5)'
        - device 'output I/O' feature NOT present on this host system
        and '...OutputTimeout' is ignored"
    REFERENCE
        "See:   'xcmHrDevTrafficOutputTimeout'."
    DEFVAL      { notPresent }          -- NOT present on system
    ::= { xcmHrDevTrafficEntry 3 }

xcmHrDevTrafficInputUnit OBJECT-TYPE
    SYNTAX      XcmHrDevTrafficUnit
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device input unit, used by system administrators
        of this device for input traffic counters.

        Usage:  For example, a disk drive might use 'mediaBlock'.

        Usage:  Thanks to XCMI WG members for stimulating the following
        discussion.  There are three reasonable ways for using the
        'xcmHrDevTraffic[Input|Output]Unit' objects:  a) 'read-only' and
        set up by the management agent according to the sole appropriate
        (fixed) units at time of row creation; b) 'write-once' by the
        management station, at time of row creation (possibly selecting
        from among several possible valid units); and c) 'write-many' by
        the management station (to dynamically request the management
        agent to 'convert' the 'xcmHrDevTraffic[Input|Output]Count'
        objects into the appropriate units).  Conforming implementations
        need NOT support more than one of the above three scenarios.

        Usage:  'mediaImage' - SHOULD be used ONLY for softcopy
                INPUT page images (scan, copy, fax, etc.).
                'mediaImpression' - SHOULD be used ONLY for hardcopy
                OUTPUT page impressions (print, copy, fax, etc.)
                'mediaSheet' - SHOULD be used ONLY for hardcopy
                OUTPUT and does NOT always equal output pages
                (e.g., duplex or N-up printing)."
    DEFVAL      { unknown }             -- unknown
    ::= { xcmHrDevTrafficEntry 4 }

xcmHrDevTrafficOutputUnit OBJECT-TYPE
    SYNTAX      XcmHrDevTrafficUnit
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device output unit, used by system administrators


        of this device for output traffic counters.

        Usage:  For example, a terminal might use 'textLine'.

        Usage:  'mediaImage' - SHOULD be used ONLY for softcopy
                INPUT page images (scan, copy, fax, etc.).
                'mediaImpression' - SHOULD be used ONLY for hardcopy
                OUTPUT page impressions (print, copy, fax, etc.)
                'mediaSheet' - SHOULD be used ONLY for hardcopy
                OUTPUT and does NOT always equal output pages
                (e.g., duplex or N-up printing)."
    DEFVAL      { unknown }             -- unknown
    ::= { xcmHrDevTrafficEntry 5 }

xcmHrDevTrafficInputCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A device input traffic count, used by system administrators
        and end users of this device.

        Usage:  Although no default value ('DEFVAL' clause) is permitted
        (by IETF SMIv2) for this counter, conforming host systems SHALL
        zero this counter upon conceptual row creation."
    REFERENCE
        "See:   'hrDeviceErrors' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevTrafficEntry 6 }

xcmHrDevTrafficOutputCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A device output traffic count, used by system administrators
        and end users of this device.

        Usage:  Although no default value ('DEFVAL' clause) is permitted
        (by IETF SMIv2) for this counter, conforming host systems SHALL
        zero this counter upon conceptual row creation."
    REFERENCE
        "See:   'hrDeviceErrors' in the Device group of the
            IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevTrafficEntry 7 }

xcmHrDevTrafficInputMaxSize OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device input maximum size, or zero if infinite,
        used by system administrators and end users of this device.


        Usage:  It is device specific how (or if) this limit object is
        used (eg, disk with 'xcmHrDevTrafficInputUnit' of 'mediaBlock'
        might limit block count of a single disk read to '50')."
    DEFVAL      { 0 }                   -- no device input max size
    ::= { xcmHrDevTrafficEntry 8 }

xcmHrDevTrafficOutputMaxSize OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device output maximum size, or zero if infinite,
        used by system administrators and end users of this device.

        Usage:  It is device specific how (or if) this limit object is
        used (eg, disk with 'xcmHrDevTrafficOutputUnit' of 'mediaBlock'
        might limit block count of a single disk write to '50')."
    DEFVAL      { 0 }                   -- no device output max size
    ::= { xcmHrDevTrafficEntry 9 }

xcmHrDevTrafficInputTimeout OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device input traffic timeout (in seconds),
        or zero if none, used by system administrators of this device.

        Usage:  This object specifies the timeout to be used (if any)
        for device input traffic (I/O).
        For example, a disk drive might want to timeout disk reads."
    REFERENCE
        "See:   'xcmHrDevTrafficInputSupport' for feature details
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"
    DEFVAL      { 0 }                   -- no input traffic timeout
    ::= { xcmHrDevTrafficEntry 10 }

xcmHrDevTrafficOutputTimeout OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device output traffic timeout (in seconds),
        or zero if none, used by system administrators of this device.

        Usage:  This object specifies the timeout to be used (if any)
        for device output traffic (I/O).
        For example, a terminal might want to timeout screen writes."
    REFERENCE
        "See:   'xcmHrDevTrafficOutputSupport' for feature details
        and     'xcmHrDevInfoConditions' for device 'mode' conditions"


    DEFVAL      { 0 }                   -- no output traffic timeout
    ::= { xcmHrDevTrafficEntry 11 }

--
--          System Fault Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement persistent system
--          fault logs via SNMP, and optional for all other systems.

xcmHrSystemFault    OBJECT IDENTIFIER ::= { xcmHrMIB 8 }

xcmHrSystemFaultTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrSystemFaultEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of the system faults which have been recorded
        (logged) on this host system.

        Usage:  Conforming implementations SHALL ensure that this
        table contains (up to) a product specific number of the most
        'recent' faults on this host system.

        Usage:  Conforming implementations which also implement Device
        Alert group, SHALL record in 'xcmHrDevAlertTable'
        each persistent system fault when it occurs and is recorded
        in 'xcmHrSystemFaultTable'.

        Usage:  Conforming implementations MAY 'age' older entries out
        of 'xcmHrSystemFaultTable' (by an algorithm outside the scope of
        XCMI specifications)."
    ::= { xcmHrSystemFault 2 }

xcmHrSystemFaultEntry OBJECT-TYPE
    SYNTAX      XcmHrSystemFaultEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for a system fault which has been recorded
        (logged) on this host system."
    INDEX       { xcmHrSystemFaultIndex }
    ::= { xcmHrSystemFaultTable 1 }

XcmHrSystemFaultEntry ::= SEQUENCE {
        --  System Fault Info
        xcmHrSystemFaultIndex           Ordinal32,
        xcmHrSystemFaultRowStatus       RowStatus,
        xcmHrSystemFaultCode            Integer32,
        xcmHrSystemFaultString          XcmFixedLocaleDisplayString,
        xcmHrSystemFaultReferenceOID    OBJECT IDENTIFIER,
        xcmHrSystemFaultHrDeviceIndex   Cardinal32,
        xcmHrSystemFaultDate            DateAndTime
    }


--
--          System Fault Info
--

xcmHrSystemFaultIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrSystemFaultTable'.

        Usage:  Conforming implementations SHALL NOT 'reuse' values of
        'xcmHrSystemFaultIndex' until its' 32-bit value wraps.  Even in
        the case of eventual wrap, the entries SHALL be strictly
        sequenced by the associated value of 'xcmHrSystemFaultDate'.

        Usage:  Conforming implementations are strongly encouraged to
        preserve the last used value of 'xcmHrSystemFaultIndex' across
        system power cycles."
    ::= { xcmHrSystemFaultEntry 1 }

xcmHrSystemFaultRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to create (by management agent) and delete
        (by management station and/or management agent) individual
        conceptual rows in the 'xcmHrSystemFaultTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrSystemFaultRowStatus' row status object; and
        SHALL clear the 'xcmHrSystemFaultGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrSystemFaultRowStatus' row status object; and
        SHALL set the 'xcmHrSystemFaultGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).


        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrSystemFaultEntry 2 }

xcmHrSystemFaultCode OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Encoded fault code of the system fault which is
        recorded in this conceptual row in the 'xcmHrSystemFaultTable'."
    DEFVAL      { 0 }                   -- no fault code
    ::= { xcmHrSystemFaultEntry 3 }

xcmHrSystemFaultString OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Human-readable fault string of the system fault which is
        recorded in this conceptual row in the 'xcmHrSystemFaultTable'."
    DEFVAL      { ''H }                 -- no fault string
    ::= { xcmHrSystemFaultEntry 4 }

xcmHrSystemFaultReferenceOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An (optional) unambiguous system object reference
        (which MAY include instance suffix information),
        used by system administrators and end users to qualify
        this system fault.

        Usage:  Since this system object reference is specified
        as an object identifier, it MAY be taken from any IETF, Xerox,
        third- party, or product-specific MIB, or it MAY simply be any
        IETF SMIv2-style 'autonomous type'."
    DEFVAL      { zeroDotZero }   -- no fault object reference
    ::= { xcmHrSystemFaultEntry 5 }

xcmHrSystemFaultHrDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An (optional) device index (ie, value of 'hrDeviceIndex'),
        used by system administrators and end users to qualify
        this system fault."
    REFERENCE
        "See:   'hrDeviceIndex' and 'hrDeviceType' objects in the
        IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no fault device index
    ::= { xcmHrSystemFaultEntry 6 }


xcmHrSystemFaultDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time stamp for the system fault which is
        recorded in this conceptual row in the 'xcmHrSystemFaultTable'."
    DEFVAL      { '0000000000000000'H } -- no fault time stamp
    ::= { xcmHrSystemFaultEntry 7 }

--
--          Device Calendar Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement device calendar
--          management via SNMP, and optional for all other systems.

xcmHrDevCalendar    OBJECT IDENTIFIER ::= { xcmHrMIB 10 }

xcmHrDevCalendarTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevCalendarEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing calendar management objects for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevCalendar 2 }

xcmHrDevCalendarEntry OBJECT-TYPE
    SYNTAX      XcmHrDevCalendarEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing calendar management objects for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex,
                  xcmHrDevCalendarDayOfWeek,
                  xcmHrDevCalendarTimeOfDay }
    ::= { xcmHrDevCalendarTable 1 }

XcmHrDevCalendarEntry ::= SEQUENCE {
        --  Device Calendar
        xcmHrDevCalendarDayOfWeek       XcmHrDevCalendarDayOfWeek,
        xcmHrDevCalendarTimeOfDay       XcmHrDevCalendarTimeOfDay,
        xcmHrDevCalendarRowStatus       RowStatus,
        xcmHrDevCalendarExplicitDate    DateAndTime,
        xcmHrDevCalendarCommandRequest  XcmHrDevMgmtCommandRequest,
        xcmHrDevCalendarCommandData     XcmHrDevMgmtCommandData
    }


xcmHrDevCalendarDayOfWeek OBJECT-TYPE
    SYNTAX      XcmHrDevCalendarDayOfWeek
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The day of week when the command specified in this conceptual
        row in the 'xcmHrDevCalendarTable' SHALL be invoked."
    ::= { xcmHrDevCalendarEntry 1 }

xcmHrDevCalendarTimeOfDay OBJECT-TYPE
    SYNTAX      XcmHrDevCalendarTimeOfDay
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The time of day when the command specified in this conceptual
        row in the 'xcmHrDevCalendarTable' SHALL be invoked, specified
        as hours (0..23) multiplied by 100, added to minutes (0..59),
        added to a constant bias of 10000 (avoids an index value of zero
        in 'xcmHrDevCalendarTimeOfDay')."
    ::= { xcmHrDevCalendarEntry 2 }

xcmHrDevCalendarRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevCalendarTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevCalendarRowStatus' row status object; and
        SHALL clear the 'xcmHrDevCalendarGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevCalendarRowStatus' row status object; and
        SHALL set the 'xcmHrDevCalendarGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."


    ::= { xcmHrDevCalendarEntry 3 }

xcmHrDevCalendarExplicitDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The explicit date when the command specified in this conceptual
        row in the 'xcmHrDevCalendarTable' SHALL be invoked.

        Usage:  When 'xcmHrDevCalendarExplicitDate' is used, the value
        of 'xcmHrDevCalendarDayOfWeek' SHALL be 'everyDay' and the value
        of 'xcmHrDevCalendarTimeOfDay' SHALL be arbitrary (to provide
        uniqueness for this conceptual row)."
    DEFVAL      { '0000000000000000'H } -- no explicit date for command
    ::= { xcmHrDevCalendarEntry 4 }

xcmHrDevCalendarCommandRequest OBJECT-TYPE
    SYNTAX      XcmHrDevMgmtCommandRequest
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The management command request specified in this conceptual
        row in the 'xcmHrDevCalendarTable', which SHALL be invoked based
        on 'xcmHrDevCalendarDayOfWeek', 'xcmHrDevCalendarTimeOfDay', and
        (optionally) 'xcmHrDevCalendarExplicitDate'."
    REFERENCE
        "See:   'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'xcmHrDevCalendarCommandData'"
    DEFVAL      { none }                -- no command request
    ::= { xcmHrDevCalendarEntry 5 }

xcmHrDevCalendarCommandData OBJECT-TYPE
    SYNTAX      XcmHrDevMgmtCommandData
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The management command data specified in this conceptual
        row in the 'xcmHrDevCalendarTable', which SHALL be invoked based
        on 'xcmHrDevCalendarDayOfWeek', 'xcmHrDevCalendarTimeOfDay', and
        (optionally) 'xcmHrDevCalendarExplicitDate'.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."
    REFERENCE
        "See:   Security Config, Account, and User groups in
                XCMI Security MIB.
        See:    Section 6.6 'Security in DPA' (pages 38 to 39) of
                DPA (ISO 10175-1 / Final Text, March 1996).
        See:    'hrDeviceStatus' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'xcmHrDevCalendarCommandRequest'"
    DEFVAL      { ''H }                 -- no command data


    ::= { xcmHrDevCalendarEntry 6 }

--          Software Running Ext Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which support running software
--          extensions via SNMP, and optional for all other systems.
--
--          Usage:  Conforming management agents which implement this
--          group SHALL also implement the Software Running
--          group of the IETF Host Resources MIB (RFC 2790)
--          and MAY also support secure 'service' configuration
--          via the XCMI Security MIB.

xcmHrSWRun          OBJECT IDENTIFIER ::= { xcmHrMIB 11 }

xcmHrSWRunTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrSWRunEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing software info objects for
        loaded and (possibly) active software on this host system,
        augmenting the basic entries in the 'hrSWRunTable' of the
        IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrSWRun 2 }

xcmHrSWRunEntry OBJECT-TYPE
    SYNTAX      XcmHrSWRunEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing software info objects for
        loaded and (possibly) active software on this host system,
        augmenting a basic entry in the 'hrSWRunTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrSWRunIndex }
    ::= { xcmHrSWRunTable 1 }

XcmHrSWRunEntry ::= SEQUENCE {
        --  Software Running Ext
        xcmHrSWRunRowStatus             RowStatus,
        xcmHrSWRunAdminName             XcmFixedLocaleDisplayString,
        xcmHrSWRunXStatus               XcmHrSWRunXStatus,
        xcmHrSWRunRowCreateDate         DateAndTime,
        xcmHrSWRunPhysicalDeviceIndex   Cardinal32,
        xcmHrSWRunLogicalDeviceIndex    Cardinal32,
        xcmHrSWRunNextIndex             Cardinal32,
        xcmHrSWRunPreviousIndex         Cardinal32
    }

xcmHrSWRunRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create


    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrSWRunTable' and ALSO manages the row status
        of the associated conceptual row in the 'hrSWRunTable'
        of the IETF Host Resources MIB.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrSWRunRowStatus' row status object; and
        SHALL clear the 'xcmHrSWRunGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrSWRunRowStatus' row status object; and
        SHALL set the 'xcmHrSWRunGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrSWRunEntry 1 }

xcmHrSWRunAdminName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable software name, used by system administrators
        and end users to identify this software for systems management.

        Usage:  This software name SHALL be the one normally used in a
        CLI/GUI/API for control of this software.

        Note:   The 'hrSWRunName' object in 'hrSWRunTable'
        of the IETF Host Resources MIB (RFC 2790) has MANDATORY content
        of 'manufacturer, revision, and the name by which [the software]
        is commonly known'.  Thus, conforming implementations SHALL NOT
        set a 'simple name' into 'hrSWRunName'.  Therefore, this
        'xcmHrSWRunAdminName' object is needed for management."
    REFERENCE
        "See:   'hrSWRunName' in the Software Running Group
        of the IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { ''H }                 -- no software admin name


    ::= { xcmHrSWRunEntry 2 }

xcmHrSWRunXStatus OBJECT-TYPE
    SYNTAX      XcmHrSWRunXStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An extended software status, used by system administrators and
        end users of this software (here, read 'state' for 'status').

        Note:   This extended software status is present for future
        extensions."
    REFERENCE
        "See:   'hrSWRunStatus' in the Software Running Group
        of the IETF Host Resources MIB (RFC 2790)."
--  DEFVAL      { none }                -  no extended software status
    ::= { xcmHrSWRunEntry 3 }

xcmHrSWRunRowCreateDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time when this conceptual row was created."
    DEFVAL      { '0000000000000000'H } -- no row create date
    ::= { xcmHrSWRunEntry 4 }

xcmHrSWRunPhysicalDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the first
        associated conceptual row in the 'hrDeviceTable' representing
        a supported and (possibly) ready 'physical' device, which has
        'xcmHrDevInfoRealization' of 'physical' or 'logicalAndPhysical',
        or zero, if there is no supported and subordinate 'physical'
        device associated with this row (ie, this running software)."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    Section 9.5.6 'Physical-printers-supported' of
                DPA (ISO 10175-1, Final Text, March 1996)."
    DEFVAL      { 0 }                   -- no physical devices
    ::= { xcmHrSWRunEntry 5 }

xcmHrSWRunLogicalDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the first
        associated conceptual row in the 'hrDeviceTable' representing
        a supported and (possibly) ready 'logical' device, which has


        'xcmHrDevInfoRealization' of 'logical' or 'logicalAndPhysical',
        or zero, if there is no supported and subordinate 'logical'
        device associated with this row (ie, this running software)."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    Section 9.5.8 'Logical-printers-supported' of
                DPA (ISO 10175-1, Final Text, March 1996)."
    DEFVAL      { 0 }                   -- no logical devices
    ::= { xcmHrSWRunEntry 6 }

xcmHrSWRunNextIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrSWRunIndex' corresponding to the next
        associated row in the 'hrSWRunTable', or zero if this is
        the last associated conceptual row in a given set."
    DEFVAL      { 0 }                   -- no next entry in this set
    ::= { xcmHrSWRunEntry 7 }

xcmHrSWRunPreviousIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrSWRunIndex' corresponding to the previous
        associated row in the 'hrSWRunTable', or zero if this is
        the first associated conceptual row in a given set."
    DEFVAL      { 0 }                   -- no previous entry in this set
    ::= { xcmHrSWRunEntry 8 }

--          Software Installed Ext Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which support installed software
--          extensions via SNMP, and optional for all other systems.
--
--          Usage:  Conforming management agents which implement this
--          group SHALL also implement the Software Installed
--          group of the IETF Host Resources MIB (RFC 2790)
--          and MAY also support secure 'service' configuration
--          via the XCMI Security MIB.

xcmHrSWInstalled    OBJECT IDENTIFIER ::= { xcmHrMIB 12 }

xcmHrSWInstalledTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrSWInstalledEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing software info objects for
        installed and (possibly) active software on this host system,


        augmenting the basic entries in the 'hrSWInstalledTable' of the
        IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrSWInstalled 2 }

xcmHrSWInstalledEntry OBJECT-TYPE
    SYNTAX      XcmHrSWInstalledEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing software info objects for
        installed and (possibly) active software on this host system,
        augmenting a basic entry in the 'hrSWInstalledTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrSWInstalledIndex }
    ::= { xcmHrSWInstalledTable 1 }

XcmHrSWInstalledEntry ::= SEQUENCE {
        --  Software Installed Ext
        xcmHrSWInstalledRowStatus       RowStatus,
        xcmHrSWInstalledAdminName       XcmFixedLocaleDisplayString,
        xcmHrSWInstalledXStatus         XcmHrSWRunXStatus,
        xcmHrSWInstalledRowCreateDate   DateAndTime,
        xcmHrSWInstalledPhysicalIndex   Cardinal32,
        xcmHrSWInstalledLogicalIndex    Cardinal32,
        xcmHrSWInstalledNextIndex       Cardinal32,
        xcmHrSWInstalledPreviousIndex   Cardinal32
    }

xcmHrSWInstalledRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrSWInstalledTable' and ALSO manages the row status
        of the associated conceptual row in the 'hrSWInstalledTable'
        of the IETF Host Resources MIB (RFC 2790).

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrSWInstalledRowStatus' row status object; and
        SHALL clear the 'xcmHrSWInstalledGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrSWInstalledRowStatus' row status object; and
        SHALL set the 'xcmHrSWInstalledGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').


        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrSWInstalledEntry 1 }

xcmHrSWInstalledAdminName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable software name, used by system administrators
        and end users to identify this software for systems management.

        Usage:  This software name SHALL be the one normally used in a
        CLI/GUI/API for control of this software.

        Note:   The 'hrSWInstalledName' object in 'hrSWInstalledTable'
        of the IETF Host Resources MIB (RFC 2790) has MANDATORY content
        of 'manufacturer, revision, and the name by which [the software]
        is commonly known'.  Thus, conforming implementations SHALL NOT
        set a 'simple name' into 'hrSWInstalledName'.  Therefore, this
        'xcmHrSWInstalledAdminName' object is needed for management."
    REFERENCE
        "See:   'hrSWInstalledName' in the Software Installed Group
        of the IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { ''H }                 -- no software admin name
    ::= { xcmHrSWInstalledEntry 2 }

xcmHrSWInstalledXStatus OBJECT-TYPE
    SYNTAX      XcmHrSWRunXStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An extended software status, used by system administrators and
        end users of this software (here, read 'state' for 'status').

        Note:   This extended software status is present for future
        extensions."
    REFERENCE
        "See:   'hrSWRunStatus' in the Software Running Group
        of the IETF Host Resources MIB (RFC 2790)."
--  DEFVAL      { none }                -  no extended software status
    ::= { xcmHrSWInstalledEntry 3 }

xcmHrSWInstalledRowCreateDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current


    DESCRIPTION
        "The date and time when this conceptual row was created."
    DEFVAL      { '0000000000000000'H } -- no row create date
    ::= { xcmHrSWInstalledEntry 4 }

xcmHrSWInstalledPhysicalIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the first
        associated conceptual row in the 'hrDeviceTable' representing
        a supported and (possibly) ready 'physical' device, which has
        'xcmHrDevInfoRealization' of 'physical' or 'logicalAndPhysical',
        or zero, if there is no supported and subordinate 'physical'
        device associated with this row (ie, this installed software)."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    Section 9.5.6 'Physical-printers-supported' of
                DPA (ISO 10175-1, Final Text, March 1996)."
    DEFVAL      { 0 }                   -- no physical devices
    ::= { xcmHrSWInstalledEntry 5 }

xcmHrSWInstalledLogicalIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the first
        associated conceptual row in the 'hrDeviceTable' representing
        a supported and (possibly) ready 'logical' device, which has
        'xcmHrDevInfoRealization' of 'logical' or 'logicalAndPhysical',
        or zero, if there is no supported and subordinate 'logical'
        device associated with this row (ie, this installed software)."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    Section 9.5.8 'Logical-printers-supported' of
                DPA (ISO 10175-1, Final Text, March 1996)."
    DEFVAL      { 0 }                   -- no logical devices
    ::= { xcmHrSWInstalledEntry 6 }

xcmHrSWInstalledNextIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrSWInstalledIndex' corresponding to the next
        associated row in the 'hrSWInstalledTable', or zero if this is
        the last associated conceptual row in a given set."
    DEFVAL      { 0 }                   -- no next entry in this set
    ::= { xcmHrSWInstalledEntry 7 }


xcmHrSWInstalledPreviousIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrSWInstalledIndex' corresponding to the previous
        associated row in the 'hrSWInstalledTable', or zero if this is
        the first associated conceptual row in a given set."
    DEFVAL      { 0 }                   -- no previous entry in this set
    ::= { xcmHrSWInstalledEntry 8 }

--
--          Device Detail Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement device detail info
--          via SNMP, and optional for all other systems.

xcmHrDevDetail      OBJECT IDENTIFIER ::= { xcmHrMIB 13 }

xcmHrDevDetailTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing device detail information for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790).

        Usage:  UNLIKE the 'xcmGenOptionTable' in the XCMI General MIB
        (which is a unique exception), this table of 'dictionary-based'
        device details is used with DIRECT create/update operations."
    REFERENCE
        "See:   'hrProcessorTable', 'hrNetworkTable', 'hrPrinterTable'
                in the IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrDevDetail 2 }

xcmHrDevDetailEntry OBJECT-TYPE
    SYNTAX      XcmHrDevDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing device detail information for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790).

        Usage:  An entry in this table MAY be used to store specialized
        information for a device, such as 'lifetime' information for a
        CRU ('customer replaceable unit'), eg, a paper tray feed head."
    INDEX       { hrDeviceIndex,
                  xcmHrDevDetailType,


                  xcmHrDevDetailIndex }
    ::= { xcmHrDevDetailTable 1 }

XcmHrDevDetailEntry ::= SEQUENCE {
        --  Device Detail
        xcmHrDevDetailType              XcmHrDevDetailType,
        xcmHrDevDetailIndex             Ordinal32,
        xcmHrDevDetailRowStatus         RowStatus,
        xcmHrDevDetailUnitClass         XcmHrDevDetailUnitClass,
        xcmHrDevDetailUnit              Cardinal32,
        xcmHrDevDetailValueInteger      Integer32,
        xcmHrDevDetailValueOID          OBJECT IDENTIFIER,
        xcmHrDevDetailValueString       OCTET STRING, 
        xcmHrDevDetailDescription       XcmFixedLocaleDisplayString 
    }

xcmHrDevDetailType OBJECT-TYPE
    SYNTAX      XcmHrDevDetailType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of the device detail information specified
        in this conceptual row in the 'xcmHrDevDetailTable'."
    ::= { xcmHrDevDetailEntry 1 }

xcmHrDevDetailIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrDevDetailTable', OR a common
        value shared across a set of related conceptual rows (with
        different values of 'xcmHrDevDetailType'.

        Usage:  For device detail types which are single-valued, this
        index SHALL be used to correlate related single-valued details.

        Usage:  For device detail types which are multi-valued, this
        index SHALL be used to enumerate lists of multi-valued details."
    ::= { xcmHrDevDetailEntry 2 }

xcmHrDevDetailRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        in the 'xcmHrDevDetailTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevDetailRowStatus' row status object; and
        SHALL clear the 'xcmHrDevDetailGroup' bit in


        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevDetailRowStatus' row status object; and
        SHALL set the 'xcmHrDevDetailGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevDetailEntry 3 }

xcmHrDevDetailUnitClass OBJECT-TYPE
    SYNTAX      XcmHrDevDetailUnitClass
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value unit class of the detail information specified
        in this conceptual row in the 'xcmHrDevDetailTable'.

        Usage:  Used to select a textual convention for specifying the
        value unit of this device detail.

        Usage:  The 'xcmHrDevDetail[UnitClass|Class]' objects
        are used to specify the value syntax AND the value unit of the
        'xcmHrDevDetail[Integer|OID|String]' value objects."
    REFERENCE
        "See:   'xcmHrDevDetailUnit'"
    DEFVAL      { unknown }             -- no detail value unit class
    ::= { xcmHrDevDetailEntry 4 }

xcmHrDevDetailUnit OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value unit of the detail information specified
        in this conceptual row in the 'xcmHrDevDetailTable'.

        Usage:  Used to select an enumerated choice from a textual
        convention to specify the value unit of this device detail.

        Usage:  The 'xcmHrDevDetail[UnitClass|Class]' objects
        are used to specify the value syntax AND the value unit of the


        'xcmHrDevDetail[Integer|OID|String]' value objects."
    REFERENCE
        "See:   'xcmHrDevDetailUnitClass'"
    DEFVAL      { 0 }                   -- no detail value unit
    ::= { xcmHrDevDetailEntry 5 }

xcmHrDevDetailValueInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device detail value integer,
        used by system administrators and end users to specify
        the current value for a device detail
        with a base value syntax of 'INTEGER'."
    REFERENCE
        "See:   'xcmHrDevDetailValueOID' and
                'xcmHrDevDetailValueString'
        See:    'xcmHrDevDetailUnitClass' and
                'xcmHrDevDetailUnit' for syntax of detail value"
    DEFVAL      { 0 }                   -- no detail value integer
    ::= { xcmHrDevDetailEntry 6 }

xcmHrDevDetailValueOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device detail value OID (object identifier),
        used by system administrators and end users to specify
        the current value for a device detail
        with a base value syntax of 'OBJECT IDENTIFIER'."
    REFERENCE
        "See:   'xcmHrDevDetailValueInteger' and
                'xcmHrDevDetailValueString'
        See:    'xcmHrDevDetailUnitClass' and
                'xcmHrDevDetailUnit' for syntax of detail value"
    DEFVAL      { zeroDotZero }   -- no detail value OID
    ::= { xcmHrDevDetailEntry 7 }

xcmHrDevDetailValueString OBJECT-TYPE
--  SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A device detail value string,
        used by system administrators and end users to specify
        the current value for a device detail
        with a base value syntax of 'OCTET STRING'.

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'.

        Usage:  Conformant implementations MUST encrypt passwords, keys,


        and other security information stored in this string object."
    REFERENCE
        "See:   'xcmHrDevDetailValueInteger' and
                'xcmHrDevDetailValueOID'
        See:    'xcmHrDevDetailUnitClass' and
                'xcmHrDevDetailUnit' for syntax of detail value"
    DEFVAL      { ''H }                 -- no detail value string
    ::= { xcmHrDevDetailEntry 8 }

xcmHrDevDetailDescription OBJECT-TYPE 
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255)) 
    MAX-ACCESS  read-create 
    STATUS      current 
    DESCRIPTION 
       "This object is used to provide a description of the 
       detail. It is NOT expected to be parsed by the management
       application." 
 ::= { xcmHrDevDetailEntry 9 } 

xcmHrDevDetailV1EventOID OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The value of the enterprise-specific OID in an SNMPv1 trap sent
        whenever a device detail usage or time limit is reached.
        See SNMPv2 trap definition 'xcmHrDevDetailV2Event'
        below for 'special semantics'."
    ::= { xcmHrDevDetail 1 }

xcmHrDevDetailV2EventPrefix
    OBJECT IDENTIFIER ::= { xcmHrDevDetailV1EventOID 0 }

xcmHrDevDetailV2Event NOTIFICATION-TYPE
    OBJECTS {
        hrDeviceIndex,
        xcmHrDevDetailType,
        xcmHrDevDetailIndex
    }
    STATUS      current
    DESCRIPTION
        "This trap is sent when 'xcmHrDevDetailIndex' is shared
        between a counter detail and a limit detail which are
        specified in 'xcmHrDevDetailValueInteger', OR
        when 'xcmHrDevDetailValueString' specifies a trigger date.

        Note:   The variable-bindings of this trap have been chosen to
        specify a complete device status change while keeping
        trap messages reasonably concise (generally a few hundred octets
        at most).

        This notification has the following special semantics:

            o   The detail's 'hrDeviceIndex' value,
                the detail's 'xcmHrDevDetailType' value, and
                the detail's 'xcmHrDevDetailIndex' value


                SHALL be appended to this trap object ID,
                as a BER binary OID suffix.

        This trap OID qualifier allows device management/monitoring
        applications to limit the alerts they receive to ones generated
        by device details of interest."
    ::= { xcmHrDevDetailV2EventPrefix 1 }

--  Note that the SNMPv2 to SNMPv1 translation rules dictate that the
--  preceding structure will result in SNMPv1 traps of the following
--  form:
--
--  xcmHrDevDetailV1Event TRAP-TYPE
--      ENTERPRISE  xcmHrDevDetailV1EventOID
--      VARIABLES   {
--          hrDeviceIndex,
--          xcmHrDevDetailType,
--          xcmHrDevDetailIndex
--      }
--      DESCRIPTION
--          "This trap is sent when 'xcmHrDevDetailIndex' is shared
--          between a counter detail and a limit detail which are
--          specified in 'xcmHrDevDetailValueInteger', OR
--          when 'xcmHrDevDetailValueString' specifies a trigger date.
--          See SNMPv2 trap definition 'xcmHrDevDetailV2Event'
--          above for 'special semantics'."
--      ::= 1

--          Storage Ext Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which support storage extensions info
--          via SNMP, and optional for all other systems.
--
--          Usage:  Conforming management agents which implement this
--          group SHALL also implement the Storage
--          group of the IETF Host Resources MIB (RFC 2790)
--          and MAY also support secure 'service' configuration
--          via the XCMI Security MIB.

xcmHrStorage        OBJECT IDENTIFIER ::= { xcmHrMIB 14 }

xcmHrStorageTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrStorageEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing storage info objects for
        'logical' or 'physical' storage elements on this host system,
        augmenting the basic entries in the 'hrStorageTable' of the
        IETF Host Resources MIB (RFC 2790)."
    ::= { xcmHrStorage 2 }

xcmHrStorageEntry OBJECT-TYPE


    SYNTAX      XcmHrStorageEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing storage info objects for
        a 'logical' or 'physical' storage element on this host system,
        augmenting a basic entry in the 'hrStorageTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrStorageIndex }
    ::= { xcmHrStorageTable 1 }

XcmHrStorageEntry ::= SEQUENCE {
        --  Storage Ext
        xcmHrStorageRowStatus           RowStatus,
        xcmHrStorageRealization         XcmHrStorageRealization,
        xcmHrStorageStatus              XcmHrDevInfoStatus,
        xcmHrStorageProductDeviceIndex  Cardinal32,
        xcmHrStoragePlatformDeviceIndex Cardinal32,
        xcmHrStoragePagingDeviceIndex   Cardinal32,
        xcmHrStorageMatchingDeviceIndex Cardinal32,
        xcmHrStorageSWRunIndex          Cardinal32,
        xcmHrStorageSWInstalledIndex    Cardinal32,
        xcmHrStorageNextIndex           Cardinal32,
        xcmHrStoragePreviousIndex       Cardinal32,
        xcmHrStoragePhysicalIndex       Cardinal32
    }

xcmHrStorageRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrStorageTable' and ALSO manages the row status
        of the associated conceptual row in the 'hrStorageTable'
        of the IETF Host Resources MIB (RFC 2790).

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrStorageRowStatus' row status object; and
        SHALL clear the 'xcmHrStorageGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrStorageRowStatus' row status object; and
        SHALL set the 'xcmHrStorageGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section


        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrStorageEntry 1 }

xcmHrStorageRealization OBJECT-TYPE
    SYNTAX      XcmHrStorageRealization
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An extended storage type (or storage 'realization'),
        used by system administrators and end users of this storage.

        Usage:  The use of either 'other' or 'unknown' is uninformative
        and SHOULD be avoided by conforming implementations."
    REFERENCE
        "See:   'XcmHrDevInfoRealization' textual convention in
                the XCMI Ext to Host Resources TC.
        See:    'xcmHrDevInfoRealization' in the Device Info group of
                the XCMI Ext to Host Resources MIB."
    DEFVAL      { physicalSystem }      -- physical system storage
    ::= { xcmHrStorageEntry 2 }

xcmHrStorageStatus OBJECT-TYPE
    SYNTAX      XcmHrDevInfoStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A storage status, used by system administrators
        and end users of this storage (here, read 'state' for 'status').

        Usage:  Conforming implementations SHALL NOT 'bubble up' status
        from 'physical' storage to associated 'logical' storage.  All
        storage SHALL report its own status ONLY."
    REFERENCE
        "See:   'XcmHrDevInfoStatus' textual convention in
                the XCMI Ext to Host Resources TC.
        See:    'hrDeviceStatus' in the Device group of
                the IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { unknown }             -- no storage status
    ::= { xcmHrStorageEntry 3 }

xcmHrStorageProductDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the product
        associated conceptual row in the 'hrDeviceTable' representing
        the product (container) device (eg, of type 'hrDevicePrinter'),


        which uses this storage."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no product device entry
    ::= { xcmHrStorageEntry 4 }

xcmHrStoragePlatformDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the platform
        associated conceptual row in the 'hrDeviceTable' representing
        the CPU device (of type 'hrDeviceProcessor'),
        which manages this storage."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no platform device entry
    ::= { xcmHrStorageEntry 5 }

xcmHrStoragePagingDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the paging
        associated conceptual row in the 'hrDeviceTable' representing
        the paging device (usually of type 'hrDeviceDiskStorage'),
        which provides secondary storage for swapping of this storage."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'storagePageSize' in the
                'XcmHrStorageDetailType' textual convention in
                the XCMI Ext to Host Resources TC."
    DEFVAL      { 0 }                   -- no paging device entry
    ::= { xcmHrStorageEntry 6 }

xcmHrStorageMatchingDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrDeviceIndex' corresponding to the matching
        associated conceptual row in the 'hrDeviceTable' representing
        the matching device (eg, of type 'hrDeviceDiskStorage'),
        which corresponds to this storage."
    REFERENCE
        "See:   'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no matching device entry
    ::= { xcmHrStorageEntry 7 }


xcmHrStorageSWRunIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrSWRunIndex' corresponding to the superior
        associated conceptual row in the 'hrSWRunTable'
        representing the running software which manages this storage."
    REFERENCE
        "See:   'hrSWRunIndex' in the Software Running group
                of the IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no running software entry
    ::= { xcmHrStorageEntry 8 }

xcmHrStorageSWInstalledIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrSWInstalledIndex' corresponding to the superior
        associated conceptual row in the 'hrSWInstalledTable'
        representing the installed software which manages this storage."
    REFERENCE
        "See:   'hrSWInstalledIndex' in the Software Installed group
                of the IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no installed software entry
    ::= { xcmHrStorageEntry 9 }

xcmHrStorageNextIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrStorageIndex' corresponding to:
        a) the next associated row in the 'hrStorageTable'; or
        b) zero if this is the last associated conceptual row in a
        given set; or
        c) zero if this conceptual row is NOT part of a set."
    REFERENCE
        "See:   'hrStorageIndex' in the Storage group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no next storage entry
    ::= { xcmHrStorageEntry 10 }

xcmHrStoragePreviousIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrStorageIndex' corresponding to:
        a) the previous associated row in the 'hrStorageTable'; or
        b) zero if this is the first associated conceptual row in a
        given set; or


        c) zero if this conceptual row is NOT part of a set."
    REFERENCE
        "See:   'hrStorageIndex' in the Storage group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no previous storage entry
    ::= { xcmHrStorageEntry 11 }

xcmHrStoragePhysicalIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of 'hrStorageIndex' corresponding to the directly
        associated conceptual row in the 'hrStorageTable' representing:
        a) the first underlying 'physical' storage (if any), if this
        row has 'xcmHrStorageRealization' of 'logical...'; or
        b) the first subordinate 'physical' storage (if any), if this
        row has 'xcmHrStorageRealization' of 'physical...'; or
        c) zero if there is no underlying or subordinate 'physical'
        storage associated with this row (ie, this storage)."
    REFERENCE
        "See:   'hrStorageIndex' in the Storage group of the
                IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { 0 }                   -- no physical storage entry
    ::= { xcmHrStorageEntry 12 }

--
--          Storage Detail Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement storage detail info
--          via SNMP, and optional for all other systems.

xcmHrStorageDetail  OBJECT IDENTIFIER ::= { xcmHrMIB 15 }

xcmHrStorageDetailTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrStorageDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing storage detail information for
        'logical' or 'physical' storage elements on this host system,
        augmenting a basic entry in the 'hrStorageTable' of the
        IETF Host Resources MIB (RFC 2790).

        Usage:  UNLIKE the 'xcmGenOptionTable' in the XCMI General MIB
        (which is a unique exception), this table of 'dictionary-based'
        storage details is used with DIRECT create/update operations."
    ::= { xcmHrStorageDetail 2 }

xcmHrStorageDetailEntry OBJECT-TYPE
    SYNTAX      XcmHrStorageDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current


    DESCRIPTION
        "A 'sparse' entry containing storage detail information for
        a 'logical' or 'physical' storage element on this host system,
        augmenting a basic entry in the 'hrStorageTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrStorageIndex,
                  xcmHrStorageDetailType,
                  xcmHrStorageDetailIndex }
    ::= { xcmHrStorageDetailTable 1 }

XcmHrStorageDetailEntry ::= SEQUENCE {
        --  Storage Detail
        xcmHrStorageDetailType          XcmHrStorageDetailType,
        xcmHrStorageDetailIndex         Ordinal32,
        xcmHrStorageDetailRowStatus     RowStatus,
        xcmHrStorageDetailUnitClass     XcmHrDevDetailUnitClass,
        xcmHrStorageDetailUnit          Cardinal32,
        xcmHrStorageDetailValueInteger  Integer32,
        xcmHrStorageDetailValueOID      OBJECT IDENTIFIER,
        xcmHrStorageDetailValueString   OCTET STRING
    }

xcmHrStorageDetailType OBJECT-TYPE
    SYNTAX      XcmHrStorageDetailType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of the storage detail information specified
        in this conceptual row in the 'xcmHrStorageDetailTable'."
    ::= { xcmHrStorageDetailEntry 1 }

xcmHrStorageDetailIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrStorageDetailTable', OR a common
        value shared across a set of related conceptual rows (with
        different values of 'xcmHrStorageDetailType'.

        Usage:  For storage detail types which are single-valued, this
        index SHALL be used to correlate related single-valued details.

        Usage:  For storage detail types which are multi-valued, this
        index SHALL be used to enumerate lists of multi-valued details."
    ::= { xcmHrStorageDetailEntry 2 }

xcmHrStorageDetailRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in


        in the 'xcmHrStorageDetailTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrStorageDetailRowStatus' row status object; and
        SHALL clear the 'xcmHrStorageDetailGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrStorageDetailRowStatus' row status object; and
        SHALL set the 'xcmHrStorageDetailGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrStorageDetailEntry 3 }

xcmHrStorageDetailUnitClass OBJECT-TYPE
    SYNTAX      XcmHrDevDetailUnitClass
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value unit class of the detail information specified
        in this conceptual row in the 'xcmHrStorageDetailTable'.

        Usage:  Used to select a textual convention for specifying the
        value unit of this storage detail.

        Usage:  The 'xcmHrStorageDetail[UnitClass|Class]' objects
        are used to specify the value syntax AND the value unit of the
        'xcmHrStorageDetail[Integer|OID|String]' value objects."
    REFERENCE
        "See:   'xcmHrStorageDetailUnit'"
    DEFVAL      { unknown }             -- no detail value unit class
    ::= { xcmHrStorageDetailEntry 4 }

xcmHrStorageDetailUnit OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value unit of the detail information specified
        in this conceptual row in the 'xcmHrStorageDetailTable'.


        Usage:  Used to select an enumerated choice from a textual
        convention to specify the value unit of this storage detail.

        Usage:  The 'xcmHrStorageDetail[UnitClass|Class]' objects
        are used to specify the value syntax AND the value unit of the
        'xcmHrStorageDetail[Integer|OID|String]' value objects."
    REFERENCE
        "See:   'xcmHrStorageDetailUnitClass'"
    DEFVAL      { 0 }                   -- no detail value unit
    ::= { xcmHrStorageDetailEntry 5 }

xcmHrStorageDetailValueInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A storage detail value integer,
        used by system administrators and end users to specify
        the current value for a storage detail
        with a base value syntax of 'INTEGER'."
    REFERENCE
        "See:   'xcmHrStorageDetailValueOID' and
                'xcmHrStorageDetailValueString'
        See:    'xcmHrStorageDetailUnitClass' and
                'xcmHrStorageDetailUnit' for syntax of detail value"
    DEFVAL      { 0 }                   -- no detail value integer
    ::= { xcmHrStorageDetailEntry 6 }

xcmHrStorageDetailValueOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A storage detail value OID (object identifier),
        used by system administrators and end users to specify
        the current value for a storage detail
        with a base value syntax of 'OBJECT IDENTIFIER'."
    REFERENCE
        "See:   'xcmHrStorageDetailValueInteger' and
                'xcmHrStorageDetailValueString'
        See:    'xcmHrStorageDetailUnitClass' and
                'xcmHrStorageDetailUnit' for syntax of detail value"
    DEFVAL      { zeroDotZero }   -- no detail value OID
    ::= { xcmHrStorageDetailEntry 7 }

xcmHrStorageDetailValueString OBJECT-TYPE
--  SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A storage detail value string,
        used by system administrators and end users to specify


        the current value for a storage detail
        with a base value syntax of 'OCTET STRING'.

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."
    REFERENCE
        "See:   'xcmHrStorageDetailValueInteger' and
                'xcmHrStorageDetailValueOID'
        See:    'xcmHrStorageDetailUnitClass' and
                'xcmHrStorageDetailUnit' for syntax of detail value"
    DEFVAL      { ''H }                 -- no detail value string
    ::= { xcmHrStorageDetailEntry 8 }

--
--          Device Cover Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement device cover and/or
--          interlock info via SNMP, and optional for all other systems.

xcmHrDevCover       OBJECT IDENTIFIER ::= { xcmHrMIB 16 }

xcmHrDevCoverTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevCoverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' table containing cover and/or interlock info for
        installed and (possibly) active devices on this host system,
        augmenting the basic entries in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    REFERENCE
        "See:   'prtCoverTable' in the Printer MIB."
    ::= { xcmHrDevCover 2 }

xcmHrDevCoverEntry OBJECT-TYPE
    SYNTAX      XcmHrDevCoverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A 'sparse' entry containing cover and/or interlock info for
        an installed and (possibly) active device on this host system,
        augmenting a basic entry in the 'hrDeviceTable' of the
        IETF Host Resources MIB (RFC 2790)."
    INDEX       { hrDeviceIndex,
                  xcmHrDevCoverIndex }
    ::= { xcmHrDevCoverTable 1 }

XcmHrDevCoverEntry ::= SEQUENCE {
        --  Cover Info
        xcmHrDevCoverIndex              Ordinal32,
        xcmHrDevCoverRowStatus          RowStatus,


        xcmHrDevCoverName               XcmFixedLocaleDisplayString,
        xcmHrDevCoverDescription        XcmFixedLocaleDisplayString,
        xcmHrDevCoverTypeCover          TruthValue,
        xcmHrDevCoverStatusOpen         TruthValue
    }

xcmHrDevCoverIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrDevCoverTable'."
    ::= { xcmHrDevCoverEntry 1 }

xcmHrDevCoverRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object manages the row status of this conceptual row in
        the 'xcmHrDevCoverTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmHrDevCoverRowStatus' row status object; and
        SHALL clear the 'xcmHrDevCoverGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmHrDevCoverRowStatus' row status object; and
        SHALL set the 'xcmHrDevCoverGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations need NOT support dynamic row
        creation (via 'createAndGo(4)') nor dynamic row deletion (via
        'destroy(6)').

        Usage:  See section 3.4 'Secure Modes of Operation' and section
        3.5 'Secure SNMP Get/Set Requests' in XCMI Security TC, for
        details of secure modes of access to this row status object."
    REFERENCE
        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevCoverEntry 2 }

xcmHrDevCoverName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION


        "Human-readable name of this device cover or interlock
        specified in this conceptual row in the 'xcmHrDevCoverTable'.

        Usage:  This name SHALL be locally unambiguous (if specified)
        on this managed host system and SHALL be the one normally used
        in a CLI/GUI/API for identification of this device cover or
        interlock (eg, 'Cover1').

        Usage:  The the Printer MIB combines the name of a
        device cover or device interlock with the description, in one
        object - 'xcmHrDevCover[Name|Description]' add clarity."
    REFERENCE
        "See:   'xcmHrDevCoverDescription' (below).
        See:    'prtCoverDescription' in the Printer MIB."
    DEFVAL      { ''H }                 -- no cover/interlock name
    ::= { xcmHrDevCoverEntry 3 }

xcmHrDevCoverDescription OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Human-readable description of this device cover or interlock
        specified in this conceptual row in the 'xcmHrDevCoverTable'.

        Usage:  This description MAY contain the manufacturer's name,
        the color, the physical location, etc, of this device cover or
        interlock (eg, 'Top front blue cover').

        Usage:  The the Printer MIB combines the name of a
        device cover or device interlock with the description, in one
        object - 'xcmHrDevCover[Name|Description]' add clarity."
    REFERENCE
        "See:   'xcmHrDevCoverName' (above).
        See:    'prtCoverDescription' in the Printer MIB."
    DEFVAL      { ''H }                 -- no description
    ::= { xcmHrDevCoverEntry 4 }

xcmHrDevCoverTypeCover OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The type of the device cover or interlock
        specified in this conceptual row in the 'xcmHrDevCoverTable'.

      * 'true' - this is a device cover conceptual row;
      * 'false' - this is a device interlock conceptual row.

        Usage:  The the Printer MIB combines the identity of
        cover versus interlock with the status of open versus closed, in
        one object - 'xcmHrDevCover[TypeCover|StatusOpen]' add clarity."
    REFERENCE
        "See:   'xcmHrDevCoverStatusOpen' (below).


        See:    'prtCoverStatus' in the Printer MIB."
    DEFVAL      { true }                -- is a cover, NOT an interlock
    ::= { xcmHrDevCoverEntry 5 }

xcmHrDevCoverStatusOpen OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create             -- write-once at row creation
    STATUS      current
    DESCRIPTION
        "The status of the device cover or interlock
        specified in this conceptual row in the 'xcmHrDevCoverTable'.

      * 'true' - this cover/interlock is currently open;
      * 'false' - this cover/interlock is currently closed.

        Usage:  The the Printer MIB combines the choice of
        cover versus interlock with the status of open versus closed, in
        one object - 'xcmHrDevCover[TypeCover|StatusOpen]' add clarity."
    REFERENCE
        "See:   'xcmHrDevCoverTypeCover' (above).
        See:    'prtCoverStatus' in the Printer MIB."
    DEFVAL      { false }               -- cover/interlock is closed
    ::= { xcmHrDevCoverEntry 6 }

--
--          Device Alert Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement device alerts
--          via SNMP including via prtAlertTable, and optional for all 
--          other systems.

xcmHrDevAlert       OBJECT IDENTIFIER ::= { xcmHrMIB 17 }

xcmHrDevAlertTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrDevAlertEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of the device alerts which have been generated and
        recorded on this host system.

        Certain devices can be associated with specific alert tables 
        defined industry wide for the specific device.  This general 
        alert table is designed to work with these other alert tables.  
        At this time, the only device specific alert table is 
        prtAlertTable in the printer MIB.  See xcmHrDevAlertCodeInteger 
        and xcmHrDevAlertDevAlertIndex for connections to the device 
        specific alert table.

        Usage:  Conforming implementations SHALL ensure that this
        table contains (up to) a product-specific number of the most
        'recent' device alerts on this host system.


        Usage:  When an event occurs that should be reported through the
        Alert table, the implementation SHALL create an alert for each 
        device impacted by the event.  This SHOULD include all logical 
        devices containing the impacted device.  All such alerts SHALL 
        have the same index 'xcmHrDevAlertIndex.'

        Usage:  If the hrDeviceIndex is an hrDevicePrinter, then the 
        product SHALL also generate an alert in the IETF 
        'prtAlertTable.' The index 'prtAlertIndex' for the associated 
        printer alert table
        entry SHALL be returned in 'xcmHrDevAlertDevAlertIndex' for the 
        'hrDevicePrinter' index.  Management tools can use the value of 
        'xcmHrDevAlertDevAlertIndex' to associate printer alerts with 
        alerts in this table.

        Usage:  Conforming implementations which also implement the
        System Fault group SHALL record in 'xcmHrSystemFaultTable'
        each persistent system fault when it occurs and is recorded
        in 'xcmHrDevAlertTable'.

        Usage:  Conforming implementations MAY 'age' older entries out
        of 'xcmHrDevAlertTable' based on algorithms which depend on the 
        age of the entry and the particular alert.  When the number of 
        alerts in the table exceeds the product-specific maximum number 
        of alerts, the oldest non-critical alert SHALL be removed.  If 
        there are no non-critical alerts, then the oldest critical alert
        SHALL be removed."
    REFERENCE
        "See:   'prtAlertTable' in the Printer MIB."
    ::= { xcmHrDevAlert 2 }

xcmHrDevAlertEntry OBJECT-TYPE
    SYNTAX      XcmHrDevAlertEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for a device alert which has been generated and
        recorded on this host system."
    REFERENCE
        "See:   'prtAlertEntry' in the Printer MIB."
    INDEX       { hrDeviceIndex,
                  xcmHrDevAlertIndex }
    ::= { xcmHrDevAlertTable 1 }

XcmHrDevAlertEntry ::= SEQUENCE {
        --  Device Alert Info
        xcmHrDevAlertIndex              Ordinal32,
        xcmHrDevAlertRowStatus          RowStatus,
        xcmHrDevAlertSeverityLevel      XcmGenNotifySeverityFilter,
        xcmHrDevAlertTrainingLevel      XcmGenNotifyTrainingFilter,
        xcmHrDevAlertCodeInteger        Integer32,
        xcmHrDevAlertCodeString         XcmFixedLocaleDisplayString,
        xcmHrDevAlertDescription        XcmFixedLocaleDisplayString,


        xcmHrDevAlertReferenceOID       OBJECT IDENTIFIER,
        xcmHrDevAlertDateAndTime        DateAndTime,
        xcmHrDevAlertTitle              XcmFixedLocaleDisplayString,
        xcmHrDevAlertHelpReference      OCTET STRING,
        xcmHrDevAlertReferenceIndex     Integer32,
        xcmHrDevAlertReferenceLocation  Integer32,
        xcmHrDevAlertDevAlertIndex      Integer32,
        xcmHrDevAlertPriority           Integer32
    }

--
--          Device Alert Info
--

xcmHrDevAlertIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrDevAlertTable'.

        Usage:  Conforming implementations SHALL NOT 'reuse' values of
        'xcmHrDevAlertIndex' until its' 32-bit value wraps.  Even in
        the case of eventual wrap, the entries SHALL be strictly
        sequenced by the associated value of 'xcmHrDevAlertDateAndTime.'

        Usage: When an event causes an alert on several devices, all 
        such alerts SHALL have the same 'xcmHrDevAlertIndex.'  

        Usage:  Conforming implementations are strongly encouraged to
        preserve the last used value of 'xcmHrDevAlertIndex' across
        system power cycles."
    ::= { xcmHrDevAlertEntry 1 }

xcmHrDevAlertRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to create (by management agent) and delete
        (by management station and/or management agent) individual
        conceptual rows in the 'xcmHrDevAlertTable'.

        Usage:  Management stations can not create rows in the alert 
        table. Conforming implementations SHALL support 'active' and 
        'notInService' writes to this 'xcmHrDevAlertRowStatus' row 
        status object; and SHALL clear the 'xcmHrDevAlertGroup' bit in
        'xcmHrGeneralCreateSupport' in the 'xcmHrGeneralTable'.

        Usage:  Conforming implementations MAY support dynamic row
        deletion via 'destroy(6)'.  This allows management stations to 
        delete any any obsolete unary non-critical alerts."
    REFERENCE


        "See:   'xcmHrGeneralCreateSupport' in 'xcmHrGeneralTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmHrDevAlertEntry 2 }

xcmHrDevAlertSeverityLevel OBJECT-TYPE
    SYNTAX      XcmGenNotifySeverityFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Device-specific severity level for the device alert which
        is recorded in this conceptual row in the 'xcmHrDevAlertTable'.

        Usage:  Conforming management agents SHALL set one bit
        (specific severity level) or zero bits (no severity level
        reported) in this object."
    REFERENCE
        "See:   'prtAlertSeverityLevel' in the Printer MIB.
        See:    'XcmGenNotifySeverityFilter' in XCMI General TC and
                'xcmGenTrapViewNotifySeverity' in XCMI General MIB."
    DEFVAL      { 0 }                   -- no alert severity level
    ::= { xcmHrDevAlertEntry 3 }

xcmHrDevAlertTrainingLevel OBJECT-TYPE
    SYNTAX      XcmGenNotifyTrainingFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Device-specific training level for the device alert which
        is recorded in this conceptual row in the 'xcmHrDevAlertTable'.

        Usage:  Conforming management agents SHALL set one bit
        (specific training level) or zero bits (no training level
        reported) in this object."
    REFERENCE
        "See:   'prtAlertTrainingLevel' in the Printer MIB.
        See:    'XcmGenNotifyTrainingFilter' in XCMI General TC and
                'xcmGenTrapViewNotifyTraining' in XCMI General MIB."
    DEFVAL      { 0 }                   -- no alert training level
    ::= { xcmHrDevAlertEntry 4 }

xcmHrDevAlertCodeInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Device-specific code for the device alert which is recorded in
        this conceptual row in the 'xcmHrDevAlertTable'.

        Usage: Conforming implementations SHALL use the values specified
        in any device-specific alert table.  For devices of type 
        'hrDevicePrinter', this value SHALL be the same as the 
        'PrtAlertCodeTC' returned in 'prtAlertCode.'


        The value of 0 means that no code has been assigned to this 
alert. 

        This value is intended for internal use by management 
applications
        rather than for human display.  It should not be confused with
        'xcmHrDevAlertCodeString;' the two values are generally NOT the
        same and there is no assumed mapping from one to the other.

        All values in the range 1..99999 are reserved for definition 
        within a device specific MIB.  Values 100000..199999 will be 
        defined within this MIB in future versions.  Individual products
        may define values 200000 and larger."
    REFERENCE
        "See:   'prtAlertCode' in the Printer MIB."
    DEFVAL      { 0 }                   -- no alert code integer
    ::= { xcmHrDevAlertEntry 5 }

xcmHrDevAlertCodeString OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Product-specific 'reportable alert code' string for the device
        alert which is recorded in this conceptual row in the
        'xcmHrDevAlertTable'.

        This is a product-specific value used in documentation when 
        describing this alert.

        Usage:  This value is intended for human display, and typically 
        contains an alphanumeric code or keyword phrase.  It should not
        be confused with 'xcmHrDevAlertCodeInteger;' the two values are
        generally NOT the same and there is no assumed mapping from one
        to the other.

        Usage:  Often this string is not translated since it has no 
        specific meaning."
    DEFVAL      { ''H }                 -- no alert code string
    ::= { xcmHrDevAlertEntry 6 }

xcmHrDevAlertDescription OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Human-readable alert description for the device alert which
        is recorded in this conceptual row in the 'xcmHrDevAlertTable'.

        Usage:  This is a human-readable string, not intended for
        machine parsing.  Management stations SHOULD obtain the
        alert-specific fault code and severity level from the
        'xcmHrDevAlertCodeString' and 'xcmHrDevAlertSeverityLevel' and 


        the current status from 'hrDeviceStatus' objects rather than 
        trying to interpret this string.

        Implementators are strongly encouraged to include in this       
        description:
            - a description of the problem,
            - a description of the corrective action or a statement
              that no corrective action is required,
            - a description of the impact on device operations.

        Implementors SHOULD NOT include in this description a
        statement of the current operating state of the device,
        since the device state may be changed by some other event
        unrelated to this alert, making any such statement invalid.
        A statement such as 'Device operation may continue' or 'This
        problem must be corrected before the device can resume
        operation' is acceptable.

        Usage:  Conforming implementations SHALL provide BOTH
        detailed 'xcmHrDevAlertDescription' AND terse
        'xcmHrDevAlertTitle' descriptions for each critical
        alert and for each alert which requires human intervention.
        Implementations MAY provide the same text for both strings.

        Usage:  Implementations SHALL provide localized translations
        of this string via the 'xcmGenMessageTextTable.'

        Usage:  For devices of type 'hrDevicePrinter', this SHOULD
        be the same description provided in 'prtAlertDescription' in
        the IETF Printer MIB alert table.  Implementations MAY choose
        to make these descriptions different in order to differentiate
        between IETF-only and XCMI-aware management applications."
    REFERENCE
        "See:   'prtAlertDescription' in the Printer MIB."
    DEFVAL      { ''H }                 -- no alert description
    ::= { xcmHrDevAlertEntry 7 }

xcmHrDevAlertReferenceOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An (optional) unambiguous system object reference
        (which MAY include an object instance qualifier suffix),
        used to specify supplemental information for this device alert.

        Usage:  Since this system object reference is specified as an
        ASN.1 object identifier, it MAY be taken from any IETF, Xerox,
        third-party, or product-specific MIB, or it MAY simply be any
        IETF SMIv2-style 'autonomous type'.

        Usage:  If 'xcmHrDevAlertReferenceIndex' is greater than 0,
        then it is an index into a table referenced by 
        'xcmHrDevAlertReferenceOID.'


        Usage:  Devices of type 'hrDevicePrinter' SHALL set
        'xcmHrDevAlertReferenceOID' to the OID of the table or group
        referred to by 'prtAlertGroup' in the IETF printer alert
        table.  (This may be a table or group in the host resources
        MIB, printer MIB, finisher MIB, or other MIB as enumerated
        by 'PrtAlertGroupTC'.)

        Note: Given the flexibility this object provides, the 
        information is only valuable to the Management Station if the 
        OID is a well known OID."
    REFERENCE
        "See:   'prtAlertGroup', 'prtAlertGroupIndex' and 
'prtAlertLocation'
                in the Printer MIB.
        See:    'xcmHrSystemFaultReferenceOID' in XCMI HRX MIB."
    DEFVAL      { zeroDotZero }   -- no alert object reference
    ::= { xcmHrDevAlertEntry 8 }

xcmHrDevAlertDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The date and time stamp for the device alert which
        is recorded in this conceptual row in the 'xcmHrDevAlertTable'."
    REFERENCE
        "See:   'prtAlertTime' in the Printer MIB.
        See:    'hrSystemDate' in IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { '0000000000000000'H } -- no alert time stamp
    ::= { xcmHrDevAlertEntry 9 }

xcmHrDevAlertTitle OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A terse description of the problem or corrective action 
        associated with the device alert which is recorded in this 
        conceptual row in the 'xcmHrDevAlertTable'.

        Usage:  This is a human-readable string, not intended for
        machine parsing.  This message should be constructed for
        display in a navigation tree or other contexts where the
        management station's user interface may have strict limits on
        message length and complexity.  The message should identify
        the general type and area of the alert but omit most details
        in the interest of brevity, e.g. 'tray empty' or 'replace
        toner' but not 'load A4 Transparency in top tray' or 'replace
        cyan toner cartridge.'  Implementations are strongly
        encouraged to supply more detailed information in
        'xcmHrDevAlertDescription' but may simply supply the same
        text for both strings.


        Usage:  Conforming implementations SHALL provide both detailed 
        'xcmHrDevAlertDescription' and terse 'xcmHrDevAlertTitle' 
        descriptions for each critical alert and for each alert which 
        requires human intervention.

        Usage:  Implementations SHALL provide localized translations
        of this string via the 'xcmGenMessageTextTable.'"
    REFERENCE
        "See:   'xcmHrDevAlertDescription' which contains both a 
                description of the alert and the repair plan.
        See:    'xcmHrDevAlertCodeString' which contains an alert code 
                used in product documentation.
        See:    'xcmHrDevAlertHelpReference' which contains an alert 
                code used by a management station to locate help."
    DEFVAL      { ''H } -- no alert title
    ::= { xcmHrDevAlertEntry 10 }

xcmHrDevAlertHelpReference OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
   DESCRIPTION
       "A key into a help reference.  This key is intended for machine 
        usage as either a key into a database or as part of a path name 
        to additional information.

       Usage:  This string may be used by a management station to 
       construct the complete URL or pathname of a file which may be 
       stored on the management station, the managed device, a 
       customer's server or a Xerox web server.  The mechanism by which 
       the URL or pathname should be constructed, including any 
       requested localization, is product- and application- dependent.

       For example, if the device returns a string containing two path
       components <product-name>/<info-path>, a host-based management
       application might construct either the pathname 
       '<install-dir>/<product-name>/<info-path>.<locale>' or 
       '<install-dir>/<locale>/<product-name>/<info-path>' depending
       on how the author wanted to organize and distribute help files
       for various products and locales.  A web-based application with 
       knowledge of the managed device's embedded web server might be 
       able to construct the URL 
       'http://<device-address>/alert-info/<product-name>/<info-path>'
       and request a specific localization via the HTTP 'accept-
       language' and 'accept-charset' headers.

       Usage:  Implementors SHALL use only the US-ASCII alphanumeric 
       characters 'A'-'Z', 'a'-'z', '0'-'9' and the punctuation marks 
       underscore ('_'), hyphen ('-'), and forward slash ('/').  The
       first and last characters must be alphanumeric.

       Implementors should note that some hosts distinguish between
       upper- and lower-case letters in pathnames and others don't.


       Therefore, different help paths should differ by more than just
       letter case, and product documentation MUST accurately reflect
       the strings returned in 'xcmHrDevAlertHelpReference', including
       letter case.

       Rationale:  Limiting the character set in this way ensures that 
       the string can be used to construct a valid pathname or URL on   
       the widest variety of host systems.  Note that the file name is  
       not localized (although the contents may be) and not generally   
       displayed for users, so there is little need to support 
       characters outside of this basic US-ASCII set."
    REFERENCE
        "See:   'xcmHrDevAlertDescription' which contains both a 
                description of the alert and the repair plan.
        See:    'xcmHrDevAlertCodeString' which contains an alert code 
                used in product documentation.
        See:    'xcmHrDevAlertDescription' which contains a description 
                and repair actions."
    DEFVAL      { ''H } -- no alert help reference.
    ::= { xcmHrDevAlertEntry 11 }

    xcmHrDevAlertReferenceIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An (optional) index into a system table used to specify
        supplemental information for this device alert.

        Usage:  When xcmHrDevAlertReferenceOID is a table, 
        xcmHrDevAlertReferenceIndex can be an index into that table.  

        Note:  If the ReferenceOID table has multiple indices, the 
        management table must recognize the table and must know which 
        index is given by this ReferenceIndex.

        Usage:  Use -1 if no index is required."
    REFERENCE
        "See:   'prtAlertGroupIndex' in the Printer MIB.
        See:    'xcmHrDevAlertReferenceOID'."
    DEFVAL      { -1 }   -- no alert object index
    ::= { xcmHrDevAlertEntry 12 }

xcmHrDevAlertReferenceLocation OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A product-specific refinement of the source of an alert.
        The value 'unknown(-2)' indicates that the device has no
        additional information to provide."
    REFERENCE
        "See:   'prtAlertGroupLocation' in the Printer MIB.
        See:    'xcmHrDevAlertReferenceOID'.


        See:    'xcmHrDevAlertReferenceIndex'."
    DEFVAL      { -2 }   -- no additional information
    ::= { xcmHrDevAlertEntry 13 }

xcmHrDevAlertDevAlertIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An index into a device-specific alert table.

        When 'hrDeviceIndex' is of type 'hrDevicePrinter', then this
        field SHALL be the value of 'prtAlertIndex' for the same alert."
    REFERENCE
        "See:   'prtAlertIndex' in the Printer MIB."
    DEFVAL      { 0 }   -- no corresponding alert table.
    ::= { xcmHrDevAlertEntry 14 }

xcmHrDevAlertPriority OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A sorting hint for user interfaces displaying device alerts.

        Usage:  this field allows a device to suggest, for instance,
        that the 'replace fuser' alert should be displayed before the
        'close door' alert in a list or navigation tree.

        Alert priorities are ordinal numbers, with 1 indicating the
        highest priority for display.  A value of zero means 'no
        priority hint available'."
    REFERENCE
        "See:   'prtAlertIndex' in the Printer MIB."
    DEFVAL      { 0 }   -- no corresponding alert table.
    ::= { xcmHrDevAlertEntry 15 }

xcmHrDevAlertLastAlertIndex       OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of 'xcmHrDevAlertIndex' for the most recently-added
        alert (critical or non-critical) in the alert table.  This value
        only reflects the most recently added alert; if the alert is 
        subsequently cleared, the value of 'xcmHrDevAlertAllEvents' 
        SHALL NOT be changed as a result.  Compliant implementations
        SHALL report zero if no alerts have been added to the table.

        A management tool may use the fact that this value has not 
        changed to avoid checking for new alerts.

        Note that the value of this object will 'wrap' when the first
        alert is added to the table after 'xcmHrDevAlertIndex'


        has reached 2**32 - 1 and 'wrapped' to 1."
    ::= { xcmHrDevAlert 3 }

xcmHrDevAlertLastCriticalAlertIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of 'xcmHrDevAlertIndex' for the most recently-added
        critical alert in the alert table.  This value only reflects the
        most recently added alert; if the alert is subsequently cleared,
        the value of 'xcmHrDevAlertLastCriticalAlertIndex' SHALL NOT be
        changed as a result.  Compliant implementations SHALL report
        zero if no critical alerts have been added to the table.

        A management tool may use the fact that this value has not 
        changed to avoid checking for new critical alerts.

        Note that the value of this object will 'wrap' when the first
        critical alert is added to the table after 'xcmHrDevAlertIndex'
        has reached 2**32 - 1 and 'wrapped' to 1."
    ::= { xcmHrDevAlert 4 }

--
--          Device Alert Event (Cond Mandatory)
--
--          Implementation of this trap is conditionally mandatory, ie,
--          mandatory for systems which implement device alerts
--          via SNMP, and optional for all other systems.

xcmHrDevAlertV1EventOID OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION
        "The value of the enterprise-specific OID in an SNMPv1 trap sent
        whenever a device alert row transitions to 'active' row status
        or (optionally) transitions to 'notInService' row status in
        'xcmHrDevAlertTable'.
        See SNMPv2 trap definition 'xcmHrDevAlertV2Event'
        below for 'special semantics'."
    ::= { xcmHrDevAlert 1 }

xcmHrDevAlertV2EventPrefix
    OBJECT IDENTIFIER ::= { xcmHrDevAlertV1EventOID 0 }

xcmHrDevAlertV2Event NOTIFICATION-TYPE
    OBJECTS {
        xcmHrDevAlertRowStatus,
        xcmHrDevAlertSeverityLevel,
        xcmHrDevAlertTrainingLevel,
        xcmHrDevAlertCodeInteger,
        xcmHrDevAlertCodeString
    }
    STATUS      current
    DESCRIPTION


        "This trap is sent whenever a device alert row transitions
        to 'active' row status or (optionally) transitions to
        'notInService' row status in 'xcmHrDevAlertTable'.
        This trap is sent when requested by a prior subscription.

        Note:   The variable-bindings of this trap have been chosen to
        specify a complete device alert event while keeping
        trap messages reasonably concise (generally a few hundred octets
        at most).

        This notification has the following special semantics:

            o   The device's 'hrDeviceIndex' field
                value SHALL be appended to this trap object ID,
                as a BER binary OID suffix.

        This trap OID qualifier allows device management/monitoring
        applications to limit the alerts they receive to ones generated
        by devices of interest.

        Systems MAY add other variable-bindings from any MIB."
    ::= { xcmHrDevAlertV2EventPrefix 1 }

--  Note that the SNMPv2 to SNMPv1 translation rules dictate that the
--  preceding structure will result in SNMPv1 traps of the following
--  form:
--
--  xcmHrDevAlertV1Event TRAP-TYPE
--      ENTERPRISE  xcmHrDevAlertV1EventOID
--      VARIABLES   {
--          xcmHrDevAlertRowStatus,
--          xcmHrDevAlertSeverityLevel,
--          xcmHrDevAlertTrainingLevel,
--          xcmHrDevAlertCodeInteger,
--          xcmHrDevAlertCodeString
--      }
--      DESCRIPTION
--          "This trap is sent whenever a device alert row transitions
--          to 'active' row status or (optionally) transitions to
--          'notInService' row status in 'xcmHrDevAlertTable'.
--          This trap is sent when requested by a prior subscription.
--          See SNMPv2 trap definition 'xcmHrDevAlertV2Event'
--          above for 'special semantics'."
--      ::= 1

--
--          Console Screen Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement system local console
--          management via SNMP, and optional for all other systems.

xcmHrConsoleScreen  OBJECT IDENTIFIER ::= { xcmHrMIB 18 }


xcmHrConsoleScreenTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrConsoleScreenEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing system local console screen (page) info for
        an installed local user interface console on this host system."
    REFERENCE
        "See:   'prtConsoleDisplayBufferTable' and
                'prtConsoleLightTable' in the Printer MIB."
    ::= { xcmHrConsoleScreen 2 }

xcmHrConsoleScreenEntry OBJECT-TYPE
    SYNTAX      XcmHrConsoleScreenEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing system local console screen (page) info for
        an installed local user interface console on this host system.

        Usage:  Conforming management agents SHOULD report local console
        info via 'hrDeviceIndex' for 'hrDevicePrinter' - consistent with
        'prtConsoleDisplayBufferTable' in the Printer MIB -
        or 'hrDeviceIndex' for 'xcmHrDeviceHostSystem' in XCMI HRX TC."
    INDEX       { hrDeviceIndex,
                  xcmHrConsoleScreenIndex }
    ::= { xcmHrConsoleScreenTable 1 }

XcmHrConsoleScreenEntry ::= SEQUENCE {
        --  Console Screen
        xcmHrConsoleScreenIndex        Ordinal32,
        xcmHrConsoleScreenName         XcmFixedLocaleDisplayString,
        xcmHrConsoleScreenDescription  XcmFixedLocaleDisplayString,
        xcmHrConsoleScreenParentIndex  Cardinal32,
        xcmHrConsoleScreenPriority     INTEGER (0..100),
        xcmHrConsoleScreenTabCount     Cardinal32
    }

xcmHrConsoleScreenIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrConsoleScreenTable'."
    ::= { xcmHrConsoleScreenEntry 1 }

xcmHrConsoleScreenName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Human-readable name of this local console screen (page),


        used by system administrators and end users to identify this
        screen for systems management.

        Usage:  Conforming management agents SHOULD NOT report the same
        value of 'xcmHrConsoleScreenName' for different screens (pages).
        Screens (pages) are always uniquely labelled by their indices of
        'xcmHrDeviceIndex' and 'xcmHrConsoleScreenIndex'."
    DEFVAL      { ''H }                 -- no screen name
    ::= { xcmHrConsoleScreenEntry 2 }

xcmHrConsoleScreenDescription OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Human-readable description of this local console screen."
    DEFVAL      { ''H }                 -- no screen description
    ::= { xcmHrConsoleScreenEntry 3 }

xcmHrConsoleScreenParentIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Parent console screen index associated with this local console
        screen (page), or zero (if none).

        Usage:  Value of 'xcmHrConsoleScreenIndex' for parent screen.
        This object MAY be used to report tree or forest relationships
        between local console screens.  Trees have a single root screen.
        Forests have two or more root screens (w/ no parent screen)."
    DEFVAL      { 0 }                   -- no parent (root screen)
    ::= { xcmHrConsoleScreenEntry 4 }

xcmHrConsoleScreenPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The display priority of this local console screen (page).

        Usage:  The display priority of this screen (page), where '0'
        is unspecified (default), '1' is lowest, and '100' is highest.
        When two screens (pages) have equal priority, the first (lowest)
        value of 'xcmHrConsoleScreenIndex' (lexicographical order)
        SHALL have the highest display priority."
    REFERENCE
        "See:   'xcmHrDevInfoPriority' in XCMI Ext to Host Resources MIB
                'xcmJobPriority' in XCMI Job Mon MIB.
                'xcmSvcMonServicePriority' in XCMI Svc Mon MIB."
    DEFVAL      { 0 }                   -- no screen display priority
    ::= { xcmHrConsoleScreenEntry 5 }

xcmHrConsoleScreenTabCount OBJECT-TYPE


    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of tabs (buttons) on this local console screen (page).

        Usage:  Conforming management agents SHALL report values
        of 'xcmHrConsoleTabIndex' that are less than or equal to the
        value of 'xcmHrConsoleScreenTabCount' for the SAME value of
        'xcmHrConsoleScreenIndex' (enclosing screen)."
    DEFVAL      { 0 }                   -- no screen tabs
    ::= { xcmHrConsoleScreenEntry 6 }

--
--          Console Tab Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement system local console
--          management via SNMP, and optional for all other systems.

xcmHrConsoleTab     OBJECT IDENTIFIER ::= { xcmHrMIB 19 }

xcmHrConsoleTabTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmHrConsoleTabEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing system local console tab (button) info for
        an installed local user interface console on this host system."
    REFERENCE
        "See:   'prtConsoleDisplayBufferTable' and
                'prtConsoleLightTable' in the Printer MIB."
    ::= { xcmHrConsoleTab 2 }

xcmHrConsoleTabEntry OBJECT-TYPE
    SYNTAX      XcmHrConsoleTabEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing system local console tab (button) info for
        an installed local user interface console on this host system.

        Usage:  Conforming management agents SHOULD report local console
        info via 'hrDeviceIndex' for 'hrDevicePrinter' - consistent with
        'prtConsoleDisplayBufferTable' in the Printer MIB -
        or 'hrDeviceIndex' for 'xcmHrDeviceHostSystem' in XCMI HRX TC."
    INDEX       { hrDeviceIndex,
                  xcmHrConsoleScreenIndex,
                  xcmHrConsoleTabIndex }
    ::= { xcmHrConsoleTabTable 1 }

XcmHrConsoleTabEntry ::= SEQUENCE {
        --  Console Tab


        xcmHrConsoleTabIndex            Ordinal32,
        xcmHrConsoleTabName             XcmFixedLocaleDisplayString,
        xcmHrConsoleTabDescription      XcmFixedLocaleDisplayString,
        xcmHrConsoleTabScreenIndex      Cardinal32,
        xcmHrConsoleTabPriority         INTEGER (0..100)
    }

xcmHrConsoleTabIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrConsoleTabTable'."
    ::= { xcmHrConsoleTabEntry 1 }

xcmHrConsoleTabName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Human-readable name of this local console tab (button),
        within the enclosing local console screen (page),
        used by system administrators and end users to identify this
        tab for systems management.

        Usage:  Conforming management agents MAY report the same
        value of 'xcmHrConsoleTabName' for different tabs (buttons).
        Tabs (buttons) are always uniquely labelled by their indices of
        'xcmHrDeviceIndex', 'xcmHrConsoleScreenIndex', and
        'xcmHrConsoleTabIndex'."
    DEFVAL      { ''H }                 -- no tab name
    ::= { xcmHrConsoleTabEntry 2 }

xcmHrConsoleTabDescription OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Human-readable description of this local console tab (button),
        within the enclosing local console screen (page)."
    DEFVAL      { ''H }                 -- no tab description
    ::= { xcmHrConsoleTabEntry 3 }

xcmHrConsoleTabScreenIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "New local console screen selected by this local console tab
        (button).

        Usage:  Value of 'xcmHrConsoleScreenIndex' for the new screen."
    DEFVAL      { 0 }                   -- no tab new screen index


    ::= { xcmHrConsoleTabEntry 4 }

xcmHrConsoleTabPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The display priority of this local console tab (button)
        within the enclosing local console screen (page).

        Usage:  The display priority of this tab (button), where '0'
        is unspecified (default), '1' is lowest, and '100' is highest.
        When two tabs (buttons) have equal priority, the first (lowest)
        value of 'xcmHrConsoleTabIndex' (lexicographical order), for
        the SAME value of 'xcmHrConsoleScreenIndex' (enclosing screen),
        SHALL have the highest display priority."
    REFERENCE
        "See:   'xcmHrDevInfoPriority' in XCMI Ext to Host Resources MIB
                'xcmJobPriority' in XCMI Job Mon MIB.
                'xcmSvcMonServicePriority' in XCMI Svc Mon MIB."
    DEFVAL      { 0 }                   -- no tab display priority
    ::= { xcmHrConsoleTabEntry 5 }

--
--          Supplies Group (Mandatory)
--
--          Implementation of this group is mandatory on all systems
--          with customer replaceable supplies other than media (paper).

xcmHrSupplies OBJECT IDENTIFIER ::= { xcmHrMIB 20 }

xcmHrSuppliesTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XcmHrSuppliesEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table containing information on all supplies for the
        managed system.
        Usage: Rows of the table are created by the agent.
        Certain values in the rows can be set by a management
        tool."
    ::= { xcmHrSupplies 1 }

xcmHrSuppliesEntry OBJECT-TYPE
    SYNTAX XcmHrSuppliesEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "See xcmHrSuppliesTable"
    INDEX { xcmHrSuppliesIndex }
    ::= { xcmHrSuppliesTable 1 }

XcmHrSuppliesEntry ::= SEQUENCE {


    xcmHrSuppliesIndex Ordinal32,
    xcmHrSuppliesReferenceOID OBJECT IDENTIFIER,
    xcmHrSuppliesType AutonomousType,
    xcmHrSuppliesClass XcmHrSuppliesClassTC,
    xcmHrSuppliesDescr OCTET STRING,
    xcmHrSuppliesPartNumber OCTET STRING
     }

xcmHrSuppliesIndex OBJECT-TYPE
    SYNTAX     Ordinal32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
       "A unique value used by the agent to identify this
       supply.  Although these values may change due to a
       major reconfiguration of the device (e.g. the
       addition of new finishing module to the printer),
       values SHOULD remain stable across successive printer
       power cycles."
    ::= { xcmHrSuppliesEntry 1 }

xcmHrSuppliesReferenceOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A system object reference (which SHALL include an
       object instance qualifier suffix), used to specify an
       object in another table related to this supply.

       Usage: If the supply also appears in the
       prtMarkerSuppliesTable, then this referenceOID SHALL
       be the OID for the prtMarkerSuppliesDescription for
       this supply.

       Usage: If the supply also appears in the
       finSupplyTable, then this referenceOID SHALL be the
       OID for the finSupplyDescription for this supply.

       Usage: If the supply also appears in some other table
       (such as a scanner supplies table), then this
       referenceOID SHALL be the OID for the description
       column for this supply if a description column
       exists.  Otherwise it SHALL be the first column of
       the other table as the reference OID.

       Usage: If the supply does not appear in any other
       table, then this referenceOID SHALL be the OID for
       hrDeviceDescr for the physical device requiring or
       using this supply.

       Usage: If no physical device in the hrDeviceTable
       requires the supply, then the hrDeviceTable is not
       complete.


       Note: Given the flexibility this object provides, the
       information is only valuable to the Management
       Station if the OID is a well-known OID.

       Note:  This object has no default value since it must
       be filled in."
     ::= { xcmHrSuppliesEntry 2 }

xcmHrSuppliesType OBJECT-TYPE
    SYNTAX     AutonomousType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "An indication of the type of device.  Use device
       type OIDs."
     ::= { xcmHrSuppliesEntry 3 }

xcmHrSuppliesClass OBJECT-TYPE
    SYNTAX      XcmHrSuppliesClassTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object describes how this type is replaced.  Values
       range from 'it never breaks' to 'untrained user'.  A
       value of 'Unknown(2)' should never be used.  Use the
       least restrictive type if it is not clear.  For example,
       if a part is usually replaced by service, but a customer
       can order it and replace it on their own, then the supply
       would be 'CustomerReplaceable(4)'."
 ::= { xcmHrSuppliesEntry 4 }

xcmHrSuppliesDescr OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A description of this supply. This name MUST match the
       name of the supply as it will be exposed on
       www.xerox.com, within the printer's web UI, within the
       printer's local UI and within all configuration pages
       that can be generated by the printer."
 ::= { xcmHrSuppliesEntry 5 }

xcmHrSuppliesPartNumber OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The part number used to order this supply.  This part
       number may depend on the location of the machine.  If no
       part number is associated with this supply, then the
       value will be blank (null)."
 ::= { xcmHrSuppliesEntry 6 }


xcmHrDetailTable OBJECT-TYPE
    SYNTAX SEQUENCE OF XcmHrDetailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
       "A 'sparse' table containing detail information for
       rows of other SNMP tables'

       Usage: Rows of the table are created by the agent.
       Certain values in the rows can be set by a management
       tool.

       Usage:  OSI ASN.1 encoding rules (ISO 8825) and IETF
       SNMP rules REQUIRE that when object identifiers
       (OIDs) are used as table indices, the first arc (sub-
       identifier) of each object identifier MUST be
       preceded by the count of arcs (sub- identifiers) in
       the object identifier (see 'Mapping of the
       INDEX clause' in SNMPv2-SMI, RFC 2578), unless the
       index is rightmost (low-order) and specified with the
       IMPLIED keyword.  Thus, the xcmHrDetailTableIndex
       index of xcmHrDetailEntry MUST be preceded by an arcs
       count in SNMP request/response PDUs.

       So, if we wanted the Total Black Impressions using
       the third xcmHrSupplies row (lets assume that is the
       toner cartridge) we would do an SNMP Get on the
       object

       1.3.6.1.4.1.253.8.51.1.3.1.7.1.1.3.20.34

       Because 1.3.6.1.4.1.253.8.51.1.3.1.7 is the OID of
       xcmHrDetailValueInteger.  1 is the enumeration for
       the xcmHrSuppliesTable.  3 is the index into the
       xcmHrSupplies table for this cartridge (and there is
       1 arcs there).  20 is the detail type for lifetime
       usage.  And 34 is the index from table 22 of the XMIG
       for 'Total Black Impressions'.  "
 ::= { xcmHrSupplies 2 }

xcmHrDetailEntry OBJECT-TYPE
    SYNTAX XcmHrDetailEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
       "See xcmHrDetailTable"
    INDEX { xcmHrDetailTableRef, xcmHrDetailTableIndex,
       xcmHrDetailType, xcmHrDetailIndex }
 ::= { xcmHrDetailTable 1 }

 XcmHrDetailEntry ::= SEQUENCE {
    xcmHrDetailTableRef XcmHrDetailTableEnumTC,


    xcmHrDetailTableIndex OBJECT IDENTIFIER,
    xcmHrDetailType XcmHrDevDetailType,
    xcmHrDetailIndex Ordinal32,
    xcmHrDetailUnitClass XcmHrDevDetailUnitClass,
    xcmHrDetailUnit Cardinal32,
    xcmHrDetailValueInteger Integer32,
    xcmHrDetailValueOID OBJECT IDENTIFIER,
    xcmHrDetailValueString OCTET STRING,
    xcmHrDetailDescription XcmFixedLocaleDisplayString
 }

xcmHrDetailTableRef OBJECT-TYPE
    SYNTAX      XcmHrDetailTableEnumTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object is used to identify the table that this
       detail is qualifying.

       Usage: To provide additional information
       on supplies that are defined in the xcmHrSuppliesTable,
       prtMarkerSuppliesTable or finSupplyTable."
 ::= { xcmHrDetailEntry 1 }

xcmHrDetailTableIndex OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object is used to provide the index of the
       specific row in the table referenced by
       xcmHrDetailTableRef.

       Usage: To identify a supply in the
       xcmHrSuppliesTable, use the single octet
       xcmHrSuppliesIndex.

       Usage: To identify a supply in the
       prtMarkerSuppliesTable, use the single octet
       prtMarkerSuppliesIndex.

       Usage: To identify a supply in the
       finSupplyTable, use the single octet
       finSupplyIndex."
 ::= { xcmHrDetailEntry 2 }

xcmHrDetailType OBJECT-TYPE
    SYNTAX      XcmHrDevDetailType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The type of the detail information specified in this
       row of the table."
 ::= { xcmHrDetailEntry 3 }


xcmHrDetailIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object supports details which have multiple
       values and can also be used to correlate related
       values of different types.

       Usage:  For distinct detail types which are related,
       this index SHALL be equal for related detail values.

       Usage:  For detail types which are multi-valued, this
       index SHALL be used to enumerate the list of details."
 ::= { xcmHrDetailEntry 4 }

xcmHrDetailUnitClass OBJECT-TYPE
    SYNTAX      XcmHrDevDetailUnitClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value/unit class of the detail information
       specified in this row of the table.

       Usage: Used to select a textual convention for
       specifying the value unit of this device detail.

       Usage: Also used to specify which of
       xcmHrDetailValue[Integer|OID|String] are used to
       contain the detail value.

       Usage: Typically the value of xcmHrDetailUnitClass is
       listed explicitly in the description of the
       XcmHrDevDetailType enumeration. In that case, the
       agent SHALL populate this object with the listed
       enumeration and a management tool does not have to
       check this object to determine the unit class."
    DEFVAL      { unknown }        -- no detail value unit class
 ::= { xcmHrDetailEntry 5 }

xcmHrDetailUnit OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object makes explicit the units in which this
       detail value is being specified.

       Usage:  Used to select an enumerated choice from a
       textual convention to specify the value unit of this
       device detail.  The specific textual convention is
       identified by xcmHrDetailUnitClass.
       "


    DEFVAL      { 0 }            -- no detail value unit
 ::= { xcmHrDetailEntry 6 }

xcmHrDetailValueInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The current value for a device detail with a base
       value syntax 'INTEGER'. "
 ::= { xcmHrDetailEntry 7 }

xcmHrDetailValueOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The current value for a device detail with a base
       value syntax 'OID'. "
 ::= { xcmHrDetailEntry 8 }

xcmHrDetailValueString OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The current value for a device detail with a base
       value syntax 'STRING'.

       This object is also used to provide secondary
       information when the base value syntax is 'INTEGER'
       or 'OID'.  Typically this is a string version of the
       value of the detail."
 ::= { xcmHrDetailEntry 9 }

xcmHrDetailDescription OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object is used to provide a description of the
       detail."
 ::= { xcmHrDetailEntry 10 }

--
--          Console Group (Cond Mandatory)
--
--          Implementation of this group is conditionally mandatory, ie,
--          mandatory for systems which implement local console
--          management via SNMP, and optional for all other systems.

xcmHrConsole  OBJECT IDENTIFIER ::= { xcmHrMIB 21 }

xcmHrConsoleTable OBJECT-TYPE


    SYNTAX      SEQUENCE OF XcmHrConsoleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing system local console information for
        an installed local user interface console on this host system."
    REFERENCE
        "See:   'prtConsoleDisplayBufferTable' and
                'prtConsoleLightTable' in the Printer MIB."
    ::= { xcmHrConsole 2 }

xcmHrConsoleEntry OBJECT-TYPE
    SYNTAX      XcmHrConsoleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing system local console information for
        an installed local user interface console on this host system.

        Usage:  Conforming management agents SHOULD report local console
        info via 'hrDeviceIndex' for 'hrDevicePrinter' - consistent with
        'prtConsoleDisplayBufferTable' in the Printer MIB -
        or 'hrDeviceIndex' for 'xcmHrDeviceHostSystem' in XCMI HRX TC."
    INDEX       { hrDeviceIndex,
                  xcmHrConsoleIndex }
    ::= { xcmHrConsoleTable 1 }

XcmHrConsoleEntry ::= SEQUENCE {
        --  Console 
        xcmHrConsoleIndex          Ordinal32,
        xcmHrConsoleDefaultService XcmHrConsoleDefaultService,
        xcmHrConsoleBrightness     Integer32,
        xcmHrConsoleContrast       Integer32,
        xcmHrConsoleAccessibility  TruthValue,
        xcmHrConsoleAutoClearTime  Integer32,
        xcmHrConsoleInsertTimeout  Integer32,
        xcmHrConsoleTray1Timeout   Integer32,
        xcmHrConsoleTray2nTimeout  Integer32,
        xcmHrConsoleLoadTimeout    Integer32,
        xcmHrConsoleSoundVolume    Integer32,
        xcmHrConsoleSoundDuration  Integer32 
    }

xcmHrConsoleIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique value used by this host system to identify this
        conceptual row in the 'xcmHrConsoleTable'."
    ::= { xcmHrConsoleEntry 1 }

xcmHrConsoleDefaultService OBJECT-TYPE
    SYNTAX      XcmHrConsoleDefaultService


    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The default service shown on the console user interface.
         This is used to change the meaning of the Green Button 
         on the front panel of many devices."
    DEFVAL      { copyService }                 -- Copy Service
    ::= { xcmHrConsoleEntry 2 }

xcmHrConsoleBrightness OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The console brightness level. Often this a number from
         1 to 10 where 1 is dimmest and 10 is brightest."
    DEFVAL      { 5 }
    ::= { xcmHrConsoleEntry 3 }

xcmHrConsoleContrast OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The console contrast level. Often this a number from
         1 to 10 where 1 is least contrast and 10 is most contrast."
    DEFVAL      { 5 }
    ::= { xcmHrConsoleEntry 4 }

xcmHrConsoleAccessibility OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Turns On/off control panel accessibility mode. When On,
         value=true, the console does not timeout and key 
         repeating is off. When Off, value=false, the console panel 
         times out after specified period of no activity and key 
         repeating is on."
    DEFVAL      { false }
    ::= { xcmHrConsoleEntry 5 }

xcmHrConsoleAutoClearTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The automatic clear timeout for the console. Often this a numbe
         0 to 120 where 0 is console never times out and 120 means the
         console times out after 120 seconds of no activity."
    DEFVAL      { 60 }
    ::= { xcmHrConsoleEntry 6 }

xcmHrConsoleInsertTimeout OBJECT-TYPE


    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The insertion timeout for console prompts. Often this a number
         0, 60 or -1 where 0 is console never prompts, 60 means the
         console prompts the user for 60 seconds than stops and -1 
         means the console prompt is displayed for an infinite 
         amount of time."
    DEFVAL      { 60 }
    ::= { xcmHrConsoleEntry 7 }

xcmHrConsoleTray1Timeout OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The insertion timeout for console prompts for tray 1 events. 
         Often this a number 0, 60 or -1 where 0 is console never 
         prompts, 60 means the console prompts the user for 60 seconds 
         than stops and -1 means the console prompt is displayed for 
         an infinite amount of time."
    DEFVAL      { 60 }
    ::= { xcmHrConsoleEntry 8 }

xcmHrConsoleTray2nTimeout OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The insertion timeout in seconds for console prompts for 
         trays 2 through n events. Often this a number 0, 60 or -1 
         where 0 is console never prompts, 60 means the console prompts 
         the user for 1 minute than stops and -1 means the console 
         prompt is displayed for an infinite amount of time."
    DEFVAL      { 60 }
    ::= { xcmHrConsoleEntry 9 }

xcmHrConsoleLoadTimeout OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The amount of time in minutes the system waits for before 
         using the   default media source for the device."
    DEFVAL      { 60 }
    ::= { xcmHrConsoleEntry 10 }

xcmHrConsoleSoundVolume OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The console sound volume control. This is often used to control


         how loud the fax modem telephone line sound is. This is often a
         number 0 through 10 where 0 is console sounds are off, 
         1 is the lowest volume and 10 is the highest volume."
    DEFVAL      { 2 }
    ::= { xcmHrConsoleEntry 11 }

xcmHrConsoleSoundDuration OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The console sound duration. This is often used to control how
         long the sound will last when the fax modem telephone line soun
         is on. This is often a number 1 through 255 where 1 means the 
         console sounds are on for 1 second and 255 means the console  
         sounds are on for 255 seconds."
    DEFVAL      { 15 }
    ::= { xcmHrConsoleEntry 12 } 

--
--  Generic Parameter Group (Optional)
--
--  Implementation of this group is optional on all systems.
--  This group provides a generic interface to settings on a device.
--  Implementation of this group is product specific.
--  
--  Usage:  Systems which implement the 'xcmHrGenericParamGroup'
--  and 'xcmGenOptionGroup' SHOULD also implement
--  the 'xcmGenLockGroup' (for advisory contention locks).
--  
--  Usage:  A conforming management station (or management agent)
--  SHOULD lock 'xcmHrGenericParamGroup' before attempting to perform 
--  any request to set or get parameters using this group.

xcmHrGenericParamGroup OBJECT IDENTIFIER ::= { xcmHrMIB 22 }

xcmHrGenericParamName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object provides a name of a parameter that can be
        returned and modified by SNMP.

        Usage: Conforming management agents SHALL 'reject' any SNMP
        Set-request to xcmHrGenericParamName if the parameter name 
        is invalid, with 'bad Value' error. 

        Usage:  Conforming management stations can set 
        'xcmHrGenericParamName', i.e. the parameter name and
        'xcmHrGenericParamValue', i.e. the parameter value
        SIMULTANEOUSLY in the same SNMP Set-Request PDU using a 


        BULK-SET request. The order in the BULK-SET must be
        'xcmHrGenericParamName', followed by 
        'xcmHrGenericParamValue'"
    DEFVAL      { ''H }
    ::= { xcmHrGenericParamGroup 1 }

xcmHrGenericParamValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object provides a value for a parameter that can be
        returned and modified by SNMP. To get a parameter value
        the manager will need to SET 'xcmHrGenericParamName'
        to inform the agent what parameter value is desired.
        Then a GET request on this object will return 
        the value for the parameter requested.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information in SET requests made to this 
        object.

        Usage:  Conformant implementations MUST NOT return passwords, 
        keys, and other security information in response to GET requests
        made to this object.

        Usage:  Conforming management stations can set 
        'xcmHrGenericParamValue', i.e. the parameter value and
        'xcmHrGenericParamName', i.e. the parameter name
        SIMULTANEOUSLY in the same SNMP Set-Request PDU using a 
        BULK-SET request. The order in the BULK-SET must be
        'xcmHrGenericParamName', followed by 
        'xcmHrGenericParamValue'"
    DEFVAL      { ''H }
    ::= { xcmHrGenericParamGroup 2 }

--
--          The Host Resources Extensions MIB Conformance Information
--
--          With Mandatory and Optional Conformance Groups

xcmHrMIBConformance OBJECT IDENTIFIER ::= { xcmHrMIB 2 }
xcmHrMIBGroups      OBJECT IDENTIFIER ::= { xcmHrMIBConformance 2 }

--
--          Compliance Statements
--

xcmHrMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statements for SNMP management agents that
        implement the Host Resources Extensions MIB."
    MODULE -- this module


    MANDATORY-GROUPS {
        xcmHrGeneralGroup,
        xcmHrSuppliesGroup,
        xcmHrDevInfoGroup
    }

    GROUP       xcmHrDevHelpGroup
    DESCRIPTION
        "Implementation of this group is DEPRECATED (as of XCMI v4.1)
        and conforming implementations SHOULD use 'deviceHelp...'
        details in 'xcmHrDevDetailTable' instead.

        Usage:  Conforming management agents which implement this
        group SHALL also implement the Comms Address group
        of the XCMI Comms Engine MIB and SHALL use 'XcmSecUserRole'
        values from XCMI Security TC in 'xcmCommsAddressUserRole'.

        Note:   'sysContact' in IETF MIB-II (RFC 1213) provides a
        low-cost alternative for systems which do NOT implement
        complex device help (contact) info via SNMP."

    GROUP       xcmHrDevMgmtGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement simple device
        management via SNMP, and optional for all other systems."

    GROUP       xcmHrDevPowerGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement device power profile
        management via SNMP, and optional for all other systems.

        Note:   Systems are free to decompose the hierarchy of their
        hardware containment to any depth via 'hrDeviceTable' and
        and 'xcmHrDev[Info|Power]Table' entries, in order to manage
        their power profiles at any granularity."

    GROUP       xcmHrDevTrafficGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement device traffic
        statistics via SNMP, and optional for all other systems."

    GROUP       xcmHrSystemFaultGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement persistent system
        fault logs via SNMP, and optional for all other systems."

    GROUP       xcmHrDevCalendarGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement device calendar


        management via SNMP, and optional for all other systems."

    GROUP       xcmHrSWRunGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which support running software
        extensions via SNMP, and optional for all other systems.

        Usage:  Conforming management agents which implement this
        group SHALL also implement the Software Running
        group of the IETF Host Resources MIB (RFC 2790)
        and MAY also support secure 'service' configuration
        via the XCMI Security MIB."

    GROUP       xcmHrSWInstalledGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which support installed software
        extensions via SNMP, and optional for all other systems.

        Usage:  Conforming management agents which implement this
        group SHALL also implement the Software Installed
        group of the IETF Host Resources MIB (RFC 2790)
        and MAY also support secure 'service' configuration
        via the XCMI Security MIB."

    GROUP       xcmHrDevDetailGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement device detail info
        via SNMP, and optional for all other systems."

    GROUP       xcmHrStorageGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which support storage extensions info
        via SNMP, and optional for all other systems.

        Usage:  Conforming management agents which implement this
        group SHALL also implement the Storage
        group of the IETF Host Resources MIB (RFC 2790)
        and MAY also support secure 'service' configuration
        via the XCMI Security MIB."

    GROUP       xcmHrStorageDetailGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement storage detail info
        via SNMP, and optional for all other systems."

    GROUP       xcmHrDevCoverGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement device cover and/or


        interlock info via SNMP, and optional for all other systems."

    GROUP       xcmHrDevAlertGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement device alerts
        via SNMP, and optional for all other systems."

    GROUP       xcmHrConsoleScreenGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement system local console
        management via SNMP, and optional for all other systems."

    GROUP       xcmHrConsoleTabGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement system local console
        management via SNMP, and optional for all other systems."

    GROUP       xcmHrConsoleGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement local console
        management via SNMP, and optional for all other systems."

    OBJECT      xcmHrGeneralRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevInfoRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevInfoName
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrDevInfoSerialNumber
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."


    OBJECT      xcmHrDevInfoRealization
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevInfoInstallDate
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevInfoNextDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevInfoPreviousDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevInfoPhysicalDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevHelpRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevHelpOperatorMessage
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrDevHelpProblemMessage
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrDevHelpCommsAddressIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevMgmtRowStatus


    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevMgmtCommandRequest
    SYNTAX      INTEGER {
        none(1),                        -- no operation
        startup(2),                     -- to 'running'
        resetWarning(3),                -- from 'warning' to 'running'
    --  test(4),                        -  to 'testing' immediately
        shutdown(5),                    -- to 'down' immediately
    --  quiesce(6),                     -  to 'down' gracefully
        resetCounters(7),               -- reset all device counters
        resetWarm(8),                   -- warm restart to 'running'
        resetCold(9),                   -- cold restart to 'running'
        resetFactory(10),               -- factory defaults cold restart
    --  flushInput(11),                 -  flush all input
    --  flushOutput(12),                -  flush all output
    --  flushInOut(13),                 -  flush all input and output
    --  manage(14),                     -  manage command, any state
    --  refresh(15),                    -  refresh device w/out reset
    --  warmUp(16),                     -  'standby' to 'ready' ONLY
    --  coolDown(17),                   -  'ready' to 'standby' ONLY
    --  energySave(18),                 -  'standby' to 'sleep' ONLY
    --  wakeUp(19),                     -  'sleep' to 'standby' ONLY
    --  powerToReady(20),               -  'standby|sleep' to 'ready'
    --  powerToStandby(21),             -  'ready|sleep' to 'standby'
    --  powerToSleep(22),               -  'ready|standby' to 'sleep'
        --  POSIX - Device level operations (on host system)
    --  deviceCreate(1301),             -  'pdcreate' (create device)
    --  deviceDelete(1302),             -  'pddelete' (delete device)
    --  deviceList(1303),               -  'pdls' (list svc attributes)
    --  deviceSet(1304),                -  'pdset' (set svc attributes)
    --  deviceClean(1305),              -  'pdclean' (remove all jobs)
        deviceDisable(1306),            -- 'pddisable' (stop new jobs)
        deviceEnable(1307),             -- 'pdenable' (allow new jobs)
        devicePause(1308),              -- 'pdpause' (pause device)
        deviceResume(1309),             -- 'pdresume' (resume device)
        deviceShutdown(1310),           -- 'pdshutdown' (end device)
    --  deviceQueueList(1311),          -  'pdq' (list device job queue)
        --  XCMI - Device level extensions (on host system)
    --  deviceManage(2301),             -  manage device object(s)
    --  deviceRestart(2302),            -  restart device
    --  deviceInstall(2321),            -  install device object(s)
    --  deviceUpgrade(2322),            -  upgrade device object(s)
    --  deviceBackup(2323),             -  backup device object(s)
    --  deviceRestore(2324),            -  restore device object(s)
    --  deviceConfigure(2325),          -  configure device object(s)
    --  deviceDiagnose(2326),           -  diagnose device object(s)
        deviceResetCounters(2331),      -- reset device counters
        deviceResetWarm(2332),          -- warm reset (no power cycle)


        deviceResetCold(2333),          -- cold reset (w/ power cycle)
        deviceResetFactory(2334)        -- factory defaults reset
    --  deviceLogin(2341),              -  login w/ authentication
    --  deviceLogout(2342)              -  logout w/ authentication
    }
    DESCRIPTION
        "It is conformant to implement this object as follows:
        only the above subset of operations need be supported."

    OBJECT      xcmHrDevMgmtCommandData
    SYNTAX      XcmHrDevMgmtCommandData (SIZE (0..1))
    DESCRIPTION
        "It is conformant to implement this object as follows:
        only 1 octet maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."

    OBJECT      xcmHrDevMgmtUserPassword
    SYNTAX      OCTET STRING (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."

    OBJECT      xcmHrDevMgmtOperatorPassword
    SYNTAX      OCTET STRING (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."

    OBJECT      xcmHrDevMgmtAdminPassword
    SYNTAX      OCTET STRING (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."

    OBJECT      xcmHrDevPowerRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual


        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevPowerWarmUpSupport
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerCoolDownSupport
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerEnergySaveSupport
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerTimeUnit
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerWarmUpDelay
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerWarmUpDuration
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerCoolDownDelay
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerCoolDownDuration
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerEnergySaveDelay
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerEnergySaveDuration
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerWakeUpSupport
    MIN-ACCESS  read-only


    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerWakeUpDelay
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerWakeUpDuration
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerShutdownDelay
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerShutdownDuration
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerStartupDelay
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevPowerStartupDuration
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevTrafficInputSupport
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficOutputSupport
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficInputUnit
    MIN-ACCESS  read-only
    DESCRIPTION


        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficOutputUnit
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficInputMaxSize
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficOutputMaxSize
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficInputTimeout
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevTrafficOutputTimeout
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSystemFaultRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrSystemFaultString
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..1))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 1 octet maximum string length need be supported."

    OBJECT      xcmHrDevCalendarRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevCalendarExplicitDate
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."


    OBJECT      xcmHrDevCalendarCommandRequest
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevCalendarCommandData
    SYNTAX      XcmHrDevMgmtCommandData (SIZE (0..1))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 1 octet maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."

    OBJECT      xcmHrSWRunRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrSWRunAdminName
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrSWRunPhysicalDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWRunLogicalDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWRunNextIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWRunPreviousIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWInstalledRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only


    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrSWInstalledAdminName
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrSWInstalledPhysicalIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWInstalledLogicalIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWInstalledNextIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrSWInstalledPreviousIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevDetailRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevDetailUnitClass
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevDetailUnit
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevDetailValueInteger
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."


    OBJECT      xcmHrDevDetailValueOID
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevDetailValueString
    SYNTAX      OCTET STRING (SIZE (0..1))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 1 octet maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."

    OBJECT      xcmHrStorageRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrStorageRealization
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageProductDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStoragePlatformDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageMatchingDeviceIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageSWRunIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageSWInstalledIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."


    OBJECT      xcmHrStorageNextIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStoragePreviousIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStoragePhysicalIndex
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageDetailRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrStorageDetailUnitClass
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageDetailUnit
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageDetailValueInteger
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageDetailValueOID
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrStorageDetailValueString
    SYNTAX      OCTET STRING (SIZE (0..1))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 1 octet maximum string length need be supported.

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information stored in this string object."


    OBJECT      xcmHrDevCoverRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevCoverName
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrDevCoverDescription
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrDevCoverTypeCover
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevCoverStatusOpen
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrDevAlertRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:  active(1)."

    OBJECT      xcmHrDevAlertCodeString
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..1))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 1 octet maximum string length need be supported."

    OBJECT      xcmHrDevAlertDescription
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrConsoleScreenName


    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrConsoleScreenDescription
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrConsoleTabName
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrConsoleTabDescription
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    DESCRIPTION
        "It is conformant to implement this object as read-only, and
        only 32 octets maximum string length need be supported."

    OBJECT      xcmHrConsoleDefaultService
--    SYNTAX      XcmHrConsoleDefaultService
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleBrightness
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleContrast
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleAccessibility
--    SYNTAX      TruthValue
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleAutoClearTime
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleInsertTimeout


--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleTray1Timeout
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleTray2nTimeout
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleLoadTimeout
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleSoundVolume
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    OBJECT      xcmHrConsoleSoundDuration
--    SYNTAX      Integer32
    MIN-ACCESS  read-only
    DESCRIPTION
        "It is conformant to implement this object as read-only."

    ::= { xcmHrMIBConformance 3 }

--
--          Conformance Groups
--
--          With Required Objects for all Implementations

xcmHrGeneralGroup OBJECT-GROUP
    OBJECTS {
        --  Host Resources General Info
        xcmHrGeneralRowStatus,
        xcmHrGeneralVersionID,
        xcmHrGeneralVersionDate,
        xcmHrGeneralGroupSupport,
        xcmHrGeneralStorageLast,
        xcmHrGeneralDeviceLast,
        xcmHrGeneralFSLast,
        xcmHrGeneralSWRunLast,


        xcmHrGeneralSWInstalledLast,
        xcmHrGeneralSystemFaultLast,
        xcmHrGeneralCreateSupport,
        xcmHrGeneralUpdateSupport
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB General Group"
    ::= { xcmHrMIBGroups 9 }

xcmHrDevInfoGroup OBJECT-GROUP
    OBJECTS {
        --  Device Info
        xcmHrDevInfoRowStatus,
        xcmHrDevInfoName,
        xcmHrDevInfoSerialNumber,
        xcmHrDevInfoRealization,
        xcmHrDevInfoXStatus,
        xcmHrDevInfoConditions,
        xcmHrDevInfoXConditions,
        xcmHrDevInfoInstallDate,
        xcmHrDevInfoResetDate,
        --  Device Info Common Cross References
        xcmHrDevInfoNextDeviceIndex,
        xcmHrDevInfoPreviousDeviceIndex,
        xcmHrDevInfoPhysicalDeviceIndex,
        --  Device Info Extended
        xcmHrDevInfoPriority
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Info Group"
    ::= { xcmHrMIBGroups 3 }

xcmHrDevHelpGroup OBJECT-GROUP
    OBJECTS {
        --  Device Help
        xcmHrDevHelpRowStatus,
        xcmHrDevHelpOperatorMessage,
        xcmHrDevHelpProblemMessage,
        xcmHrDevHelpCommsAddressIndex
    }
    STATUS      current
--  STATUS      deprecated - some compilers do NOT accept this status
    DESCRIPTION
        "The Host Resources Extensions MIB Device Help Group

        Implementation of this group is DEPRECATED (as of XCMI v4.1)
        and conforming implementations SHOULD use 'deviceHelp...'
        details in 'xcmHrDevDetailTable' instead."
    ::= { xcmHrMIBGroups 4 }

xcmHrDevMgmtGroup OBJECT-GROUP
    OBJECTS {


        --  Device Mgmt
        xcmHrDevMgmtRowStatus,
        xcmHrDevMgmtCommandRequest,
        xcmHrDevMgmtCommandData,
        xcmHrDevMgmtCommandStatus,
        xcmHrDevMgmtUserPassword,
        xcmHrDevMgmtOperatorPassword,
        xcmHrDevMgmtAdminPassword,
        xcmHrDevMgmtCommandInProgress,
        xcmHrDevMgmtUserName, 
        xcmHrDevMgmtOperatorName,
        xcmHrDevMgmtAdminName
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Mgmt Group"
    ::= { xcmHrMIBGroups 5 }

xcmHrDevPowerGroup OBJECT-GROUP
    OBJECTS {
        xcmHrDevPowerRowStatus,
        xcmHrDevPowerWarmUpSupport,
        xcmHrDevPowerCoolDownSupport,
        xcmHrDevPowerEnergySaveSupport,
        xcmHrDevPowerTimeUnit,
        xcmHrDevPowerWarmUpDelay,
        xcmHrDevPowerWarmUpDuration,
        xcmHrDevPowerCoolDownDelay,
        xcmHrDevPowerCoolDownDuration,
        xcmHrDevPowerEnergySaveDelay,
        xcmHrDevPowerEnergySaveDuration,
        xcmHrDevPowerWakeUpSupport,
        xcmHrDevPowerWakeUpDelay,
        xcmHrDevPowerWakeUpDuration,
        xcmHrDevPowerShutdownDelay,
        xcmHrDevPowerShutdownDuration,
        xcmHrDevPowerStartupDelay,
        xcmHrDevPowerStartupDuration
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Power Group"
    ::= { xcmHrMIBGroups 6 }

xcmHrDevTrafficGroup OBJECT-GROUP
    OBJECTS {
        --  Device Traffic
        xcmHrDevTrafficRowStatus,
        xcmHrDevTrafficInputSupport,
        xcmHrDevTrafficOutputSupport,
        xcmHrDevTrafficInputUnit,
        xcmHrDevTrafficOutputUnit,
        xcmHrDevTrafficInputCount,
        xcmHrDevTrafficOutputCount,


        xcmHrDevTrafficInputMaxSize,
        xcmHrDevTrafficOutputMaxSize,
        xcmHrDevTrafficInputTimeout,
        xcmHrDevTrafficOutputTimeout
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Traffic Group"
    ::= { xcmHrMIBGroups 7 }

xcmHrSystemFaultGroup OBJECT-GROUP
    OBJECTS {
        --  System Fault Info
        xcmHrSystemFaultRowStatus,
        xcmHrSystemFaultCode,
        xcmHrSystemFaultString,
        xcmHrSystemFaultReferenceOID,
        xcmHrSystemFaultHrDeviceIndex,
        xcmHrSystemFaultDate
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB System Fault Group"
    ::= { xcmHrMIBGroups 8 }

xcmHrDevCalendarGroup OBJECT-GROUP
    OBJECTS {
        --  Device Calendar
        xcmHrDevCalendarRowStatus,
        xcmHrDevCalendarExplicitDate,
        xcmHrDevCalendarCommandRequest,
        xcmHrDevCalendarCommandData
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Calendar Group"
    ::= { xcmHrMIBGroups 10 }

xcmHrSWRunGroup OBJECT-GROUP
    OBJECTS {
        --  Software Running Ext
        xcmHrSWRunRowStatus,
        xcmHrSWRunAdminName,
        xcmHrSWRunXStatus,
        xcmHrSWRunRowCreateDate,
        xcmHrSWRunPhysicalDeviceIndex,
        xcmHrSWRunLogicalDeviceIndex,
        xcmHrSWRunNextIndex,
        xcmHrSWRunPreviousIndex
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Software Running Ext Group"
    ::= { xcmHrMIBGroups 11 }


xcmHrSWInstalledGroup OBJECT-GROUP
    OBJECTS {
        --  Software Installed Ext
        xcmHrSWInstalledRowStatus,
        xcmHrSWInstalledAdminName,
        xcmHrSWInstalledXStatus,
        xcmHrSWInstalledRowCreateDate,
        xcmHrSWInstalledPhysicalIndex,
        xcmHrSWInstalledLogicalIndex,
        xcmHrSWInstalledNextIndex,
        xcmHrSWInstalledPreviousIndex
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Software Installed Ext Group"
    ::= { xcmHrMIBGroups 12 }

xcmHrDevDetailGroup OBJECT-GROUP
    OBJECTS {
        --  Device Detail
        xcmHrDevDetailType,
        xcmHrDevDetailIndex,
        xcmHrDevDetailRowStatus,
        xcmHrDevDetailUnitClass,
        xcmHrDevDetailUnit,
        xcmHrDevDetailValueInteger,
        xcmHrDevDetailValueOID,
        xcmHrDevDetailValueString
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Detail Group"
    ::= { xcmHrMIBGroups 13 }

xcmHrStorageGroup OBJECT-GROUP
    OBJECTS {
        xcmHrStorageRowStatus,
        xcmHrStorageRealization,
        xcmHrStorageStatus,
        xcmHrStorageProductDeviceIndex,
        xcmHrStoragePlatformDeviceIndex,
        xcmHrStoragePagingDeviceIndex,
        xcmHrStorageMatchingDeviceIndex,
        xcmHrStorageSWRunIndex,
        xcmHrStorageSWInstalledIndex,
        xcmHrStorageNextIndex,
        xcmHrStoragePreviousIndex,
        xcmHrStoragePhysicalIndex
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Storage Ext Group"
    ::= { xcmHrMIBGroups 14 }


xcmHrStorageDetailGroup OBJECT-GROUP
    OBJECTS {
        --  Storage Detail
        xcmHrStorageDetailRowStatus,
        xcmHrStorageDetailUnitClass,
        xcmHrStorageDetailUnit,
        xcmHrStorageDetailValueInteger,
        xcmHrStorageDetailValueOID,
        xcmHrStorageDetailValueString
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Storage Detail Group"
    ::= { xcmHrMIBGroups 15 }

xcmHrDevCoverGroup OBJECT-GROUP
    OBJECTS {
        --  Cover Info
        xcmHrDevCoverRowStatus,
        xcmHrDevCoverName,
        xcmHrDevCoverDescription,
        xcmHrDevCoverTypeCover,
        xcmHrDevCoverStatusOpen
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Cover Group"
    ::= { xcmHrMIBGroups 16 }

xcmHrDevAlertGroup OBJECT-GROUP
    OBJECTS {
        --  Device Alert Info
        xcmHrDevAlertRowStatus,
        xcmHrDevAlertSeverityLevel,
        xcmHrDevAlertTrainingLevel,
        xcmHrDevAlertCodeInteger,
        xcmHrDevAlertCodeString,
        xcmHrDevAlertDescription,
        xcmHrDevAlertReferenceOID,
        xcmHrDevAlertDateAndTime,
        xcmHrDevAlertTitle,
        xcmHrDevAlertHelpReference,
        xcmHrDevAlertReferenceIndex,
        xcmHrDevAlertReferenceLocation,
        xcmHrDevAlertDevAlertIndex      
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Device Alert Group"
    ::= { xcmHrMIBGroups 17 }

xcmHrConsoleScreenGroup OBJECT-GROUP
    OBJECTS {


        --  Console Screen
        xcmHrConsoleScreenName,
        xcmHrConsoleScreenDescription,
        xcmHrConsoleScreenParentIndex,
        xcmHrConsoleScreenPriority,
        xcmHrConsoleScreenTabCount
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Console Screen Group"
    ::= { xcmHrMIBGroups 18 }

xcmHrConsoleTabGroup OBJECT-GROUP
    OBJECTS {
        --  Console Tab
        xcmHrConsoleTabName,
        xcmHrConsoleTabDescription,
        xcmHrConsoleTabScreenIndex,
        xcmHrConsoleTabPriority
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Console Tab Group"
    ::= { xcmHrMIBGroups 19 }

xcmHrSuppliesGroup OBJECT-GROUP
    OBJECTS {
        --  Supplies 
    xcmHrSuppliesReferenceOID,
    xcmHrSuppliesType,
    xcmHrSuppliesClass,
    xcmHrSuppliesDescr,
    xcmHrSuppliesPartNumber 
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Supplies Group"
    ::= { xcmHrMIBGroups 20 }

xcmHrDetailGroup OBJECT-GROUP
    OBJECTS {
        --  Details 
    xcmHrDetailUnitClass,
    xcmHrDetailUnit,
    xcmHrDetailValueInteger,
    xcmHrDetailValueOID,
    xcmHrDetailValueString,
    xcmHrDetailDescription
 }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Detail Group"
    ::= { xcmHrMIBGroups 21 }


xcmHrConsoleGroup OBJECT-GROUP
    OBJECTS {
        --  Console
        xcmHrConsoleDefaultService,
        xcmHrConsoleBrightness,
        xcmHrConsoleContrast,
        xcmHrConsoleAccessibility,
        xcmHrConsoleAutoClearTime,
        xcmHrConsoleInsertTimeout,
        xcmHrConsoleTray1Timeout,
        xcmHrConsoleTray2nTimeout,
        xcmHrConsoleLoadTimeout,
        xcmHrConsoleSoundVolume,
        xcmHrConsoleSoundDuration
    }
    STATUS      current
    DESCRIPTION
        "The Host Resources Extensions MIB Console Group"
    ::= { xcmHrMIBGroups 22 }

END
