XEROX-GENERAL-MIB DEFINITIONS ::= BEGIN

-- Module: General MIB
-- File:   07gen.mib
-- Date:   24 Apr 2005 - Version 5.402.pub

IMPORTS
        MODULE-IDENTITY, OBJECT-IDENTITY,
        OBJECT-TYPE, Counter32, Integer32
                FROM SNMPv2-SMI         -- RFC 1442/1902/2578
        RowStatus, TruthValue, DisplayString,
        DateAndTime
                FROM SNMPv2-TC          -- RFC 1443/1903/2579
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF        -- RFC 1444/1904/2580
        hrDeviceIndex, InternationalDisplayString,
        ProductID
                FROM HOST-RESOURCES-MIB -- RFC 1514/2790
        IANACharset
                FROM IANA-CHARSET-MIB        -- Charsets.mib
        xeroxCommonMIB
                FROM XEROX-COMMON-MIB
        Cardinal32, CodedLanguage, CodedCountry,
        CodeIndexedStringIndex, Ordinal16, Ordinal32,
        XcmGenGroupSupport,
        XcmGenMessageMapStringLabel,
        XcmGenNotifyDetailType,
        XcmGenNotifySchemeSupport,
        XcmGenNotifySeverityFilter,
        XcmGenNotifyTrainingFilter,
        XcmGenOptionValueSyntax,
        XcmGenReconfOptionState,
        XcmGenRowPersistence,
        XcmGenSNMPDomain,
        XcmGenSNMPVersion,
        XcmGenSNMPv2ErrorStatus,
        zeroDotZero,
        XcmGlobalUniqueID,
        XcmFixedLocaleDisplayString,
        XcmNamedLocaleUtf8String
                FROM XEROX-GENERAL-TC;

xcmGeneralMIB MODULE-IDENTITY
    LAST-UPDATED "0504240000Z" -- 24 Apr 2005
    ORGANIZATION "Xerox Corporation - XCMI Working Group"


    CONTACT-INFO "
                XCMI Editors
            E-Mail:     coherence@crt.xerox.com

    --
    --
            "
    DESCRIPTION "
        Version:    5.402.pub

        Xerox General MIB

        See section 9 'Supplement' of XCMI General TC for
        implementation and conformance guidance for this MIB module.

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

xcmGenZeroDummy OBJECT IDENTIFIER ::= { zeroDotZero 51 }

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

xcmGenBase                  OBJECT IDENTIFIER ::= { xcmGeneralMIB 1 }

xcmGenBaseTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenBaseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of general counters and capabilities for ease of use
        of the XCMI General MIB on this host system.

        Usage:  The ONLY valid row in the 'xcmGenBaseTable'
        SHALL have an 'xcmGenBaseIndex' of one ('1')."
    ::= { xcmGenBase 2 }

xcmGenBaseEntry OBJECT-TYPE
    SYNTAX      XcmGenBaseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry of general counters and capabilities for ease of use
        of the XCMI General MIB on this host system.


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

XcmGenBaseEntry ::= SEQUENCE {
        --  General MIB Info
        xcmGenBaseIndex                 Ordinal32,
        xcmGenBaseRowStatus             RowStatus,
        xcmGenBaseSystemHrDeviceIndex   Cardinal32,
        --  General MIB Capabilities Info
        xcmGenBaseGroupSupport          XcmGenGroupSupport,
        xcmGenBaseGroupCreateSupport    XcmGenGroupSupport,
        xcmGenBaseGroupUpdateSupport    XcmGenGroupSupport,
        xcmGenBaseClientDataMaxSupport  Cardinal32,
        xcmGenBaseOptionSyntaxSupport   Cardinal32,
        xcmGenBaseReconfStateSupport    Cardinal32,
        xcmGenBaseSNMPDomainSupport     Cardinal32,
        xcmGenBaseSNMPTrapSupport       TruthValue,
        xcmGenBaseSNMPVersionSupport    Cardinal32,
        --  General MIB Community Name Info
        xcmGenBaseSNMPReadCommunity     OCTET STRING,
        xcmGenBaseSNMPWriteCommunity    OCTET STRING,
        xcmGenBaseSNMPTrapCommunity     OCTET STRING,
        --  General MIB Traversal Info
        xcmGenBaseGroupWalkHidden       XcmGenGroupSupport,
        --  General MIB Notification Info
        xcmGenBaseNotifySchemeSupport    XcmGenNotifySchemeSupport,
        xcmGenBaseNotifySeveritySupport  XcmGenNotifySeverityFilter,
        xcmGenBaseNotifyTrainingSupport  XcmGenNotifyTrainingFilter,
        xcmGenBaseSystem1284DeviceId     DisplayString, 
        xcmGenBaseSNMPWarningTrapSupport TruthValue
    }

xcmGenBaseIndex 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 'xcmGenBaseTable'.

        Usage:  The ONLY valid row in the 'xcmGenBaseTable'
        SHALL have an 'xcmGenBaseIndex' of one ('1')."
    ::= { xcmGenBaseEntry 1 }

xcmGenBaseRowStatus 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 'xcmGenBaseTable'.


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

xcmGenBaseSystemHrDeviceIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    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 currently
        supports the executing process/thread of this management agent."
    REFERENCE "
        See:    'hrDeviceIndex' in the Device group of the
                IETF Host Resources MIB (RFC 2790).
        See:    'xcmHrStoragePlatformDeviceIndex' in the Storage Ext
                group of the XCMI Host Resources Ext MIB."
    DEFVAL      { 0 }                   -- no system platform device
    ::= { xcmGenBaseEntry 3 }

xcmGenBaseGroupSupport OBJECT-TYPE
    SYNTAX      XcmGenGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional XCMI General MIB object groups 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 the XCMI General MIB object groups."
    DEFVAL      { 3584 }                -- mandatory groups
    ::= { xcmGenBaseEntry 4 }

xcmGenBaseGroupCreateSupport OBJECT-TYPE
    SYNTAX      XcmGenGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional XCMI General MIB object groups 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 the XCMI General MIB object groups."
    DEFVAL      { 1536 }                -- dynamic row create groups
    ::= { xcmGenBaseEntry 5 }

xcmGenBaseGroupUpdateSupport OBJECT-TYPE


    SYNTAX      XcmGenGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional XCMI General MIB object groups 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 the XCMI General MIB object groups."
    DEFVAL      { 3584 }                -- existing row update groups
    ::= { xcmGenBaseEntry 6 }

xcmGenBaseClientDataMaxSupport OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum 'xcmGenClientDataLength' supported for ANY
        conceptual row in the 'xcmGenClientDataTable'.

        Usage:  Conforming implementations NEED NOT support maximum
        'xcmGenClientDataLength' greater than 1 octet."
    REFERENCE "
        See:    'xcmGenClientDataLength'"
    DEFVAL      { 0 }                   -- no client data length support
    ::= { xcmGenBaseEntry 7 }

xcmGenBaseOptionSyntaxSupport OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The 'xcmGenOptionValueSyntax' values supported for ANY
        conceptual row in the 'xcmGenOptionTable'.

        Usage:  Conforming management agents SHALL report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        '2**(n)', where (n) is each supported enumerated value in the
        in the 'XcmGenOptionValueSyntax' textual convention."
    REFERENCE "
        See:    'XcmGenOptionValueSyntax' in the XCMI General TC"
    DEFVAL      { 0 }                   -- no option syntax support
    ::= { xcmGenBaseEntry 8 }

xcmGenBaseReconfStateSupport OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The 'xcmGenReconfOptionState' values supported for ANY
        conceptual row in the 'xcmGenReconfTable'.


        Usage:  Conforming management agents SHALL report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        '2**(n)', where (n) is each supported enumerated value in the
        in the 'XcmGenReconfOptionState' textual convention."
    REFERENCE "
        See:    'XcmGenReconfOptionState' in the XCMI General TC"
    DEFVAL      { 0 }                   -- no reconf state support
    ::= { xcmGenBaseEntry 9 }

xcmGenBaseSNMPDomainSupport OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        This object is used to specify ALL transport domains (address
        and name spaces) which are supported by this management agent
        for SNMP protocol traffic (SNMP responses, SNMP traps, etc),
        in ALL versions specified by 'xcmGenBaseSNMPVersionSupport'.

        This object is also used to allow the 'xcmGenTrapClientTable' to
        be used with any URI scheme (e.g., 'mailto:') for notifications,
        by specifying 'uriNotifyDomain'.

        Usage:  Conforming management agents SHALL report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        '2**(n)', where (n) is each supported enumerated value in the
        in the 'XcmGenSNMPDomain' textual convention."
    REFERENCE "
        See:    'XcmGenSNMPDomain' in the XCMI General TC
        See:    'xcmGenTrapClientSNMP[Domain|Version]'."
--  DEFVAL intentionally omitted - agents SHALL report their support
    ::= { xcmGenBaseEntry 10 }

xcmGenBaseSNMPTrapSupport OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        This object SHALL be 'true' if this management agent
        supports SNMP traps (in any SNMP domain and SNMP version)
        and MAY support the 'xcmGenTrapClientTable'.

        This object SHALL be 'false' if this management agent does NOT
        support SNMP traps (in any SNMP domain and SNMP version)
        and does NOT support the 'xcmGenTrapClientTable'."
    REFERENCE "
        See:    'xcmGenBaseGroupSupport' for 'xcmGenTrapClientTable'"
--  DEFVAL intentionally omitted - agents SHALL report their support
    ::= { xcmGenBaseEntry 11 }

xcmGenBaseSNMPVersionSupport OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only


    STATUS      current
    DESCRIPTION "
        This object is used to specify ALL SNMP versions (RFC 1157, RFC
        1905, etc) which are supported by this management agent
        for SNMP protocol traffic (SNMP responses, SNMP traps, etc),
        in ALL domains specified by 'xcmGenBaseSNMPDomainSupport'.

        Usage:  Conforming management agents SHALL report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        '2**(n)', where (n) is each supported enumerated value in the
        in the 'XcmGenSNMPVersion' textual convention."
    REFERENCE "
        See:    'XcmGenSNMPVersion' in the XCMI General TC
        See:    'xcmGenTrapClientSNMP[Domain|Version]'."
--  DEFVAL intentionally omitted - agents SHALL report their support
    ::= { xcmGenBaseEntry 12 }

xcmGenBaseSNMPReadCommunity OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "
        This object is used to specify a 'read community name' valid
        for use in SNMPv1c and SNMPv2c 'Get|GetNext|GetBulk' PDUs
        received (SNMP requests) and generated (SNMP responses)
        by this management agent.

        Usage:  Note that the object 'xcmGenBaseSNMPWriteCommunity'
        SHALL ALSO be used to specify a 'read community name' valid
        for use in SNMPv1c and SNMPv2c 'Get|GetNext|GetBulk'
        PDUs received (SNMP requests) and generated (SNMP responses)
        by this management agent.  Note however that the object
        'xcmGenBaseSNMPTrapCommunity' SHALL NOT be used to specify a
        'read community name' valid in SNMP 'Get|GetNext|GetBulk'.

        Note:   XCMI-defined community name objects support 64 octets
        maximum length and configurable charsets, for consistency with
        the 'snmpCommunityName' object defined in the SNMP Community MIB
        defined in RFC 2576 (March 2000).

        Note:   Products MAY ship with a market-specific factory default
        locale with a charset other than 'utf-8', eg, in Japan a product
        might factory default to 'shift-jis(17)' or 'iso-2022-jp(39)'.
        Such products MUST implement the 'xcmGenFixedLocalizationTable',
        to prevent ambiguity about the factory default charset.

        Usage:  For best interworking with the ('utf-8' charset ONLY)
        closely related 'snmpCommunitySecurityName' object in RFC 2576,
        conforming management stations and management agents SHOULD NOT
        configure community names longer than 32 octets.

        Usage:  For best interworking with third-party applications,
        conforming management stations and management agents SHOULD NOT
        configure empty (zero-length or all spaces) community names.


        Usage:  All XCMI conforming management agents SHALL treat
        a valid 'write community name' as a valid 'read community name'
        and SHALL NOT increment 'snmpInBadCommunityNames' (unknown name)
        or 'snmpInBadCommunityUses' (wrong community name for operation)
        counters in the SNMPv2 Agent MIB (RFC 1907).

        Usage:  All XCMI conforming management agents are
        STRONGLY RECOMMENDED to support an authenticated SNMP SetRequest
        to this object, changing the system 'read community name'
        (for best interworking with third-party management stations).

        Usage:  All XCMI conforming management agents: a) SHALL
        return a zero length string in response to an SNMP GetRequest of
        this object; b) are STRONGLY RECOMMENDED to default
        this object to the string 'public' (in the static charset); and
        c) MAY support multiple valid 'read community names' (by using
        'xcmGenBaseReadCommunity' as a 'window' to a community list via
        'device[Set|List]' device operations in the Device Mgmt group
        of the XCMI Host Resources Ext MIB).

        Usage:  This object is of type 'XcmFixedLocaleDisplayString',
        with an (opaque) locale and an explicit charset which is
        specified in the 'xcmGenLocalizationCharSet' object indexed
        by 'hrDeviceIndex' per 'xcmGenBaseSystemHrDeviceIndex' and
        'xcmGenLocalizationIndex' per 'xcmGenFixedLocalizationIndex'.
        If 'xcmGenLocalizationTable' or 'xcmGenFixedLocalizationTable'
        are not implemented on this host system, then the charset SHALL
        be 'utf-8(106)', ISO 10646-1 in 'UTF-8' stream encoding.

        Usage:  All XCMI conforming management agents SHALL allow
        any defined character in the configured charset of this object.
        All XCMI conforming management stations SHOULD NOT write control
        characters or other non-display characters into this object.

        WARNING:  Changing the only valid 'read community name' of an
        SNMP management agent will cause a COMPLETE loss of
        communications unless all associated SNMP management stations
        (clients) ALSO change over to the new 'read community name'!!!"
    REFERENCE "
        See:    SNMPv1c (RFC 1157) and SNMPv2c (RFC 1905).
        See:    'Coexistence between SNMPv1, SNMPv2, and SNMPv3'
                RFC 2576, March 2000.
        See:    'xcmGenBaseSNMP[Write|Trap]Community'."
--  DEFVAL intentionally omitted - SHOULD be 'public' in static charset
    ::= { xcmGenBaseEntry 13 }

xcmGenBaseSNMPWriteCommunity OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "
        This object is used to specify a 'write community name' valid
        for use in SNMPv1c and SNMPv2c 'Set' PDUs


        received (SNMP requests) and generated (SNMP responses)
        by this management agent.

        Usage:  Note that the object 'xcmGenBaseSNMPWriteCommunity'
        SHALL ALSO be used to specify a 'read community name' valid
        for use in SNMPv1c and SNMPv2c 'Get|GetNext|GetBulk'
        PDUs received (SNMP requests) and generated (SNMP responses)
        by this management agent.  Note however that the object
        'xcmGenBaseSNMPTrapCommunity' SHALL NOT be used to specify a
        'read community name' valid in SNMP 'Get|GetNext|GetBulk'.

        Usage:  All XCMI conforming management agents SHALL treat
        a valid 'write community name' as a valid 'read community name'
        and SHALL NOT increment 'snmpInBadCommunityNames' (unknown name)
        or 'snmpInBadCommunityUses' (wrong community name for operation)
        counters in the SNMPv2 Agent MIB (RFC 1907).

        Note:   XCMI-defined community name objects support 64 octets
        maximum length and configurable charsets, for consistency with
        the 'snmpCommunityName' object defined in the SNMP Community MIB
        defined in RFC 2576 (March 2000).

        Note:   Products MAY ship with a market-specific factory default
        locale with a charset other than 'utf-8', eg, in Japan a product
        might factory default to 'shift-jis(17)' or 'iso-2022-jp(39)'.
        Such products MUST implement the 'xcmGenFixedLocalizationTable',
        to prevent ambiguity about the factory default charset.

        Usage:  For best interworking with the ('utf-8' charset ONLY)
        closely related 'snmpCommunitySecurityName' object in RFC 2576,
        conforming management stations and management agents SHOULD NOT
        configure community names longer than 32 octets.

        Usage:  For best interworking with third-party applications,
        conforming management stations and management agents SHOULD NOT
        configure empty (zero-length or all spaces) community names.

        Usage:  All XCMI conforming management agents are
        STRONGLY RECOMMENDED to support an authenticated SNMP SetRequest
        to this object, changing the system 'write community name'
        (for best interworking with third-party management stations).

        Usage:  All XCMI conforming management agents: a) SHALL
        return a zero length string in response to an SNMP GetRequest of
        this object; b) are STRONGLY RECOMMENDED to default
        this object to the string 'public' (in the static charset); and
        c) MAY support multiple valid 'write community names' (by using
        'xcmGenBaseWriteCommunity' as a 'window' to a community list via
        'device[Set|List]' device operations in the Device Mgmt group
        of the XCMI Host Resources Ext MIB).

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'
        (see DESCRIPTION of 'xcmGenBaseSNMPReadCommunity' above).
        If 'xcmGenLocalizationTable' or 'xcmGenFixedLocalizationTable'


        are not implemented on this host system, then the charset SHALL
        be 'utf-8(106)', ISO 10646-1 in 'UTF-8' stream encoding.

        Usage:  All XCMI conforming management agents SHALL allow
        any defined character in the configured charset of this object.
        All XCMI conforming management stations SHOULD NOT write control
        characters or other non-display characters into this object.

        Usage:  When an SNMP management stations CHANGES the value of
        this 'write community name', an XCMI conforming management agent
        SHALL use the old (previous) 'write community name' when
        generating the SNMP response to the 'Set' PDU, for consistency.

        WARNING:  Changing the only valid 'write community name' of an
        SNMP management agent will cause a COMPLETE loss of
        communications unless all associated SNMP management stations
        (clients) ALSO change over to the new 'write community name'!!!"
    REFERENCE "
        See:    SNMPv1c (RFC 1157) and SNMPv2c (RFC 1905).
        See:    'Coexistence between SNMPv1, SNMPv2, and SNMPv3'
                RFC 2576, March 2000.
        See:    'xcmGenBaseSNMP[Read|Trap]Community'."
--  DEFVAL intentionally omitted - SHOULD be 'public' in static charset
    ::= { xcmGenBaseEntry 14 }

xcmGenBaseSNMPTrapCommunity OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "
        This object is used to specify a 'trap community name' valid
        for use in SNMPv1c and SNMPv2c 'Inform|Trap' PDUs
        received (SNMP requests) and generated (SNMP traps)
        by this management agent.

        Usage:  Note that the object 'xcmGenBaseSNMPWriteCommunity'
        SHALL ALSO be used to specify a 'read community name' valid
        for use in SNMPv1c and SNMPv2c 'Get|GetNext|GetBulk'
        PDUs received (SNMP requests) and generated (SNMP responses)
        by this management agent.  Note however that the object
        'xcmGenBaseSNMPTrapCommunity' SHALL NOT be used to specify a
        'read community name' valid in SNMP 'Get|GetNext|GetBulk'.

        Note:   XCMI-defined community name objects support 64 octets
        maximum length and configurable charsets, for consistency with
        the 'snmpCommunityName' object defined in the SNMP Community MIB
        defined in RFC 2576 (March 2000).

        Note:   Products MAY ship with a market-specific factory default
        locale with a charset other than 'utf-8', eg, in Japan a product
        might factory default to 'shift-jis(17)' or 'iso-2022-jp(39)'.
        Such products MUST implement the 'xcmGenFixedLocalizationTable',
        to prevent ambiguity about the factory default charset.


        Usage:  For best interworking with the ('utf-8' charset ONLY)
        closely related 'snmpCommunitySecurityName' object in RFC 2576,
        conforming management stations and management agents SHOULD NOT
        configure community names longer than 32 octets.

        Usage:  For best interworking with third-party applications,
        conforming management stations and management agents SHOULD NOT
        configure empty (zero-length or all spaces) community names.

        Usage:  All XCMI conforming management agents are
        STRONGLY RECOMMENDED to support an authenticated SNMP SetRequest
        to this object, changing the system 'trap community name'
        (for best interworking with third-party management stations).

        Usage:  All XCMI conforming management agents: a) SHALL
        return a zero length string in response to an SNMP GetRequest of
        this object; b) are STRONGLY RECOMMENDED to default
        this object to the string 'public' (in the static charset); and
        c) MAY support multiple valid 'trap community names' (by using
        'xcmGenBaseTrapCommunity' as a 'window' to a community list via
        'device[Set|List]' device operations in the Device Mgmt group
        of the XCMI Host Resources Ext MIB).

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'
        (see DESCRIPTION of 'xcmGenBaseSNMPReadCommunity' above).
        If 'xcmGenLocalizationTable' or 'xcmGenFixedLocalizationTable'
        are not implemented on this host system, then the charset SHALL
        be 'utf-8(106)', ISO 10646-1 in 'UTF-8' stream encoding.

        Usage:  All XCMI conforming management agents SHALL allow
        any defined character in the configured charset of this object.
        All XCMI conforming management stations SHOULD NOT write control
        characters or other non-display characters into this object.

        WARNING:  Changing the only valid 'trap community name' of an
        SNMP management agent will cause a COMPLETE loss of
        communications unless all associated SNMP management stations
        (clients) ALSO change over to the new 'trap community name'!!!"
    REFERENCE "
        See:    SNMPv1c (RFC 1157) and SNMPv2c (RFC 1905).
        See:    'Coexistence between SNMPv1, SNMPv2, and SNMPv3'
                RFC 2576, March 2000.
        See:    'xcmGenBaseSNMP[Read|Write]Community'.
        See:    'xcmGenTrapClientSNMPCommunity'."
--  DEFVAL intentionally omitted - SHOULD be 'public' in static charset
    ::= { xcmGenBaseEntry 15 }

xcmGenBaseGroupWalkHidden OBJECT-TYPE
    SYNTAX      XcmGenGroupSupport
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "
        The terse control/report vector of ALL mandatory, conditionally


        mandatory, and optional XCMI General MIB object groups which are
        hidden from MIB walks (via SNMP GetNext or GetBulk PDUs)
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  When an object group is currently 'hidden' via
        'xcmGenBaseGroupWalkHidden', XCMI conforming management agents
        SHALL skip over that object group to the next
        lexicographically higher object for GetNext or GetBulk requests.

        Usage:  Conforming management agents SHOULD hide the Message Map
        Message Text object groups from MIB walks (as they MAY contain
        thousands of conceptual rows in typical implementations).

        Usage:  Conforming management agents SHALL accurately
        report their hidden MIB walk XCMI General MIB object groups."
--  The following DEFVAL 'hides' Message Map and Message Text groups
    DEFVAL      { 12288 }               -- hidden MIB walk groups
    ::= { xcmGenBaseEntry 16 }

xcmGenBaseNotifySchemeSupport OBJECT-TYPE
    SYNTAX      XcmGenNotifySchemeSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL notification URI schemes
        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 notification URI schemes."
    REFERENCE "
        See:    'XcmGenNotifySchemeSupport' in XCMI General TC.
        See:    'xcmGenBaseSNMPDomainSupport' in XCMI General MIB."
    DEFVAL      { 1 }                   -- SNMP (traps)
    ::= { xcmGenBaseEntry 17 }

xcmGenBaseNotifySeveritySupport OBJECT-TYPE
    SYNTAX      XcmGenNotifySeverityFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL notification severity
        filters supported by this management agent implementation
        (ie, version) on this host system, specified in a bit-mask.

        Usage:  Individual trap definitions MAY further constrain which
        notifications are 'in scope'.

        Usage:  Conforming management agents SHALL accurately
        report their support for notification severity filters."
    REFERENCE "
        See:    'prtAlertSeverityLevel' in IETF Printer MIB (RFC 1759).
        See:    'XcmGenNotifySeverityFilter' in XCMI General TC.


        See:    'xcmGenTrapViewNotifySeverity' in XCMI General MIB."
    DEFVAL      { 15 }                  -- report, warning, error
    ::= { xcmGenBaseEntry 18 }

xcmGenBaseNotifyTrainingSupport OBJECT-TYPE
    SYNTAX      XcmGenNotifyTrainingFilter
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL notification training
        filters supported by this management agent implementation
        (ie, version) on this host system, specified in a bit-mask.

        Usage:  Individual trap definitions MAY further constrain which
        notifications are 'in scope'.

        Usage:  Conforming management agents SHALL accurately
        report their support for notification training filters."
    REFERENCE "
        See:    'prtAlertTrainingLevel' in IETF Printer MIB (RFC 1759).
        See:    'XcmGenNotifyTrainingFilter' in XCMI General TC.
        See:    'xcmGenTrapViewNotifyTraining' in XCMI General MIB."
    DEFVAL      { 60 }                  -- none, trained, service, mgmt
    ::= { xcmGenBaseEntry 19 }

xcmGenBaseSystem1284DeviceId OBJECT-TYPE
       SYNTAX     DisplayString (SIZE (0..255))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION "                                                   
         The value of this variable MUST exactly match the 
         IEEE 1284-2000 Device ID string, except the length field MUST 
         NOT be specified. The value is assigned by the Printer vendor 
         and MUST NOT be localized by the agent.   
         The IEEE 1284-2000 Device ID is a length field followed by a 
         case-sensitive string of ASCII characters defining peripheral 
         characteristics and/or capabilities. For the purposes of this 
         specification, the length bytes MUST NOT be included. The 
         Device ID sequence is composed of a series of keys and values 
         of the form:
            key: value {,value} repeated for each key
         As indicated, each key will have one value, and MAY have more 
         than one value. The minimum necessary keys (case-sensitive) are
           MANUFACTURER, COMMAND SET, and MODEL. 
         (These keys MAY be abbreviated as MFG, CMD, and MDL 
         respectively.) Each implementation MUST supply these three keys

         and possibly additional ones as well. Each key (and each value)

         is a string of characters. Any characters except colon (:), 
         comma (,), and semi-colon (;) MAY be included as part of the 
         key (or value) string. Any leading or trailing white space in 
         the string is ignored by the parsing program (but is still 
         counted as part of the overall length of the sequence). 


         An example ID String, showing optional comment and active 
         command set keys and their associated values (the text is 
         actually all on one line):
            MFG:Xerox;
            CMD:PCL,POSTSCRIPT,PJL;
            MDL:WorkCentre Pro 32C;
            CLS:PRINTER;
            DES: Xerox WorkCentre Pro 32C"
    ::= { xcmGenBaseEntry 20 }

xcmGenBaseSNMPWarningTrapSupport OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "
        This object SHALL be 'true' if this management agent
        supports sending SNMP warning traps. This object SHALL 
        be 'false'if this management agent does NOT support 
        sending SNMP warning traps.

        This does not change the behavior of support for
        sending 'Error Cleared' traps such sending a
        trap when an alertRemovalOfBinaryChangeEntry
        is added to the Alert Table."
    DEFVAL      { false }   -- only critical traps are issued
    ::= { xcmGenBaseEntry 21 }

--
--  Current Localization Group (Cond Mandatory)
--
--  This group controls the localization of dynamic string objects
--  of type 'InternationalDisplayString' in legacy MIBs.
--
--  Implementation of this group is conditionally mandatory, ie,
--  mandatory for all systems which support MIB objects with type
--  'InternationalDisplayString'
--  and optional for all other systems.
--

xcmGenCurrentLocalization   OBJECT IDENTIFIER ::= { xcmGeneralMIB 3 }

xcmGenCurrentLocalizationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenCurrentLocalizationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of general localization information per device.  It is
        put in a table so it can be per device using the hrDeviceIndex."
    ::= { xcmGenCurrentLocalization 1 }

xcmGenCurrentLocalizationEntry OBJECT-TYPE


    SYNTAX      XcmGenCurrentLocalizationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        Contains the scalar objects that we want to be per device."
    INDEX       { hrDeviceIndex }
    ::= { xcmGenCurrentLocalizationTable 1 }

XcmGenCurrentLocalizationEntry ::= SEQUENCE {
        --  Current Localization Info
        xcmGenCurrentLocalizationIndex  Ordinal16,
        xcmGenCurrLocalizationRowStatus RowStatus
    }

xcmGenCurrentLocalizationIndex OBJECT-TYPE
    SYNTAX      Ordinal16
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of the 'xcmGenLocalizationIndex' corresponding to the
        current language, country, and character set which SHALL be
        used for all objects of type 'InternationalDisplayString' in
        all legacy MIBs.

        Note the Printer MIB has a similar mechanism which controls only
        objects (of type OCTET STRING) which are in the Printer MIB."

    ::= { xcmGenCurrentLocalizationEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenCurrLocalizationRowStatus' row status object; and
        SHALL clear the 'xcmGenCurrentLocalizationGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenCurrLocalizationRowStatus' row status object; and
        SHALL set the 'xcmGenCurrentLocalizationGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

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

        Usage:  Conforming implementations MAY support a single, static


        conceptual row, but SHALL allocate that row with an
        'hrDeviceIndex' value of one ('1').

        Usage:  This row status SHALL be set, to 'active(1)' (for
        static rows) or 'createAndGo(4)' (for dynamic rows),
        in the same PDU which sets the
        current locale in 'xcmGenCurrentLocalizationIndex'
        (thus activating/allocating this conceptual row).

        Usage:  To explicitly release this conceptual row, a management
        station SHALL set 'xcmGenCurrLocalizationRowStatus' to
        'notInService(2)' (for static rows) or 'destroy(6)' (for dynamic
        rows).

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenCurrentLocalizationEntry 2 }

--
--  General Localization Group (Cond Mandatory)
--
--  This group declares supported localizations for string objects
--  of type 'InternationalDisplayString' in legacy MIBs and
--  of type 'XcmFixedLocaleDisplayString'
--  or 'Xcm[Fixed|Mamed]LocaleUtf8String' in XCMI MIBs.
--
--  Implementation of this group is conditionally mandatory, ie,
--  mandatory for all systems which support MIB objects with type
--  'InternationalDisplayString', 'XcmFixedLocaleDisplayString',
--  'XcmFixedLocaleUtf8String', or 'XcmNamedLocaleUtf8String'
--  and optional for all other systems.
--

xcmGenLocalization          OBJECT IDENTIFIER ::= { xcmGeneralMIB 4 }

xcmGenLocalizationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenLocalizationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        The available localizations in this device."
    ::= { xcmGenLocalization 1 }

xcmGenLocalizationEntry OBJECT-TYPE
    SYNTAX      XcmGenLocalizationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "


        An entry exists in this table for each Localization, i.e. for
        each combination of Language, Country (or Territory) and Coded 
        Character Set, that is supported in some objects of type
        'InternationalDisplayString', 'XcmFixedLocaleDisplayString',
        'XcmFixedLocaleUtf8String', or 'XcmNamedLocaleUtf8String'
        for each device on this managed system."
    INDEX       { hrDeviceIndex,
                  xcmGenLocalizationIndex }
    ::= { xcmGenLocalizationTable 1 }

XcmGenLocalizationEntry ::= SEQUENCE {
        --  Supported Localization Info
        xcmGenLocalizationIndex         Ordinal16,
        xcmGenLocalizationRowStatus     RowStatus,
        xcmGenLocalizationASCIIName     DisplayString,
        xcmGenLocalizationName          InternationalDisplayString,
        xcmGenLocalizationLanguage      CodedLanguage,
        xcmGenLocalizationCountry       CodedCountry,
        xcmGenLocalizationCharSet       IANACharset
    }

xcmGenLocalizationIndex OBJECT-TYPE
    SYNTAX      Ordinal16
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A unique value used by the device to identify this
        localization entry."
    ::= { xcmGenLocalizationEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenLocalizationRowStatus' row status object; and
        SHALL clear the 'xcmGenLocalizationGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenLocalizationRowStatus' row status object; and
        SHALL set the 'xcmGenLocalizationGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenLocalizationEntry 2 }

xcmGenLocalizationASCIIName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The unlocalized human readable name in NVT ASCII of the
        localization with the language, followed by the country 
        (or territory), followed by the character set.

        Example: English US ASCII"
    DEFVAL     { ''H }
    ::= { xcmGenLocalizationEntry 3 }

xcmGenLocalizationName OBJECT-TYPE
    SYNTAX      InternationalDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The localized human readable name of the localization with
        the language, followed by the country (or territory),
        followed by the character set. 

        Example: Japanese Japan Kanji (Represented with Kanji chars.)"
    DEFVAL     { ''H }                   -- no specified name
    ::= { xcmGenLocalizationEntry 4 }

xcmGenLocalizationLanguage OBJECT-TYPE
    SYNTAX      CodedLanguage
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        A two character language abreviation from ISO 639:1988
        - Codes For the Representation of Names of Languages.
        Examples EN, GB, CA, FR, DE."
    DEFVAL     { ''H }                   -- no specified language
    ::= { xcmGenLocalizationEntry 5 }

xcmGenLocalizationCountry OBJECT-TYPE
    SYNTAX      CodedCountry
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        A two character country or territory abbreviation from
        ISO 3166:1993 - Codes for the Representation of Names of
        Countries.
        Examples: US, FR, DE, ..."
    DEFVAL      { ''H }          -- no specified country or territory
    ::= { xcmGenLocalizationEntry 6 }


xcmGenLocalizationCharSet OBJECT-TYPE
    SYNTAX      IANACharset
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The charset used for this localization.
        The value is the enum for the charset registered
        with IANA.  See the 'IANACharset' textual-convention in the
        Printer MIB (RFC 1759)."
    DEFVAL      { other }         -- no specified charset
    ::= { xcmGenLocalizationEntry 7 }

--
-- Code Indexed String Group (Cond Mandatory)
--
-- This is a group to control the charset representation
-- of charset-indexed string objects that use the CodeIndexedStringIndex
-- types in new MIBs.
--
-- Implementation of the xcmGenIndexedStringGroup is
-- conditionally mandatory:  Mandatory for all systems which
-- implement MIB objects of type 'CodeIndexedStringIndex' or
-- implement the 'xcmGenCodedCharSetGroup'.
--
-- Contains all the current charset-indexed strings for this device.
--

xcmGenCodeIndexedString     OBJECT IDENTIFIER ::= { xcmGeneralMIB 5 }

xcmGenCodeIndexedStringTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenCodeIndexedStringEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        The current charset-indexed strings for this device."
    ::= { xcmGenCodeIndexedString 1 }

xcmGenCodeIndexedStringEntry OBJECT-TYPE
    SYNTAX      XcmGenCodeIndexedStringEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry exists in this table containing a charset-indexed
        string in a particular charset.  There are separate sets of
        charset-indexed strings for each device.

        If an agent supports multiple charset representations
        of a charset-indexed string, including code conversion between,
        there will be a separate entry for each such charset
        representation.

        Usage:  'xcmGenCodeIndexedStringCharSet' selects which charset
        representation is to be returned.  The value of


        'xcmGenCodeIndexedStringCharSet' is the charset enum
        registered with IANA. See the 'IANACharset' textual-convention
        in the Printer MIB (RFC 1759).

        Usage:  Conforming management agents SHALL NOT 'reuse' values of
        'xcmGenCodeIndexedStringIndex' until its' 32-bit value wraps.
        This prevents access to 'xcmGenCodeIndexedStringData' contents
        via 'stale' pointers (previously cached from XCMI Job Monitoring
        MIB or XCMI Resources MIB).

        Note:   Conforming management stations SHOULD interwork with
        earlier (pre-XCMI 3.1) management agents which MAY 'reuse'
        values of 'xcmGenCodeIndexedStringIndex'.  By first reading the
        pointer object in XCMI Job Monitoring MIB or XCMI Resources MIB,
        the manager will avoid 'stale' pointer processing errors."
    INDEX       { hrDeviceIndex,
                  xcmGenCodeIndexedStringIndex,
                  xcmGenCodeIndexedStringCharSet }
    ::= { xcmGenCodeIndexedStringTable 1 }

XcmGenCodeIndexedStringEntry ::= SEQUENCE {
        --  Code Indexed String Info
        xcmGenCodeIndexedStringIndex         CodeIndexedStringIndex,
        xcmGenCodeIndexedStringCharSet       IANACharset,  -- an index
        xcmGenCodeIndexedStringRowStat       RowStatus,
        xcmGenCodeIndexedStringData          OCTET STRING
    }

xcmGenCodeIndexedStringIndex OBJECT-TYPE
    SYNTAX      CodeIndexedStringIndex (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A unique value used by the device, along with the following
        'xcmGenCodeIndexedStringCharSet', to identify this
        charset-indexed string entry.

        Usage:  Conforming management agents SHALL NOT 'reuse' values of
        'xcmGenCodeIndexedStringIndex' until its' 32-bit value wraps.
        This prevents access to 'xcmGenCodeIndexedStringData' contents
        via 'stale' pointers (previously cached from XCMI Job Monitoring
        MIB or XCMI Resources MIB).

        Note:   Conforming management stations SHOULD interwork with
        earlier (pre-XCMI 3.1) management agents which MAY 'reuse'
        values of 'xcmGenCodeIndexedStringIndex'.  By first reading the
        pointer object in XCMI Job Monitoring MIB or XCMI Resources MIB,
        the manager will avoid 'stale' pointer processing errors."
    ::= { xcmGenCodeIndexedStringEntry 1 }

xcmGenCodeIndexedStringCharSet OBJECT-TYPE
    SYNTAX      IANACharset
    MAX-ACCESS  not-accessible
    STATUS      current


    DESCRIPTION "
        The charset used for this charset-indexed string entry.

        Usage:  The value is the enum for the charset registered
        with IANA.  See the 'IANACharset' textual-convention in the
        Printer MIB (RFC 1759)."
    ::= { xcmGenCodeIndexedStringEntry 2 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenCodeIndexedStringRowStat' row status object; and
        SHALL clear the 'xcmGenCodeIndexedStringGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenCodeIndexedStringRowStat' row status object; and
        SHALL set the 'xcmGenCodeIndexedStringGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenCodeIndexedStringEntry 3 }

xcmGenCodeIndexedStringData OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This is the actual charset-indexed string data, in the charset
        identified by 'xcmGenCodeIndexedStringCharSet'."
    DEFVAL     { ''H }      -- no specified charset-indexed string data
    ::= { xcmGenCodeIndexedStringEntry 4 }

--
-- Coded Char Set Group (Cond Mandatory)
--
-- This is a group to control the charset representation
-- of charset-indexed string objects that use the CodeIndexedStringIndex
-- types in new MIBs.


--
-- Implementation of the xcmGenCodedCharSetGroup group is
-- conditionally mandatory:  Mandatory for all systems which
-- implement MIB objects of type 'CodeIndexedStringIndex' or
-- implement the 'xcmGenCodeIndexedStringGroup'.
--
-- Contains the charset identifications of the IANA-registered
-- charsets supported by this device for representing charset-indexed
-- strings.

xcmGenCodedCharSet          OBJECT IDENTIFIER ::= { xcmGeneralMIB 6 }

xcmGenCodedCharSetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenCodedCharSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        The supported charsets for this device."
    ::= { xcmGenCodedCharSet 1 }

xcmGenCodedCharSetEntry OBJECT-TYPE
    SYNTAX      XcmGenCodedCharSetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry exists in this table for each charset
        supported in some objects of 'CodeIndexedStringIndex' type for
        each device."
    INDEX       { hrDeviceIndex,
                  xcmGenCodedCharSetCharSet }
    ::= { xcmGenCodedCharSetTable 1 }

XcmGenCodedCharSetEntry ::= SEQUENCE {
        --  Supported Coded Chararcter Set Info
        xcmGenCodedCharSetCharSet       IANACharset,
        xcmGenCodedCharSetRowStatus     RowStatus,
        xcmGenCodedCharSetASCIIName     DisplayString
    }

xcmGenCodedCharSetCharSet OBJECT-TYPE
    SYNTAX      IANACharset
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        The supported charset enum identifier, used an index
        for this table.  The value is the enum for the charset
        registered with IANA."
    REFERENCE "
        See the 'IANACharset' textual-convention in the Printer MIB."
    ::= { xcmGenCodedCharSetEntry 1 }

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


    STATUS      current
    DESCRIPTION "
        This object manages the row status of this conceptual row in
        the 'xcmGenCodedCharSetTable'.

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenCodedCharSetRowStatus' row status object; and
        SHALL clear the 'xcmGenCodedCharSetGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenCodedCharSetRowStatus' row status object; and
        SHALL set the 'xcmGenCodedCharSetGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenCodedCharSetEntry 2 }

xcmGenCodedCharSetASCIIName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The unlocalized human readable name in ASCII of the
        charset.

        Example: 'ASCII'"
    DEFVAL     { ''H }                        -- no specified name
    ::= { xcmGenCodedCharSetEntry 3 }

--
-- Fixed Localization Group (Cond Mandatory)
--
--  This group controls the localization of static string objects
--  of type 'XcmFixedLocaleDisplayString'
--  or 'Xcm[Fixed|Mamed]LocaleUtf8String' in XCMI MIBs.
--
--  Implementation of this group is conditionally mandatory, ie,
--  mandatory for all systems which support MIB objects with type
--  'XcmFixedLocaleDisplayString',
--  'XcmFixedLocaleUtf8String', or 'XcmNamedLocaleUtf8String'


--  and optional for all other systems.
--

xcmGenFixedLocalization     OBJECT IDENTIFIER ::= { xcmGeneralMIB 7 }

xcmGenFixedLocalizationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenFixedLocalizationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of fixed localization information per device.  It is
        put in a table so it can be per device using the hrDeviceIndex."
    REFERENCE "
        See:    'XcmFixedLocale[Display|Utf8]String' in the
                XCMI General TC."
    ::= { xcmGenFixedLocalization 1 }

xcmGenFixedLocalizationEntry OBJECT-TYPE
    SYNTAX      XcmGenFixedLocalizationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry of fixed localization information per device."
    REFERENCE "
        See:    'XcmFixedLocale[Display|Utf8]String' in the
                XCMI General TC."
    INDEX       { hrDeviceIndex }
    ::= { xcmGenFixedLocalizationTable 1 }

XcmGenFixedLocalizationEntry ::= SEQUENCE {
        --  Fixed Localization Info
        xcmGenFixedLocalizationIndex    Ordinal16,
        xcmGenFixedLocalizationRowStat  RowStatus
    }

xcmGenFixedLocalizationIndex OBJECT-TYPE
    SYNTAX      Ordinal16
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of the 'xcmGenLocalizationIndex' corresponding to the
        current language, country, and character set which SHALL be
        used for all objects of type 'XcmFixedLocaleDisplayString'
        in all current and future MIBs.

        Also, the value of the 'xcmGenLocalizationIndex' corresponding
        to the language and country (but FIXED UTF-8) which SHALL be
        used for all objects of type 'XcmFixedLocaleUtf8String'
        in all current and future MIBs."
    REFERENCE "
        See:    'XcmFixedLocale[Display|Utf8]String' in the
                XCMI General TC.
        See:    'UTF-8, a transformation of ISO 10646' (RFC 2279) and
        'IETF Policy on Character Sets and Languages' (RFC 2277)."


    ::= { xcmGenFixedLocalizationEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenFixedLocalizationRowStat' row status object; and
        SHALL clear the 'xcmGenFixedLocalizationGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenFixedLocalizationRowStat' row status object; and
        SHALL set the 'xcmGenFixedLocalizationGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

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

        Usage:  Conforming implementations MAY support a single, static
        conceptual row, but SHALL allocate that row with an
        'hrDeviceIndex' value of one ('1').

        Usage:  This row status SHALL be set, to 'active(1)' (for
        static rows) or 'createAndGo(4)' (for dynamic rows),
        in the same PDU which sets the
        fixed locale in 'xcmGenFixedLocalizationIndex'
        (thus activating/allocating this conceptual row).

        Usage:  To explicitly release this conceptual row, a management
        station SHALL set 'xcmGenFixedLocalizationRowStat' to
        'notInService(2)' (for static rows) or 'destroy(6)' (for dynamic
        rows).

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenFixedLocalizationEntry 2 }


--
-- General Lock Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which support advisory contention
-- locks, and optional for all other systems.
--
-- Implementation of this group is STRONGLY RECOMMENDED.
--
-- Implementation of this group is conditionally mandatory,
-- however it SHALL be implemented by systems which
-- implement the 'xcmGenReconfGroup' and 'xcmGenOptionGroup'.
--
xcmGenLock                  OBJECT IDENTIFIER ::= { xcmGeneralMIB 8 }

--
--          General Lock Simple Objects
--

xcmGenLockSimple OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenLock 1 }

xcmGenLockSupportMaxTimer OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The advisory lock supported max owner timer (in seconds) for
        use for ANY advisory lock in the 'xcmGenLockTable'.

        Usage:  The value zero ('0') represents 'no limit'.

        Usage:  This supported max timer represents an XCMI enhancement
        to the traditional advisory lock mechanism used in existing IETF
        MIB modules (eg, RFC 1573).  It provides reliable information to
        a management station contending for advisory locks, about the
        MAXIMUM time supported (ie, permitted) for ANY advisory lock by
        the management agent on this host system."
    REFERENCE "
        See:    'xcmGenLockCurrentMaxTimer' and 'xcmGenLockOwnerTimer'"
    DEFVAL      { 0 }                   -- no limit on support max timer
    ::= { xcmGenLockSimple 1 }

xcmGenLockCurrentMaxTimer OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The advisory lock current max owner timer (in seconds) in


        use for ANY advisory lock in the 'xcmGenLockTable'.

        Usage:  This current max timer represents an XCMI enhancement
        to the traditional advisory lock mechanism used in existing IETF
        MIB modules (eg, RFC 1573).  It provides reliable information to
        a management station contending for advisory locks, about the
        current MAXIMUM time until expiration for ALL advisory locks for
        the management agent on this host system.

        Note:   To acquire an advisory lock on an ENTIRE host system,
        a conforming management station (or management agent) SHALL
        examine 'xcmGenLockCurrentMaxTimer', add an appropriate
        delta for eventual processing, and lock the 'xcmGenLockTable'
        itself.  When 'xcmGenLockCurrentLockCount' subsequently becomes
        one (1), the requesting management station (or management agent)
        has acquired a lock on the ENTIRE host system (since no OTHER
        entity MAY acquire any further lock, because 'xcmGenLockTable'
        has become 'read-only' to all other entities), and MAY proceed
        accordingly."
    REFERENCE "
        See:    'xcmGenLockSupportMaxTimer' and 'xcmGenLockOwnerTimer'"
    DEFVAL      { 0 }                   -- no current max timer
    ::= { xcmGenLockSimple 2 }

xcmGenLockCurrentLockCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenLockTable'.

        Usage:  This current lock count represents an XCMI enhancement
        to the traditional advisory lock mechanism used in existing IETF
        MIB modules (eg, RFC 1573)."
    REFERENCE "
        See:    'xcmGenLockHighestLockIndex'"
    DEFVAL      { 0 }                   -- no current lock count
    ::= { xcmGenLockSimple 3 }

xcmGenLockHighestLockIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The highest advisory lock index which has been active in the
        'xcmGenLockTable'.

        Usage:  This highest lock index represents an XCMI enhancement
        to the traditional advisory lock mechanism used in existing IETF
        MIB modules (eg, RFC 1573)."
    REFERENCE "
        See:    'xcmGenLockCurrentLockCount'"
    DEFVAL      { 0 }                   -- no highest lock index


    ::= { xcmGenLockSimple 4 }

xcmGenLockSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenLockTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    REFERENCE "
        See:    'xcmGenLockCurrentLockCount'"
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenLockSimple 5 }

--
--          General Lock Table Objects
--

xcmGenLockTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenLockEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table containing 'advisory contention lock' objects for
        various subtrees of MIB objects from the complete set of IETF
        and XCMI MIB modules implemented by this host system.

        Note:   To acquire an advisory lock on an ENTIRE host system,
        a conforming management station (or management agent) SHALL
        examine 'xcmGenLockCurrentMaxTimer', add an appropriate
        delta for eventual processing, and lock the 'xcmGenLockTable'
        itself.  When 'xcmGenLockCurrentLockCount' subsequently becomes
        one (1), the requesting management station (or management agent)
        has acquired a lock on the ENTIRE host system (since no OTHER
        entity MAY acquire any further lock, because 'xcmGenLockTable'
        has become 'read-only' to all other entities), and MAY proceed
        accordingly."
    REFERENCE "
        See:    'ifTestOwner' and the 'OwnerString' textual convention
        in Evolution of the Interfaces Group of MIB-II (RFC 1573)."
    ::= { xcmGenLock 2 }

xcmGenLockEntry OBJECT-TYPE
    SYNTAX      XcmGenLockEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry containing 'advisory contention lock' objects for one
        specific subtree of MIB objects from the complete set of IETF
        and XCMI MIB modules implemented by this host system."
    INDEX       { xcmGenLockIndex }
    ::= { xcmGenLockTable 1 }


XcmGenLockEntry ::= SEQUENCE {
        --  General Lock Info
        xcmGenLockIndex                 Ordinal32,
        xcmGenLockRowStatus             RowStatus,
        xcmGenLockOwnerString           OCTET STRING,
        xcmGenLockOwnerSubtree          OBJECT IDENTIFIER,
        xcmGenLockOwnerTimer            Cardinal32
    }

--
--          General Lock Info
--

xcmGenLockIndex 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 'xcmGenLockTable' - each conceptual row in
        the 'xcmGenLockTable' represents an 'advisory contention lock'
        on a specific subtree of MIB objects from the complete set of
        IETF and XCMI MIB modules implemented by this host system."
    REFERENCE "
        See:    'XcmGenLockIndex' textual convention"
    ::= { xcmGenLockEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenLockRowStatus' row status object; and
        SHALL clear the 'xcmGenLockGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenLockRowStatus' row status object; and
        SHALL set the 'xcmGenLockGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

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

        Usage:  Conforming implementations MAY support a single, static
        conceptual row, but SHALL allocate that row with an


        'xcmGenLockIndex' value of one ('1').

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenLockRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenLockOwnerString' (if an owner string is available),
        'xcmGenLockOwnerSubtree' (if not 'zeroDotZero'), and
        'xcmGenLockOwnerTimer' (to a suitable value)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenLockOwnerString', or
        'xcmGenLockOwnerSubtree'
        AFTER row creation (these objects are 'write-once').

        Usage:  To explicitly release this advisory lock, the current
        lock owner (management station or management agent) SHALL
        set 'xcmGenLockRowStatus' in this row to 'notInService(2)' (for
        static rows) or 'destroy(6)' (for dynamic rows).

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'xcmGenLockSupportMaxCount' (limit object).
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenLockEntry 2 }

xcmGenLockOwnerString OBJECT-TYPE
--  SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        The advisory lock owner string corresponding to the current
        'owner' of this advisory lock.

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenLockRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenLockOwnerString' (if an owner string is available),
        'xcmGenLockOwnerSubtree' (if not 'zeroDotZero'), and
        'xcmGenLockOwnerTimer' (to a suitable value)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenLockOwnerString', or
        'xcmGenLockOwnerSubtree'
        AFTER row creation (these objects are 'write-once').


        Usage:  This owner string SHALL contain one or more of
        the following:
        a)  Textual form of the management station's transport address;
        b)  Management station name (eg, domain name); and/or
        c)  Network management person's name, location, or phone.
        In the instance that the management agent itself is the 'owner',
        this object SHALL be set to a string beginning with
        'agent' (in English).

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'."
    REFERENCE "
        See:    'xcmGenLockRowStatus', 'xcmGenLockOwnerSubtree', and
                'xcmGenLockOwnerTimer'.
        See:    'ifTestOwner' and the 'OwnerString' textual convention
        in Evolution of the Interfaces Group of MIB-II (RFC 1573)."
    DEFVAL      { ''H }                 -- no owner string
    ::= { xcmGenLockEntry 3 }

xcmGenLockOwnerSubtree OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        The advisory lock owner subtree (ie, scope) for the current
        'owner' of this advisory lock.

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenLockRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenLockOwnerString' (if an owner string is available),
        'xcmGenLockOwnerSubtree' (if not 'zeroDotZero'), and
        'xcmGenLockOwnerTimer' (to a suitable value)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenLockOwnerString', or
        'xcmGenLockOwnerSubtree'
        AFTER row creation (these objects are 'write-once').

        Usage:  This owner subtree represents an XCMI enhancement to
        the traditional advisory lock mechanism used in existing IETF
        MIB modules (eg, RFC 1573)."
    REFERENCE "
        See:    'xcmGenLockRowStatus', 'xcmGenLockOwnerString', and
                'xcmGenLockOwnerTimer'."
    DEFVAL      { zeroDotZero }   -- no owner subtree
    ::= { xcmGenLockEntry 4 }

xcmGenLockOwnerTimer OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "seconds"
    MAX-ACCESS  read-create


    STATUS      current
    DESCRIPTION "
        The advisory lock owner lock time remaining for the current
        'owner' of this advisory lock (in seconds).

        Usage:  A conforming management agent MAY choose to reduce the
        'credit' granted as a result of a set to this owner lock timer,
        at its sole discretion (see 'xcmGenLockSupportMaxTimer' object).

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenLockRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenLockOwnerString' (if an owner string is available),
        'xcmGenLockOwnerSubtree' (if not 'zeroDotZero'), and
        'xcmGenLockOwnerTimer' (to a suitable value)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenLockOwnerString', or
        'xcmGenLockOwnerSubtree'
        AFTER row creation (these objects are 'write-once').

        Usage:  A conforming management station MAY choose to increase
        or reduce the value of this owner lock timer, subsequent to
        initial row creation, for example to 'refresh' the timer for an
        additional time interval.

        Usage:  A conforming management station SHALL NOT reduce the
        value of this owner lock timer to zero (as an indirect 'destroy'
        operation).  A conforming management agent SHALL reject
        any such set to zero of this owner lock timer.

        Usage:  This owner lock timer represents an XCMI enhancement to
        the traditional advisory lock mechanism used in existing IETF
        MIB modules (eg, RFC 1573).  It provides reliable information to
        a management station (or management agent) contending for this
        advisory lock, about the MAXIMUM time until this advisory lock
        lock will be released (either by explicit action of the owner of
        the advisory lock or by 'timeout' handling of the management
        agent itself)."
    REFERENCE "
        See:    'xcmGenLockRowStatus', 'xcmGenLockOwnerSubtree', and
        'xcmGenLockOwnerSubtree'."
--  DEFVAL intentionally omitted - managers or agents SHALL initialize
    ::= { xcmGenLockEntry 5 }

--
-- General Reconf Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which support tree structured
-- atomic reconfiguration, and optional for all other systems.
--


-- Implementation of this group is conditionally mandatory,
-- however it SHALL be implemented by systems which
-- implement the 'xcmGenOptionGroup'.
--
-- Usage:  Systems which implement the 'xcmGenReconfGroup'
-- and 'xcmGenOptionGroup' SHALL also implement
-- the 'xcmGenLockGroup' (for advisory contention locks).

xcmGenReconf                OBJECT IDENTIFIER ::= { xcmGeneralMIB 9 }

--
--          General Reconf Simple Objects
--

xcmGenReconfSimple OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenReconf 1 }

xcmGenReconfActivations OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of SUCCESSFUL 'activations' of reconfiguration for
        this host system:  invoked by SUCCESSFUL writes to the
        'xcmGenReconfOptionState' reconfiguration invocation object of
        'activateFor[ImmediateChange|RebootChange|ImmediateReboot]';
        and followed by SUCCESSFUL completions of 'activation' (without
        errors reports in 'xcmGenReconfError[Index|Status]').

        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:    'xcmGenReconfOptionState'"
    ::= { xcmGenReconfSimple 1 }

xcmGenReconfEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenReconfTable'."
    ::= { xcmGenReconfSimple 2 }

xcmGenReconfSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported


        for the 'xcmGenReconfTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenReconfSimple 3 }

--
--          General Reconf Table Objects
--

xcmGenReconfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenReconfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table containing information on a 'reconfiguration request',
        for use in atomic reconfiguration of this host system.

        Usage:  A conforming management station (or management agent)
        SHALL lock 'xcmGenReconfTable' and 'xcmGenOptionTable'
        before attempting to perform any 'reconfiguration request' on a
        host system (via the 'xcmGenLockTable')."
    ::= { xcmGenReconf 2 }

xcmGenReconfEntry OBJECT-TYPE
    SYNTAX      XcmGenReconfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry containing information on a 'reconfiguration request',
        for use in atomic reconfiguration of this host system.

        Usage:  The ONLY valid row in the 'xcmGenReconfTable' for each
        supported device ('hrDeviceIndex') SHALL have an
        'xcmGenReconfIndex' of one ('1')."
    INDEX       { hrDeviceIndex,
                  xcmGenReconfIndex }
    ::= { xcmGenReconfTable 1 }

XcmGenReconfEntry ::= SEQUENCE {
        --  General Reconf Info
        xcmGenReconfIndex               Ordinal32,
        xcmGenReconfRowStatus           RowStatus,
        xcmGenReconfOptionIndex         Cardinal32,
        xcmGenReconfOptionState         XcmGenReconfOptionState,
        xcmGenReconfErrorIndex          Cardinal32,
        xcmGenReconfErrorStatus         XcmGenSNMPv2ErrorStatus
    }

--
--          General Reconf Info
--

xcmGenReconfIndex 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 'xcmGenReconfTable'.

        Usage:  The ONLY valid row in the 'xcmGenReconfTable' for each
        supported device ('hrDeviceIndex') SHALL have an
        'xcmGenReconfIndex' of one ('1')."
    REFERENCE "
        See:    System, Device, and Software Installed/Running groups
                in the IETF Host Resources MIB (RFC 2790).
        See:    Device Info, Device Mgmt, and Device Detail groups
                in the XCMI Host Resources Ext MIB."
    ::= { xcmGenReconfEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenReconfRowStatus' row status object; and
        SHALL clear the 'xcmGenReconfGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenReconfRowStatus' row status object; and
        SHALL set the 'xcmGenReconfGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming management agents SHALL support
        'active(1)' and SHOULD support 'notInService(2)' or 'destroy(6)'
        (to 'release' the 'reconfiguration request').

        Usage:  Conforming management agents NEED NOT support
        'createAndGo(4)', and SHOULD NOT support 'notReady(3)' or
        'createAndWait(5)'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'xcmGenReconfSupportMaxCount' (limit object).
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."


    ::= { xcmGenReconfEntry 2 }

xcmGenReconfOptionIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of 'xcmGenOptionIndex' corresponding to the first
        pending reconfiguration option (in 'xcmGenOptionTable'), or
        zero if there are no pending reconfiguration options for this
        host system.

        Usage:  This 'chain' represents pending reconfiguration
        options of this host system."
    REFERENCE "
        See:    'xcmGenReconfActiveOptionIndex'"
    DEFVAL      { 0 }                   -- no entries
    ::= { xcmGenReconfEntry 3 }

xcmGenReconfOptionState OBJECT-TYPE
    SYNTAX      XcmGenReconfOptionState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The processing state of ALL pending reconfiguration options of
        this host system.

        A write to this object by an (authorized) management station
        invokes a request for validation (or activation) of ALL pending
        reconfiguration options of this host system.
        A read of this object returns 'idle', 'validateInProgress', or
        'activateInProgress' to report the processing state of the last
        'validate...' or 'activate...' request.
        It is mandatory that a conforming management agent ensure that,
        at system initialization, this object SHALL be set to a
        value of 'idle'.

        Usage:  Conforming management agents SHALL 'reject' any
        SNMP Set-Request to 'xcmGenReconfOptionState'
        while another management operation is already in progress
        (ie, while 'xcmGenReconfOptionState' is NOT equal to 'idle')
        with 'badValue' (SNMPv1) or 'inconsistentValue' (SNMPv2/v3).

        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 option state object."
    REFERENCE "
        See:    'xcmGenReconfError[Index|Status]'
        See:    'XcmGenReconfOptionState', in the companion XCMI
        CC TC, for details of 'validation' and 'activation' operations.
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    DEFVAL      { idle }                -- no reconfiguration processing
    ::= { xcmGenReconfEntry 4 }


xcmGenReconfErrorIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The value of 'xcmGenOptionIndex' corresponding to the first
        pending reconfiguration option (in 'xcmGenOptionTable') which
        was found to be 'in error' (during 'validate' or 'activate'
        reconfiguration processing for this host system), or zero
        if no error was found (eg, consistency, range, etc)."
    REFERENCE "
        See:    'xcmGenReconfErrorStatus'"
    DEFVAL      { 0 }                   -- no reconfiguration error
    ::= { xcmGenReconfEntry 5 }

xcmGenReconfErrorStatus OBJECT-TYPE
    SYNTAX      XcmGenSNMPv2ErrorStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The reconfiguration error status corresponding to the first
        pending reconfiguration option (in 'xcmGenOptionTable') which
        was found to be 'in error' (during 'validate' or 'activate'
        reconfiguration processing for this host system), or 'noError'
        if no error was found (eg, consistency, range, etc)."
    REFERENCE "
        See:    'xcmGenReconfErrorIndex'"
--  DEFVAL      { noError }             -  no reconfiguration error
    ::= { xcmGenReconfEntry 6 }

--
-- General Option Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which support tree structured
-- atomic reconfiguration, and optional for all other systems.
--
-- Implementation of this group is conditionally mandatory,
-- however it SHALL be implemented by systems which
-- implement the 'xcmGenReconfGroup'.
--
-- Usage:  Systems which implement the 'xcmGenReconfGroup'
-- and 'xcmGenOptionGroup' SHALL also implement
-- the 'xcmGenLockGroup' (for advisory contention locks).

xcmGenOption                OBJECT IDENTIFIER ::= { xcmGeneralMIB 10 }

--
--          General Option Simple Objects
--

xcmGenOptionSimple OBJECT-IDENTITY
    STATUS      current                 -- restricted use for operations


    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenOption 1 }

--
--          General Option Operations
--
--          Insert:     All 'family' options SHALL be 'added'
--                      to current single- or multi-valued options
--
--          Delete:     All 'family' options SHALL be 'removed'
--                      from current single- or multi-valued options
--
--          Replace:    All 'family' options SHALL 'replace'
--                      any current single- or multi-valued options
--
--          Note:       The 'replace' operation is the DEFAULT and need
--                      NOT be specified - it is defined for clarity

xcmGenOptionOperation
    OBJECT IDENTIFIER ::= { xcmGenOptionSimple 1 }
    -- integerTruthValue (SHALL be 'true')

xcmGenOptionOperationInsert
    OBJECT IDENTIFIER ::= { xcmGenOptionOperation 1 }
    -- integerTruthValue (SHALL be 'true')
xcmGenOptionOperationDelete
    OBJECT IDENTIFIER ::= { xcmGenOptionOperation 2 }
    -- integerTruthValue (SHALL be 'true')
xcmGenOptionOperationReplace
    OBJECT IDENTIFIER ::= { xcmGenOptionOperation 3 }
    -- integerTruthValue (SHALL be 'true')

xcmGenOptionEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenOptionTable'."
    ::= { xcmGenOptionSimple 2 }

xcmGenOptionSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenOptionTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenOptionSimple 3 }


--
--          General Option Table Objects
--

xcmGenOptionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table containing information on reconfiguration options,
        for use in atomic reconfiguration of this host system.

        Usage:  A conforming management station (or management agent)
        SHALL lock 'xcmGenReconfTable' and 'xcmGenOptionTable'
        before attempting to perform any 'reconfiguration request' on a
        host system (via the 'xcmGenLockTable').

        Note:   The 'xcmGenOptionTable' is indexed by 'hrDeviceIndex',
        so the 'hrDeviceIndex' element of a columnar object instance ID
        (ie, fully specified object identifier) NEED NOT be specified in
        'xcmGenOptionTypeOID'.  To reconfigure objects indexed by
        several devices in 'hrDeviceTable' of the IETF Host Resources
        MIB (RFC 2790), a conforming management station SHALL use
        several rows in 'xcmGenReconfTable' and several trees of objects
        in 'xcmGenOptionTable' with appropriate 'hrDeviceIndex' values.
        To reconfigure objects which are actually NOT indexed by
        'hrDeviceIndex', it is RECOMMENDED that rows be used in
        'xcmGenOptionTable' which are indexed by 'hrDeviceIndex' for an
        'hrDeviceType' of 'hrDeviceUnknown'."
    ::= { xcmGenOption 2 }

xcmGenOptionEntry OBJECT-TYPE
    SYNTAX      XcmGenOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry containing information on a reconfiguration option,
        for use in atomic reconfiguration of this host system."
    INDEX       { hrDeviceIndex,
                  xcmGenOptionIndex }
    ::= { xcmGenOptionTable 1 }

XcmGenOptionEntry ::= SEQUENCE {
        --  General Option Info
        xcmGenOptionIndex               Ordinal32,
        xcmGenOptionRowStatus           RowStatus,
        xcmGenOptionTypeOID             OBJECT IDENTIFIER,
        xcmGenOptionValueSyntax         XcmGenOptionValueSyntax,
        xcmGenOptionValueInteger        Integer32,
        xcmGenOptionValueOID            OBJECT IDENTIFIER,
        xcmGenOptionValueString         OCTET STRING,
        xcmGenOptionValueLocalization   Cardinal32,
        xcmGenOptionValueCodedCharSet   IANACharset,


        --  General Option Common Cross References
        xcmGenOptionNextIndex           Cardinal32,
        xcmGenOptionPreviousIndex       Cardinal32,
        xcmGenOptionFamilyIndex         Cardinal32
    }

--
--          General Option Info
--

xcmGenOptionIndex 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 'xcmGenOptionTable'."
    ::= { xcmGenOptionEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenOptionRowStatus' row status object; and
        SHALL clear the 'xcmGenOptionGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenOptionRowStatus' row status object; and
        SHALL set the 'xcmGenOptionGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming management agents SHALL support
        'active(1)' and SHOULD support 'notInService(2)' or 'destroy(6)'
        (to 'release' the 'reconfiguration option').

        Usage:  Conforming management agents NEED NOT support
        'createAndGo(4)', and SHOULD NOT support 'notReady(3)' or
        'createAndWait(5)'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'xcmGenOptionSupportMaxCount' (limit object).
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).


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

xcmGenOptionTypeOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        An unambiguous reconfiguration option type,
        used by system administrators and end users to identify
        this reconfiguration option.

        Usage:  Since this reconfiguration option type 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 option type
    ::= { xcmGenOptionEntry 3 }

xcmGenOptionValueSyntax OBJECT-TYPE
    SYNTAX      XcmGenOptionValueSyntax
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        A reconfiguration option value syntax,
        used by system administrators and end users to specify
        the correct value syntax for this reconfiguration option.

        Usage:  This reconfiguration option value syntax is used to
        select which of the following three objects SHALL be used to
        contain the value of this reconfiguration option."
    DEFVAL      { unknown }             -- unknown option value syntax
    ::= { xcmGenOptionEntry 4 }

xcmGenOptionValueInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        A reconfiguration option value integer,
        used by system administrators and end users to specify
        the current value for a reconfiguration option
        with a base value syntax of 'INTEGER'.

        Note: This object has the type 'Integer32', rather than
        'INTEGER'.  This a work-around to compiler warnings which occur
        when 'INTEGER' is used without a range specification.  And if
        we had range qualified, it would have been identical to the
        SNMP 'Integer32' type.  In SNMPv2, only the 'Counter64 is an
        integer type wider 32 bits, and for backward compatibility we
        depricated the use of Counter64."
    REFERENCE "
        See:    'xcmGenOptionValueSyntax' and 'xcmGenOptionTypeOID'"


    DEFVAL      { 0 }                   -- no option value integer
    ::= { xcmGenOptionEntry 5 }

xcmGenOptionValueOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        A reconfiguration option value OID (object identifier),
        used by system administrators and end users to specify
        the current value for a reconfiguration option
        with a base value syntax of 'OBJECT IDENTIFIER'."
    REFERENCE "
        See:    'xcmGenOptionValueSyntax' and 'xcmGenOptionTypeOID'"
    DEFVAL      { zeroDotZero }   -- no option value OID
    ::= { xcmGenOptionEntry 6 }

xcmGenOptionValueString OBJECT-TYPE
--  SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
--              (if 'xcmGenOptionValueLocalization' is zero)
--  SYNTAX      XcmNamedLocaleUtf8String (SIZE (0..255))
--              (if 'xcmGenOptionValueLocalization' is non-zero)
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reconfiguration option value string,
        used by system administrators and end users to specify
        the current value for a reconfiguration option
        with a base value syntax of 'OCTET STRING'.

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'
        (if 'xcmGenOptionValueLocalization' is zero)
        or 'XcmNamedLocaleUtf8String'
        (if 'xcmGenOptionValueLocalization' is non-zero)."
    REFERENCE
        "See:   'xcmGenOptionValueSyntax' and 'xcmGenOptionTypeOID'
        See:    'xcmGenFixedLocalizationIndex' in XCMI General MIB."
    DEFVAL      { ''H }                 -- no option value string
    ::= { xcmGenOptionEntry 7 }

xcmGenOptionValueLocalization OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reconfiguration option value localization,
        used by system administrators and end users to specify
        the ALTERNATE localization for a reconfiguration option
        (different from 'xcmGenFixedLocalizationIndex'), so that
        'xcmGenOptionValueString' becomes 'XcmNamedLocaleUtf8String'.

        Usage:  For a reconfiguration option string to which POSIX-style
        localization (territory, language, character set) is applicable


        (non-keyword) this object MAY contain a suitable index value for
        'xcmGenLocalizationIndex' from the XCMI General MIB, or zero to
        indicate 'none'."
    REFERENCE
        "See:   'xcmGenOptionValueSyntax' and 'xcmGenOptionTypeOID'.
        See:    'xcmGenFixedLocalizationIndex' in XCMI General MIB."
    DEFVAL      { 0 }                   -- no option value localization
    ::= { xcmGenOptionEntry 8 }

xcmGenOptionValueCodedCharSet OBJECT-TYPE
    SYNTAX      IANACharset
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A reconfiguration option value character set,
        used by system administrators and end users to specify
        the ALTERNATE character set for a reconfiguration option
        (different from 'xcmGenFixedLocalizationIndex'), so that
        'xcmGenOptionValueString' is unambiguous.

        Usage:  XCMI conforming management agents SHALL ONLY allow
        Sets of this object to 'other' (none) or 'utf-8' (Unicode/
        ISO-10646 in the UTF-8 encoding, a proper superset of US-ASCII),
        for consistency with the Xerox Unicode Coherence Standard."
    REFERENCE
        "See:   'xcmGenOptionValueSyntax' and 'xcmGenOptionTypeOID'.
        See:    'IANACharset' in IETF Printer MIB (RFC 1759).
        See:    'xcmGenCodedCharSetTable' in XCMI General MIB."
    DEFVAL      { other }               -- no option value character set
    ::= { xcmGenOptionEntry 9 }

--
--          General Option Common Cross References
--

xcmGenOptionNextIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of 'xcmGenOptionIndex' corresponding to the next
        'chained' conceptual row in the 'xcmGenOptionTable', or zero
        if this is the last associated conceptual row in a particular
        vertical 'chain' within a given set.

        Usage:  Generally, reconfiguration options (of similar or unlike
        type) are 'chained' vertically via '...[Next|Previous]Index'.
        But, in the case where particular communications options MUST
        be 'tightly coupled', they SHOULD be 'shelved' horizontally via
        '...[Family|Previous]Index' (eg, an IP address and an IP subnet
        mask)."
    DEFVAL      { 0 }                   -- no entry
    ::= { xcmGenOptionEntry 10 }


xcmGenOptionPreviousIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of 'xcmGenOptionIndex' corresponding to a previous
        associated conceptual row in the 'xcmGenOptionTable', or zero
        if this is the first associated conceptual row in a given set.

        Usage:  This object provides common 'backward' linkage for BOTH
        the 'xcmGenOptionNextIndex' and 'xcmGenOptionFamilyIndex'
        linkage objects.  A previous conceptual row MAY 'forward'
        reference this conceptual row via either '...NextIndex' or
        '...FamilyIndex' - ie, a given conceptual row MAY 'forward'
        reference EXACTLY zero, one, or two 'later' conceptual rows."
    DEFVAL      { 0 }                   -- no entry
    ::= { xcmGenOptionEntry 11 }

xcmGenOptionFamilyIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of 'xcmGenOptionIndex' corresponding to a next
        'family' conceptual row in the 'xcmGenOptionTable', or zero
        if this conceptual row has no associated 'family' members.

        Usage:  Generally, reconfiguration options (of similar or unlike
        type) are 'chained' vertically via '...[Next|Previous]Index'.
        But, in the case where particular reconfiguration options MUST
        be 'tightly coupled', they SHOULD be 'shelved' horizontally via
        '...FamilyIndex' (eg, an IP address and an IP subnet mask)."
    DEFVAL      { 0 }                   -- no entry
    ::= { xcmGenOptionEntry 12 }

--
-- Client Data Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which support 'client data' for remote
-- management stations, and optional for all other systems.
--
-- Usage:  Conforming implementations SHALL preserve active
-- 'client data' objects across management agent power cycles.
--

xcmGenClientData            OBJECT IDENTIFIER ::= { xcmGeneralMIB 11 }

--
--          Client Data Simple Objects
--

xcmGenClientDataSimple OBJECT-IDENTITY


    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenClientData 1 }

xcmGenClientDataEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenClientDataTable'."
    ::= { xcmGenClientDataSimple 1 }

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

        Usage:  This last entry index explicitly bounds the valid range
        of 'xcmGenClientDataIndex'."
    ::= { xcmGenClientDataSimple 2 }

xcmGenClientDataSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenClientDataTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenClientDataSimple 3 }

--
--          Client Data Table Objects
--

xcmGenClientDataTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenClientDataEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table containing 'client data' objects for use by conforming
        management stations/agents, particularly during installation
        of this host system.

        Usage:  For managed systems which support static rows (ie,
        'read-write'), a management station (or management agent) SHALL


        search 'xcmGenClientDataRowStatus', to determine the
        appropriate value of 'xcmGenClientDataIndex' to use when
        allocating an existing row in the 'xcmGenClientDataTable'.

        Usage:  For managed systems which support dynamic rows (ie,
        'read-create'), a management station (or management agent) SHALL
        examine 'xcmGenClientDataLastIndex', to determine the
        appropriate value of 'xcmGenClientDataIndex' to use when
        creating a new row in the 'xcmGenClientDataTable'.

        Usage:  Throughout this specification, the term 'stable storage'
        refers to storage which is reliable over long durations (years)
        and is NOT destroyed by host system reboot (eg, battery-backed
        DRAM is 'stable storage' - while simple DRAM is NOT 'stable
        storage').  Examples of valid 'stable storage' include:  NVRAM,
        hard disk, EEPROM, etc.

        Usage:  Conforming implementations SHALL preserve active
        'client data' objects across management agent power cycles,
        and SHALL implement one of the following two methods:
        1)  The agent SHALL store 'client data' objects directly in
            'stable storage'; or
        2)  The agent SHALL automatically checkpoint all active 'client
            data' objects to 'stable storage' with reasonable frequency
            (either due to a write to some 'client data' object, or upon
            expiration of a product-specific timeout).

        Usage:  Conforming implementations MAY (optionally) support
        one of the following two 'checkpoint protocols':
        1)  A client sends a 'Set' of 'xcmGenClientDataRowStatus' to
            'active(1)', to request that a 'checkpoint' be performed;
        2a) An agent which supports 'rapid checkpoint',
            completes the checkpoint to 'stable storage', and
            sends a 'SetResponse' with 'noError(0)';
            <or>
        2b) An agent which supports 'delayed checkpoint',
            changes 'xcmGenClientDataRowStatus' to 'notInService(2)',
            sends a 'SetResponse' with 'noError(0)',
            completes the checkpoint to 'stable storage', and later
            changes 'xcmGenClientDataRowStatus' back to 'active(1)'."
    ::= { xcmGenClientData 2 }

xcmGenClientDataEntry OBJECT-TYPE
    SYNTAX      XcmGenClientDataEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry containing 'client data' objects for use by conforming
        management stations/agents, particularly during installation
        of this host system."
    INDEX       { xcmGenClientDataIndex }
    ::= { xcmGenClientDataTable 1 }

XcmGenClientDataEntry ::= SEQUENCE {


        --  General Client Data Info
        xcmGenClientDataIndex           Ordinal32,
        xcmGenClientDataRowStatus       RowStatus,
        xcmGenClientDataRequestDate     DateAndTime,
        xcmGenClientDataRequestID       XcmGlobalUniqueID,
        xcmGenClientDataProductID       ProductID,
        xcmGenClientDataLength          Cardinal32,
        xcmGenClientDataString          OCTET STRING
    }

--
--          General Client Data Info
--

xcmGenClientDataIndex 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 'xcmGenClientDataTable'.

        Usage:  Conforming implementations which only support a single,
        statically allocated row, SHALL allocate that row with an
        'xcmGenClientDataIndex' value of one (1)."
    ::= { xcmGenClientDataEntry 1 }

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

        Usage:  Conforming implementations which support static rows
        SHALL support 'active' and 'notInService' writes to this
        'xcmGenClientDataRowStatus' row status object; and
        SHALL clear the 'xcmGenClientDataGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenClientDataRowStatus' row status object; and
        SHALL set the 'xcmGenClientDataGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

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

        Usage:  Conforming implementations MAY support a single, static
        conceptual row, but SHALL allocate that row with an
        'xcmGenClientDataIndex' value of one ('1').


        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenClientDataRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenClientDataRequestID' (to a suitable client global ID),
        'xcmGenClientDataProductID' (to a suitable client product ID),
        'xcmGenClientDataLength' (to a suitable client data length)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenClientDataRequestID',
        'xcmGenClientDataProductID', or
        'xcmGenClientDataLength'
        AFTER row creation (these objects are 'write-once').

        Usage:  To explicitly release this conceptual row, the client
        data owner SHALL set 'xcmGenClientDataRowStatus' to
        'notInService(2)' (for static rows) or 'destroy(6)' (for dynamic
        rows).

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'xcmGenClientDataSupportMaxCount' (limit object).
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenClientDataEntry 2 }

xcmGenClientDataRequestDate OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The client data request date which uniquely timestamps the
        creation of this conceptual row in the 'xcmGenClientDataTable'.

        Usage:  This request date SHALL be set (to a suitable
        value) by conforming management agents during creation of each
        conceptual row in the 'xcmGenClientDataTable'.

        Usage:  Conforming implementations which have a source of time,
        SHALL set a meaningful value in this object.  ONLY those
        implementations which do NOT have a source of time, SHALL return
        the following DEFVAL."
    REFERENCE "
        See:    'xcmGenClientDataRowStatus'"
    DEFVAL      { '0000000000000000'H } -- no client data request date
    ::= { xcmGenClientDataEntry 3 }

xcmGenClientDataRequestID OBJECT-TYPE


    SYNTAX      XcmGlobalUniqueID
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        The client data owner request ID which uniquely identifies the
        creation of this conceptual row in the 'xcmGenClientDataTable'.

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenClientDataRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenClientDataRequestID' (to a suitable client global ID),
        'xcmGenClientDataProductID' (to a suitable client product ID),
        'xcmGenClientDataLength' (to a suitable client data length)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenClientDataRequestID',
        'xcmGenClientDataProductID', or
        'xcmGenClientDataLength'
        AFTER row creation (these objects are 'write-once')."
    REFERENCE "
        See:    'xcmGenClientDataRowStatus'"
    DEFVAL      { ''H }                 -- no client data request ID
    ::= { xcmGenClientDataEntry 4 }

xcmGenClientDataProductID OBJECT-TYPE
    SYNTAX      ProductID
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        The client data owner product ID corresponding to the current
        'owner' of this client data.

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenClientDataRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenClientDataRequestID' (to a suitable client global ID),
        'xcmGenClientDataProductID' (to a suitable client product ID),
        'xcmGenClientDataLength' (to a suitable client data length)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenClientDataRequestID',
        'xcmGenClientDataProductID', or
        'xcmGenClientDataLength'
        AFTER row creation (these objects are 'write-once')."
    REFERENCE "
        See:    'xcmGenClientDataRowStatus'
        See:    'ProductID' in IETF Host Resources MIB (RFC 2790)."
    DEFVAL      { zeroDotZero }   -- no client data product ID
    ::= { xcmGenClientDataEntry 5 }


xcmGenClientDataLength OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        The client data length requested/granted for this
        conceptual row in the 'xcmGenClientDataTable'.

        Usage:  Conforming implementations NEED NOT support maximum
        client data length greater than 1 octet.

        Usage:  Conforming management stations, when they first create
        or activate rows in this table, SHALL set
        'xcmGenClientDataRowStatus' to 'active(1)' (for static rows) or
        'createAndGo(4)' (for dynamic rows),
        'xcmGenClientDataRequestID' (to a suitable client global ID),
        'xcmGenClientDataProductID' (to a suitable client product ID),
        'xcmGenClientDataLength' (to a suitable client data length)
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenClientDataRequestID',
        'xcmGenClientDataProductID', or
        'xcmGenClientDataLength'
        AFTER row creation (these objects are 'write-once')."
    REFERENCE "
        See:    'xcmGenClientDataRowStatus'"
    DEFVAL      { 0 }                   -- no client data length
    ::= { xcmGenClientDataEntry 6 }

xcmGenClientDataString OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The client data string currently set into this conceptual
        row in the 'xcmGenClientDataTable'.

        Usage:  Conforming implementations NEED NOT support maximum
        client data length greater than 1 octet.

        Usage:  This data string NEED NOT be set (to a suitable
        value) by the client data owner, in the same PDU which creates
        each conceptual row in the 'xcmGenClientDataTable'."
    REFERENCE "
        See:    'xcmGenClientDataRowStatus'"
    DEFVAL      { ''H }                 -- no client data string
    ::= { xcmGenClientDataEntry 7 }

-- Reserved (deleted arc)   OBJECT IDENTIFIER ::= { xcmGeneralMIB 12 }


--
-- Trap Client Group (Mandatory)
--
-- Implementation of this group is mandatory for all systems.
--
-- Note:   Systems implementing the Trap Client group
-- SHALL implement the Trap View group.

xcmGenTrapClient            OBJECT IDENTIFIER ::= { xcmGeneralMIB 13 }

--
--          Trap Client Simple Objects
--

xcmGenTrapClientSimple OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenTrapClient 1 }

xcmGenTrapClientEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenTrapClientTable'."
    ::= { xcmGenTrapClientSimple 1 }

xcmGenTrapClientSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenTrapClientTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenTrapClientSimple 2 }

--
--          Trap Client Table Objects
--

xcmGenTrapClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenTrapClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of SNMP trap clients (management stations or proxies)
        registered for trap delivery from this host system.

        Usage:  SNMP version/transport independent trap registration.


        Usage:  Conforming management stations SHALL create at
        least one subordinate row in the 'xcmGenTrapViewTable' for each
        trap client that they register in the 'xcmGenTrapClientTable'.
        Conforming management agents SHOULD interpret a dangling row in
        the 'xcmGenTrapClientTable' (no children) as 'NO traps in view'
        (existing implementations of both clients and devices are known
        to consider dangling rows invalid).  To register for all device
        traps, use a single view of 'iso(1).org(3).dod(6).internet(1)'.

        Usage:  Conforming management agents SHALL delete any
        rows in the 'xcmGenTrapViewTable' which were subordinate to a
        deleted row in the 'xcmGenTrapClientTable'."
    REFERENCE "
        See:    Party group in Historic SNMPv2 Party MIB (RFC 1447)."
    ::= { xcmGenTrapClient 2 }

xcmGenTrapClientEntry OBJECT-TYPE
    SYNTAX      XcmGenTrapClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry for an SNMP trap client (management station or proxy)
        registered for trap delivery from this host system."
    INDEX       { xcmGenTrapClientSNMPDomain,
                  xcmGenTrapClientSNMPAddress }
    ::= { xcmGenTrapClientTable 1 }

XcmGenTrapClientEntry ::= SEQUENCE {
        --  Trap Client Info
        xcmGenTrapClientSNMPDomain      XcmGenSNMPDomain,
        xcmGenTrapClientSNMPAddress     OCTET STRING,
        xcmGenTrapClientRowStatus       RowStatus,
        xcmGenTrapClientIndex           Ordinal32,
        xcmGenTrapClientRowPersistence  XcmGenRowPersistence,
        xcmGenTrapClientSNMPVersion     XcmGenSNMPVersion,
        --  Trap Client Community Info
        xcmGenTrapClientSNMPCommunity   OCTET STRING
    }

xcmGenTrapClientSNMPDomain OBJECT-TYPE
    SYNTAX      XcmGenSNMPDomain
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This object is used to specify the transport domain (address
        and name space) which SHALL be used by this management agent
        for SNMP protocol traffic (transmission of SNMP traps),
        in the version specified by 'xcmGenTrapClientSNMPVersion',
        to the trap client (management station or proxy).

        This object is also used to allow the 'xcmGenTrapClientTable' to
        be used with any URI scheme (e.g., 'mailto:') for notifications,
        by specifying 'uriNotifyDomain'."


    REFERENCE "
        See:    'xcmGenBaseSNMP[Domain|Version]Support'.
        See:    'XcmGenSNMPDomain' textual convention in the
                XCMI General TC.
        See:    'snmp...Domain' object identifiers in the
                IETF SNMPv2 Transport Mappings (RFC 1449/1906)."
    ::= { xcmGenTrapClientEntry 1 }

xcmGenTrapClientSNMPAddress OBJECT-TYPE
--  SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This object is used to specify the transport address (below
        SNMP) which SHALL be used by this management agent to deliver
        SNMP traps to the trap client (management station or proxy).

        Usage:  This transport address usually consists of an underlying
        network layer address with a suffixed transport selector.

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'."
    REFERENCE "
        See:    'xcmGenBaseSNMP[Domain|Version]Support'.
        See:    'SnmpUDPAddress' (IP addr, UDP port - Internet),
                'SNMPOSIAddress' (len, NSAP addr, TSelector - OSI),
                'SNMPNBPAddress' (object, type, zone - AppleTalk), and
                'SNMPIPXAddress' (net no, MAC addr, socket - NetWare)
                textual conventions in the
                IETF SNMPv2 Transport Mappings (RFC 1449/1906).
        See:    'XcmSNMPNetbiosAddress' (MAC addr, port - NetBIOS)
                textual conventions in the
                XCMI Comms Config TC.
        See:    'XcmSnmpIPHostnameAddress' textual convention in the
                XCMI Comms Config TC."
    ::= { xcmGenTrapClientEntry 2 }

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

        Usage:  It is conformant to implement this object as read-only,
        however, conforming management agents are STRONGLY RECOMMENDED
        to support at least read-write access to this object.

        Usage:  Conforming management stations, when they first create
        new rows in this table, SHALL set
        'xcmGenTrapClientRowStatus' (to 'createAndGo'),
        'xcmGenTrapClientRowPersistence' (if not 'volatile'),
        'xcmGenTrapClientSNMPVersion' (if not 'snmpV1Community'), and


        'xcmGenTrapClientSNMPCommunity' (if not the current managed
        system default in 'xcmGenBaseSNMPTrapCommunity')
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenTrapClientRowPersistence',
        'xcmGenTrapClientSNMPVersion', or
        'xcmGenTrapClientSNMPCommunity'
        AFTER row creation (these objects are 'write-once').

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenTrapClientRowStatus' row status object; and
        SHALL set the 'xcmGenTrapClientGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming management agents SHOULD NOT support
        'notInService(2)', 'notReady(3)', or 'createAndWait(5)'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'xcmGenTrapClientSupportMaxCount' (limit object).
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenTrapClientEntry 3 }

xcmGenTrapClientIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        A unique value ASSIGNED by this host system to identify this
        conceptual row in the 'xcmGenTrapClientTable'.

        This object is used to specify the unique client index which was
        chosen FOR the trap client registered in this conceptual row
        (management station or proxy) at row creation and which SHALL be
        used by the trap client to create any associated conceptual
        rows in the 'xcmGenTrapViewTable'.

        Usage:  Conforming management agents NEED NOT preserve the
        value of this object across power cycles for 'nonvolatile' rows
        in the 'xcmGenTrapClientTable', but SHALL preserve the
        configured associations with (any) subordinate rows in the
        'xcmGenTrapViewTable'."
    ::= { xcmGenTrapClientEntry 4 }

xcmGenTrapClientRowPersistence OBJECT-TYPE
    SYNTAX      XcmGenRowPersistence
    MAX-ACCESS  read-create             -- 'write-once' (see below)


    STATUS      current
    DESCRIPTION "
        This object is used to specify the persistence of this
        conceptual row in the 'xcmGenTrapClientTable' (and associated
        conceptual rows in the 'xcmGenTrapViewTable').

        Usage:  It is conformant to implement this object as read-only,
        however, conforming management agents are STRONGLY RECOMMENDED
        to support at least read-write access to this object.

        Usage:  Conforming management stations, when they first create
        new rows in this table, SHALL set
        'xcmGenTrapClientRowStatus' (to 'createAndGo'),
        'xcmGenTrapClientRowPersistence' (if not 'volatile'),
        'xcmGenTrapClientSNMPVersion' (if not 'snmpV1Community'), and
        'xcmGenTrapClientSNMPCommunity' (if not the current managed
        system default in 'xcmGenBaseSNMPTrapCommunity')
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenTrapClientRowPersistence',
        'xcmGenTrapClientSNMPVersion', or
        'xcmGenTrapClientSNMPCommunity'
        AFTER row creation (these objects are 'write-once').

        Usage:  Dynamically created rows SHALL be given 'volatile'
        or 'nonvolatile' persistence.

        Usage:  Conforming management agents SHALL support
        'volatile' (lost across power cycles).

        Usage:  Conforming management agents are STRONGLY RECOMMENDED to
        support 'nonvolatile' (preserved across power cycles),
        but NEED NOT support any other levels of persistence."
    DEFVAL      { volatile }            -- lost across power cycles
    ::= { xcmGenTrapClientEntry 5 }

xcmGenTrapClientSNMPVersion OBJECT-TYPE
    SYNTAX      XcmGenSNMPVersion
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        This object is used to specify the SNMP version (RFC 1157, RFC
        1905, etc) which SHALL be used by this management agent
        for SNMP protocol traffic (transmission of SNMP traps),
        in the domain specified by 'xcmGenTrapClientSNMPDomain',
        to the trap client (management station or proxy).

        Usage:  Conforming management stations, when they first create
        new rows in this table, SHALL set
        'xcmGenTrapClientRowStatus' (to 'createAndGo'),
        'xcmGenTrapClientRowPersistence' (if not 'volatile'),
        'xcmGenTrapClientSNMPVersion' (if not 'snmpV1Community'), and
        'xcmGenTrapClientSNMPCommunity' (if not the current managed


        system default in 'xcmGenBaseSNMPTrapCommunity')
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenTrapClientRowPersistence',
        'xcmGenTrapClientSNMPVersion', or
        'xcmGenTrapClientSNMPCommunity'
        AFTER row creation (these objects are 'write-once')."
    REFERENCE "
        See:    'xcmGenBaseSNMP[Domain|Version]Support'."
    DEFVAL      { snmpV1Community }     -- SNMPv1 Standard (RFC 1157)
    ::= { xcmGenTrapClientEntry 6 }

xcmGenTrapClientSNMPCommunity OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..64))
    MAX-ACCESS  read-create             -- 'write-once' (see below)
    STATUS      current
    DESCRIPTION "
        This object is used to specify the 'trap community name' used
        in all SNMPv1c and SNMPv2c 'Inform|Trap' PDUs
        which SHALL be generated by this SNMP management agent,
        in the domain specified by 'xcmGenTrapClientSNMPDomain',
        to the trap client (management station or proxy).

        Note:   XCMI-defined community name objects support 64 octets
        maximum length and configurable charsets, for consistency with
        the 'snmpCommunityName' object defined in the SNMP Community MIB
        defined in RFC 2576 (March 2000).

        Note:   Products MAY ship with a market-specific factory default
        locale with a charset other than 'utf-8', eg, in Japan a product
        might factory default to 'shift-jis(17)' or 'iso-2022-jp(39)'.
        Such products MUST implement the 'xcmGenFixedLocalizationTable',
        to prevent ambiguity about the factory default charset.

        Usage:  For best interworking with the ('utf-8' charset ONLY)
        closely related 'snmpCommunitySecurityName' object in RFC 2576,
        conforming management stations and management agents SHOULD NOT
        configure community names longer than 32 octets.

        Usage:  For best interworking with third-party applications,
        conforming management stations and management agents SHOULD NOT
        configure empty (zero-length or all spaces) community names.

        Usage:  Conforming management stations, when they first create
        new rows in this table, SHALL set
        'xcmGenTrapClientRowStatus' (to 'createAndGo'),
        'xcmGenTrapClientRowPersistence' (if not 'volatile'),
        'xcmGenTrapClientSNMPVersion' (if not 'snmpV1Community'), and
        'xcmGenTrapClientSNMPCommunity' (if not the current managed
        system default in 'xcmGenBaseSNMPTrapCommunity')
        SIMULTANEOUSLY (in the same SNMP Set-Request PDU).

        Usage:  Conforming management agents SHALL NOT accept sets to


        'xcmGenTrapClientRowPersistence',
        'xcmGenTrapClientSNMPVersion', or
        'xcmGenTrapClientSNMPCommunity'
        AFTER row creation (these objects are 'write-once').

        Usage:  This object SHALL be set by all XCMI conforming
        SNMP trap generators (managed host systems) to the default value
        of 'xcmGenBaseSNMPTrapCommunity', when NOT supplied by the
        requesting SNMP trap client (management station or proxy) at
        the time of row creation.

        Usage:  This object is of type 'XcmFixedLocaleDisplayString'
        (see DESCRIPTION of 'xcmGenBaseSNMPReadCommunity' above).
        If 'xcmGenLocalizationTable' or 'xcmGenFixedLocalizationTable'
        are not implemented on this host system, then the charset SHALL
        be 'utf-8(106)', ISO 10646-1 in 'UTF-8' stream encoding.

        Usage:  All XCMI conforming management agents SHALL allow
        any defined character in the configured charset of this object.
        All XCMI conforming management stations SHOULD NOT write control
        characters or other non-display characters into this object.

        WARNING:  Changing the configured 'trap community name' of an
        SNMP trap client registration will cause a COMPLETE loss of
        communications unless the associated SNMP management station
        (client) ALSO changes over to the new 'trap community name'!!!"
    REFERENCE "
        See:    SNMPv1c (RFC 1157) and SNMPv2c (RFC 1905).
        See:    'Coexistence between SNMPv1, SNMPv2, and SNMPv3'
                RFC 2576, March 2000.
        See:    'xcmGenBaseSNMPTrapCommunity'."
--  DEFVAL intentionally omitted - managers or agents SHALL initialize
    ::= { xcmGenTrapClientEntry 7 }

--
-- Trap View Group (Mandatory)
--
-- Implementation of this group is mandatory for all systems.
--
-- Note:   Systems implementing the Trap View group
-- SHALL implement the Trap Client group.

xcmGenTrapView              OBJECT IDENTIFIER ::= { xcmGeneralMIB 14 }

--
--          Trap View Simple Objects
--

xcmGenTrapViewSimple OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenTrapView 1 }


xcmGenTrapViewEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenTrapViewTable'."
    ::= { xcmGenTrapViewSimple 1 }

xcmGenTrapViewSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenTrapViewTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenTrapViewSimple 2 }

--
--          Trap View Table Objects
--

xcmGenTrapViewTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenTrapViewEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of SNMP trap object subtrees (ie, trap scopes)
        registered for trap delivery from this host system to the
        associated trap client (management station or proxy).

        Usage:  SNMP version/transport independent trap registration.

        Usage:  Conforming management stations SHALL create at
        least one subordinate row in the 'xcmGenTrapViewTable' for each
        trap client that they register in the 'xcmGenTrapClientTable'.
        Conforming management agents SHOULD interpret a dangling row in
        the 'xcmGenTrapClientTable' (no children) as 'NO traps in view'
        (existing implementations of both clients and devices are known
        to consider dangling rows invalid).  To register for all device
        traps, use a single view of 'iso(1).org(3).dod(6).internet(1)'.

        Usage:  Conforming management agents SHALL delete any
        rows in the 'xcmGenTrapViewTable' which were subordinate to a
        deleted row in the 'xcmGenTrapClientTable'."
    REFERENCE "
        See:    View group in Historic SNMPv2 Party MIB (RFC 1447)."
    ::= { xcmGenTrapView 2 }

xcmGenTrapViewEntry OBJECT-TYPE


    SYNTAX      XcmGenTrapViewEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry for an SNMP trap object subtree (ie, trap scope)
        registered for trap delivery from this host system to the
        associated trap client (management station or proxy)."
    INDEX       { xcmGenTrapClientIndex,
                  xcmGenTrapViewObjectSubtree }
    ::= { xcmGenTrapViewTable 1 }

XcmGenTrapViewEntry ::= SEQUENCE {
        --  Trap View (Scope) Info
        xcmGenTrapViewObjectSubtree     OBJECT IDENTIFIER,
        xcmGenTrapViewRowStatus         RowStatus,
        xcmGenTrapViewNotifySeverity    XcmGenNotifySeverityFilter,
        xcmGenTrapViewNotifyTraining    XcmGenNotifyTrainingFilter
    }

xcmGenTrapViewObjectSubtree OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This object is used to specify the object subtree (within MIBs)
        which is 'in scope' for this trap view."
    ::= { xcmGenTrapViewEntry 1 }

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

        Usage:  Conforming implementations which support dynamic rows
        SHALL support 'createAndGo' and 'destroy' writes to this
        'xcmGenTrapViewRowStatus' row status object; and
        SHALL set the 'xcmGenTrapViewGroup' bit in
        'xcmGenBaseGroupCreateSupport' in the 'xcmGenBaseTable'.

        Usage:  Conforming management agents SHOULD NOT support
        'notInService(2)', 'notReady(3)', or 'createAndWait(5)'.

        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:    'xcmGenBaseGroupCreateSupport' in 'xcmGenBaseTable'.
        See:    'xcmGenTrapViewSupportMaxCount' (limit object).
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."


    ::= { xcmGenTrapViewEntry 2 }

xcmGenTrapViewNotifySeverity OBJECT-TYPE
    SYNTAX      XcmGenNotifySeverityFilter
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification severity filter
        used to 'screen' notifications 'in scope' for this trap view.

        Usage:  Individual trap definitions MAY further constrain which
        notifications are 'in scope'."
    REFERENCE "
        See:    'prtAlertSeverityLevel' in IETF Printer MIB (RFC 1759).
        See:    'XcmGenNotifySeverityFilter' in XCMI General TC.
        See:    'xcmGenBaseNotifySeveritySupport'."
    DEFVAL      { 15 }                  -- report, warning, error
    ::= { xcmGenTrapViewEntry 3 }

xcmGenTrapViewNotifyTraining OBJECT-TYPE
    SYNTAX      XcmGenNotifyTrainingFilter
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification training filter
        used to 'screen' notifications 'in scope' for this trap view.

        Usage:  Individual trap definitions MAY further constrain which
        notifications are 'in scope'."
    REFERENCE "
        See:    'prtAlertTrainingLevel' in IETF Printer MIB (RFC 1759).
        See:    'XcmGenNotifyTrainingFilter' in XCMI General TC.
        See:    'xcmGenBaseNotifyTrainingSupport'."
    DEFVAL      { 60 }                  -- none, trained, service, mgmt
    ::= { xcmGenTrapViewEntry 4 }

-- Message Map Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which implement message label lookups
-- of agent-supplied strings and optional for all other systems.

xcmGenMessageMap            OBJECT IDENTIFIER ::= { xcmGeneralMIB 15 }

xcmGenMessageMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenMessageMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of message string labels for the current contents
        of static (agent-generated) message string objects, in all
        MIBs implemented by this host system.

        Usage:  Exposes the server's message catalog for indirect search


        via source message object OIDs, yielding message string labels.

        Usage:  Supports reliable translation by clients (managers) of
        static (agent-generated) message strings, INDEPENDENT of the
        current language/country/charset of the message strings on the
        managed host system in the conventional MIB objects.

        Conformance:  XCMI conforming management agents SHALL
        support SNMP Get requests to the 'xcmGenMessageMapTable'
        (ie, agents must respond to valid explicit EXACT requests).
        When 'xcmGenMessageMapTable' is currently 'hidden' via
        'xcmGenBaseGroupWalkHidden', XCMI conforming management agents
        SHALL skip over 'xcmGenMessageMapTable' to the next
        lexicographically higher object for GetNext or GetBulk requests
        - 'xcmGenMessageMapTable' SHOULD be invisible to MIB walks,
        to avoid undesirable performance degradation with third-party
        network management stations and other monitoring tools."
    REFERENCE "
        See:    'XcmGenMessageMapStringLabel' in XCMI General TC."
    ::= { xcmGenMessageMap 2 }

xcmGenMessageMapEntry OBJECT-TYPE
    SYNTAX      XcmGenMessageMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A entry for a message string label for the current contents
        of a static (agent-generated) message string object, in some
        MIB implemented by this host system.

        Conformance:  XCMI conforming management agents SHALL
        support SNMP Get requests to the 'xcmGenMessageMapTable'
        (ie, agents must respond to valid explicit EXACT requests).
        When 'xcmGenMessageMapTable' is currently 'hidden' via
        'xcmGenBaseGroupWalkHidden', XCMI conforming management agents
        SHALL skip over 'xcmGenMessageMapTable' to the next
        lexicographically higher object for GetNext or GetBulk requests
        - 'xcmGenMessageMapTable' SHOULD be invisible to MIB walks,
        to avoid undesirable performance degradation with third-party
        network management stations and other monitoring tools."
    INDEX       { xcmGenMessageMapStringIndexOID }
    ::= { xcmGenMessageMapTable 1 }

XcmGenMessageMapEntry ::= SEQUENCE {
        --  Message Map Info
        xcmGenMessageMapStringIndexOID  OBJECT IDENTIFIER,
        xcmGenMessageMapStringLabel     XcmGenMessageMapStringLabel
    }

xcmGenMessageMapStringIndexOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "


        This object is used to specify the fully qualified object
        identifer (w/ instance suffix) of a message string object,
        which contains a Xerox registered standard or experimental
        message string value associated with the current message string
        label specified in 'xcmGenMessageMapStringLabel'."
    REFERENCE "
        See:    'XcmGenMessageMapStringLabel' in XCMI General TC."
    ::= { xcmGenMessageMapEntry 1 }

xcmGenMessageMapStringLabel OBJECT-TYPE
    SYNTAX      XcmGenMessageMapStringLabel
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        This object is used to specify a Xerox standard or experiemental
        message string label associated with the current value of the
        message string pointed to by 'xcmGenMessageMapStringIndexOID'.

        Usage:  Experimental message string labels SHOULD NOT be used in
        shipping versions of Xerox-branded products or services.  They
        exist solely to facilitate rapid product development cycles.

        Usage:  All Xerox message string label values SHALL
        be specified using display (NOT space) characters from the IANA
        registered charset 'utf-8' (ie, the UTF-8 octet-stream encoding
        of ISO-10646 UCS-4, described in RFC 2279).

        Usage:  All Xerox message string label values SHALL
        contain no more than 64 UTF-8 display characters AND no more
        than 128 total octets (in some scripts, less than 64 characters
        in UTF-8 octet-stream encoding).

        Note:   New or refined message label syntaxes MAY be defined in
        future versions of the XCMI General TC."
    REFERENCE "
        See:    'XcmGenMessageMapStringLabel' in XCMI General TC."
--  DEFVAL intentionally omitted - agents SHALL report valid msg labels
    ::= { xcmGenMessageMapEntry 2 }

-- Message Text Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which implement message translations
-- of agent-supplied strings and optional for all other systems.

xcmGenMessageText           OBJECT IDENTIFIER ::= { xcmGeneralMIB 16 }

xcmGenMessageTextTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenMessageTextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of message string translations for all target locales
        of static (agent-generated) message string objects, in various


        known (agent-supported) source message locales.

        Usage:  Exposes the server's message catalog for indirect search
        via source message object OIDs, yielding target string values.

        Usage:  Supports reliable translation by servers (agents) of
        static (agent-generated) message strings, INDEPENDENT of the
        current language/country/charset of the message strings on the
        managed host system in the conventional MIB objects.

        Conformance:  XCMI conforming management agents SHALL
        support SNMP Get requests to the 'xcmGenMessageTextTable'
        (ie, agents must respond to valid explicit EXACT requests).
        When 'xcmGenMessageTextTable' is currently 'hidden' via
        'xcmGenBaseGroupWalkHidden', XCMI conforming management agents
        SHALL skip over 'xcmGenMessageTextTable' to the next
        lexicographically higher object for GetNext or GetBulk requests
        - 'xcmGenMessageTextTable' SHOULD be invisible to MIB walks,
        to avoid undesirable performance degradation with third-party
        network management stations and other monitoring tools."
    REFERENCE "
        See:    'xcmGenMessageTextTable'"
    ::= { xcmGenMessageText 2 }

xcmGenMessageTextEntry OBJECT-TYPE
    SYNTAX      XcmGenMessageTextEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry for a message string translation for one target locale
        of a static (agent-generated) message string object, in some
        MIB implemented by this host system.

        Conformance:  XCMI conforming management agents SHALL
        support SNMP Get requests to the 'xcmGenMessageTextTable'
        (ie, agents must respond to valid explicit EXACT requests).
        When 'xcmGenMessageTextTable' is currently 'hidden' via
        'xcmGenBaseGroupWalkHidden', XCMI conforming management agents
        SHALL skip over 'xcmGenMessageTextTable' to the next
        lexicographically higher object for GetNext or GetBulk requests
        - 'xcmGenMessageTextTable' SHOULD be invisible to MIB walks,
        to avoid undesirable performance degradation with third-party
        network management stations and other monitoring tools."
    REFERENCE "
        See:    'xcmGenMessageMapTable'"
    INDEX       { xcmGenMessageTextStringIndexOID,
                  xcmGenMessageTextTargetLocale }
    ::= { xcmGenMessageTextTable 1 }

XcmGenMessageTextEntry ::= SEQUENCE {
        --  Message Text Info
        xcmGenMessageTextStringIndexOID OBJECT IDENTIFIER,
        xcmGenMessageTextTargetLocale   Ordinal32,
        xcmGenMessageTextTargetString   XcmNamedLocaleUtf8String


    }

xcmGenMessageTextStringIndexOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This object is used to specify the fully qualified object
        identifer (w/ instance suffix) of a message string object,
        which contains a Xerox registered standard or experimental
        message string value equivalent to the target message string
        translation specified in 'xcmGenMessageTextTargetString'.
        The locale of this source message string is immaterial."
    REFERENCE "
        See:    'xcmGenMessageTextTargetLocale'
        See:    'xcmGenMessageTextTargetString'"
    ::= { xcmGenMessageTextEntry 1 }

xcmGenMessageTextTargetLocale OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This object is used to specify the locale (language/country),
        as a value of 'xcmGenLocalizationIndex', of the message string
        translation in 'xcmGenMessageTextTargetString'."
    REFERENCE "
        See:    'xcmGenMessageTextStringIndexOID'
        See:    'xcmGenMessageTextTargetString'"
    ::= { xcmGenMessageTextEntry 2 }

xcmGenMessageTextTargetString OBJECT-TYPE
    SYNTAX      XcmNamedLocaleUtf8String (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        This object is used to specify a translated Xerox registered
        message string value associated with the current value of the
        message string pointed to by 'xcmGenMessageMapStringIndexOID',
        in the locale specified by 'xcmGenMessageTextTargetLocale'.

        Usage:  All Xerox registered message string values SHALL
        contain no more than 128 UTF-8 display characters AND no more
        than 255 total octets (in some scripts, less than 128 characters
        in UTF-8 octet-stream encoding)."
    REFERENCE "
        See:    'xcmGenMessageTextStringIndexOID'
        See:    'xcmGenMessageTextTargetLocale'"
--  DEFVAL intentionally omitted - agents SHALL translate messages
    ::= { xcmGenMessageTextEntry 3 }


--
-- Notify Rule Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which implement event notification via
-- non-SNMP delivery methods and optional for all other systems.
--
-- Note:   Systems implementing the Notify Rule group
-- SHALL implement the Notify Detail group.
--
-- Note:   The Notify Rule group is functionally equivalent to
-- the Trap Client group for non-SNMP event delivery methods.

xcmGenNotifyRule            OBJECT IDENTIFIER ::= { xcmGeneralMIB 17 }

--
--          Notify Simple Objects
--

xcmGenNotifyRuleSimple OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenNotifyRule 1 }

xcmGenNotifyRuleEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'
        state in 'xcmGenNotifyRuleTable'."
    ::= { xcmGenNotifyRuleSimple 1 }

xcmGenNotifyRuleSupportMaxCount OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenNotifyRuleTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenNotifyRuleSimple 2 }

--
--          Notify Table Objects
--

xcmGenNotifyRuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenNotifyRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current


    DESCRIPTION "
        A table of notification rules (recipient/event lists)
        registered for event delivery from this host system.

        Note:   In this MIB, the term 'notification rule' is equivalent
        to the term 'Subscription object' in IPP Notifications.

        Usage:  Conforming management agents SHALL NOT accept sets to
        any other columnar object in 'xcmGenNotifyRuleTable' when
        'xcmGenNotifyRuleRowStatus' is 'active'.
        Dynamic rows must be deleted (with 'destroy') and then recreated
        (with 'createAndGo') with new columnar values.
        Static rows must be released (with 'notInService') and then
        then reallocated (with 'active') with new columnar values.
        Thus only a row status transition to 'active' indicates a new
        notification registration by a conforming management station.

        Usage:  Conforming management agents SHALL delete any
        rows in the 'xcmGenNotifyDetailTable' which were subordinate to
        a deleted row in the 'xcmGenNotifyRuleTable'."
    REFERENCE "
        See:    Section 5 'Subscription Object' and
                Section 5.3 'Subscription Template Attributes' and
                section 5.4 'Subscription Description Attributes' in
                IPP Notify (draft-ietf-ipp-not-spec-06.txt)."
    ::= { xcmGenNotifyRule 2 }

xcmGenNotifyRuleEntry OBJECT-TYPE
    SYNTAX      XcmGenNotifyRuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry for a notification rule (recipient/event list)
        registered for event delivery from this host system."
    INDEX       { xcmGenNotifyRuleIndex }
    ::= { xcmGenNotifyRuleTable 1 }

XcmGenNotifyRuleEntry ::= SEQUENCE {
        --  Notify Rule Info
        xcmGenNotifyRuleIndex           Ordinal32,
        xcmGenNotifyRuleRowStatus       RowStatus,
        xcmGenNotifyRuleRowPersistence  XcmGenRowPersistence,
        xcmGenNotifyRuleRecipientURI    XcmFixedLocaleDisplayString,
        xcmGenNotifyRuleEventNames      XcmFixedLocaleDisplayString,
        xcmGenNotifyRuleEventDelay      Cardinal32,
        xcmGenNotifyRuleSeverityFilter  XcmGenNotifySeverityFilter,
        xcmGenNotifyRuleTrainingFilter  XcmGenNotifyTrainingFilter,
        xcmGenNotifyRuleCharset         IANACharset,
        xcmGenNotifyRuleNaturalLanguage DisplayString,
        xcmGenNotifyRuleSequenceNumber  Cardinal32
    }

xcmGenNotifyRuleIndex 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 'xcmGenNotifyRuleTable'."
    REFERENCE "
        See:    Section 5.4.1 'notify-subscription-id' in IPP Notify."
    ::= { xcmGenNotifyRuleEntry 1 }

xcmGenNotifyRuleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to display the status of this conceptual row
        in the 'xcmGenNotifyRuleTable'.

        Usage:  This object MAY be used to create ('createAndGo') and
        delete ('destroy') dynamic rows in the 'xcmGenNotifyRuleTable'.
        Also used to enable ('active') and disable ('notInService')
        static rows in the 'xcmGenNotifyRuleTable'.

        Usage:  Conforming management agents SHOULD NOT support the
        intermediate values 'notReady(3)' or 'createAndWait(5)'.

        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:    Section 11 'Operations for Notification' in IPP Notify.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenNotifyRuleEntry 2 }

xcmGenNotifyRuleRowPersistence OBJECT-TYPE
    SYNTAX      XcmGenRowPersistence
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the persistence of this
        conceptual row in the 'xcmGenNotifyRuleTable' (and associated
        conceptual rows in the 'xcmGenNotifyRuleDetailTable').

        Usage:  Dynamically created rows SHALL be given 'volatile'
        or 'nonvolatile' persistence.

        Usage:  Conforming management agents SHALL NOT accept sets to
        'xcmGenNotifyRuleRowPersistence'
        AFTER row creation (this object is 'write-once').

        Usage:  Conforming management agents SHALL support
        'volatile' (lost across power cycles), but NEED NOT support any
        other levels of persistence."


    REFERENCE "
        See:    Section 5.3.7 'notify-lease-duration' in IPP Notify.
        See:    Section 5.4.3 'lease-expiration-time' in IPP Notify."
    DEFVAL      { volatile }            -- lost across power cycles
    ::= { xcmGenNotifyRuleEntry 3 }

xcmGenNotifyRuleRecipientURI OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify a single recipient URI (Uniform
        Resource Identifier, per Generic URI Syntax, RFC 2396) for event
        delivery for this notification rule (list of events), eg,
        - 'mailto:joe@sample.com' (Email)
        - 'mailto:VOICE=+3940226338@samplevoice.com' (Voice Mail)
        - 'mailto:FAX=+1.800.5553000/T33S=6377@sampleserv.com' (IFax)
        - 'ftp://machine.sample.com/pub/event_logs' (FTP logging)

        Usage:  'ftp:' and 'http:' URLs specify paths for event logs.

        Usage:  MAY include parameters for SNMP and other URL schemes
        (eg, 'snmp://machine.sample.com;version=2c;community=public'
        for SNMPv2c delivery with community-name of 'public').

        Usage:  For additional recipients, use 'notifyRecipientURI'
        notify details in the 'xcmGenNotifyRuleDetailTable'."
    REFERENCE "
        See:    Section 5.3.1 'notify-recipient-uri' in IPP Notify.
        See:    Generic URI Syntax (RFC 2396).
        See:    The 'mailto:' URL Scheme (RFC 2368).
        See:    Minimal PSTN address in Internet Mail (RFC 2303).
        See:    Minimal FAX address in Internet Mail (RFC 2304)."

    DEFVAL      { ''H }                 -- no recipient URI specified
    ::= { xcmGenNotifyRuleEntry 4 }

xcmGenNotifyRuleEventNames OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the subscribed events for this
        notification rule, as a comma-delimited list of (standard)
        keywords or (vendor or site-specific) names.

        Usage:  Keywords of IPP 'notify-events' and SNMP traps and
        and SNMP state/alert enumeration keywords are interoperable
        (eg, 'lowPaper,jammed' from IETF HR MIB, RFC 2790).

    `   Usage:  Standard keywords MAY be scoped with their source, eg,
        'notify-events.job-stopped,hrPrinterDetectedErrorState.jammed',
        for clarity.


        Usage:  Conforming management stations and management agents
        SHALL prefix non-standard names with 'x-' for compatibility."
    REFERENCE "
        See:    Section 5.3.2 'notify-events' in IPP Notify.
        See:    TRAP-TYPE and NOTIFICATION-TYPE names in IETF/XCMI MIBs.
        See:    'hrDeviceStatus' in IETF HR MIB (RFC 2790).
        See:    'xcmHrDevInfoXStatus' in XCMI HRX MIB.
        See:    'xcmHrDevInfoConditions' in XCMI HRX MIB.
        See:    'hrPrinterDetectedErrorState' in IETF HR MIB (RFC 2790).
        See:    'prtAlertCode' in IETF Printer MIB (RFC 1759)."
    DEFVAL      { ''H }                 -- no event names specified
    ::= { xcmGenNotifyRuleEntry 5 }

xcmGenNotifyRuleEventDelay OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify a delay timer in seconds for
        event delivery that rate-limits (buffers) frequent events.
        This timer is the minimum number of seconds between events
        delivered for this notification rule ('xcmGenNotifyRuleIndex').

        Usage:  Conforming management agents (network devices) SHOULD
        support server-side buffering of events for interoperability
        (and improved performance) via 'xcmGenNotifyRuleEventDelay'.

        Usage:  Conforming management stations (recipients) SHOULD
        support client-side buffering of events for interoperability
        (and not depend on this 'xcmGenNotifyRuleEventDelay' object)."
    REFERENCE "
        See:    Section 5.3.8 'notify-time-interval' in IPP Notify."
    DEFVAL      { 0 }                   -- no event delay specified
    ::= { xcmGenNotifyRuleEntry 6 }

xcmGenNotifyRuleSeverityFilter OBJECT-TYPE
    SYNTAX      XcmGenNotifySeverityFilter
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification severity filter
        used to 'screen' notifications for event delivery.

        Usage:  Notification details MAY further constrain which
        notifications are 'in scope'."
    REFERENCE "
        See:    'prtAlertSeverityLevel' in IETF Printer MIB (RFC 1759).
        See:    'XcmGenNotifySeverityFilter' in XCMI General TC.
        See:    'xcmGenBaseNotifySeveritySupport' in XCMI General MIB."
    DEFVAL      { 15 }                  -- report, warning, error
    ::= { xcmGenNotifyRuleEntry 7 }

xcmGenNotifyRuleTrainingFilter OBJECT-TYPE


    SYNTAX      XcmGenNotifyTrainingFilter
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification training filter
        used to 'screen' notifications for event delivery.

        Usage:  Notification details MAY further constrain which
        notifications are 'in scope'."
    REFERENCE "
        See:    'prtAlertTrainingLevel' in IETF Printer MIB (RFC 1759).
        See:    'XcmGenNotifyTrainingFilter' in XCMI General TC.
        See:    'xcmGenBaseNotifyTrainingSupport' in XCMI General MIB."
    DEFVAL      { 60 }                  -- none, trained, service, mgmt
    ::= { xcmGenNotifyRuleEntry 8 }

xcmGenNotifyRuleCharset OBJECT-TYPE
    SYNTAX      IANACharset
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification charset
        used for notification text in event messages, specified as an
        IANA registered charset identifier, eg, 'MIBenum' value
        (per RFC 2978).

        Usage:  If 'xcmGenNotifyRuleCharset' is 'other(1)', then the
        value of 'xcmGenFixedLocalizationIndex' SHALL be used for a
        notification rule locale specifier for charset."
    REFERENCE "
        See:    Section 4.1.7 'charset' and section 4.4.17
               'charset-configured' in IPP/1.1 (RFC 2911).
        See:    Section 5.3.5 'notify-charset' in IPP Notify.
        See:    IANA Charset Registration Procedures (RFC 2978).
        See:    Codes for Representation of Names of Charsets, ISO 3166
        See:    Codes for Representation of Names of Countries, ISO 639"
    DEFVAL      { other }               -- no charset specified
    ::= { xcmGenNotifyRuleEntry 9 }

xcmGenNotifyRuleNaturalLanguage OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification natural language
        used for notification text in event messages, specified as an
        IETF 'language tag' (per RFC 3066).

        Usage:  If 'xcmGenNotifyRuleNaturalLanguage' is empty, then the
        value of 'xcmGenFixedLocalizationIndex' SHALL be used for a
        notification rule locale specifier for natural language."
    REFERENCE "
        See:    Section 4.1.8 'naturalLanguage' and section 4.4.19
               'natural-language-configured' in IPP/1.1 (RFC 2911).


        See:    Section 5.3.6 'notify-natural-language' in IPP Notify.
        See:    IETF Tags for Identification of Languages (RFC 3066).
        See:    Codes for Representation of Names of Languages, ISO 3166
        See:    Codes for Representation of Names of Countries, ISO 639"
    DEFVAL      { ''H }                 -- no natural language specified
    ::= { xcmGenNotifyRuleEntry 10 }

xcmGenNotifyRuleSequenceNumber OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        This object is used to specify the notification sequence number
        last used for event delivery for this notification rule.

        Usage:  Conforming management agents SHOULD include the value
        of 'xcmGenNotifyRuleSequenceNumber' in all event messages."
    REFERENCE "
        See:    Section 5.4.2 'notify-sequence-number' in IPP Notify."
    DEFVAL      { 0 }                   -- initial sequence number
    ::= { xcmGenNotifyRuleEntry 11 }

--
-- Notify Detail Group (Cond Mandatory)
--
-- Implementation of this group is conditionally mandatory, ie,
-- mandatory for systems which implement event notification via
-- non-SNMP delivery methods and optional for all other systems.
--
-- Note:   Systems implementing the Notify Detail group
-- SHALL implement the Notify Rule group.
--
-- Note:   The Notify Detail group is functionally equivalent to
-- the Trap View group for non-SNMP event delivery methods.

xcmGenNotifyDetail          OBJECT IDENTIFIER ::= { xcmGeneralMIB 18 }

--
--          NotifyDetail Simple Objects
--

xcmGenNotifyDetailSimple OBJECT-IDENTITY
    STATUS      current
    DESCRIPTION "
        This subtree is current.  Subordinate objects are leaf objects."
    ::= { xcmGenNotifyDetail 1 }

xcmGenNotifyDetailEntryCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The count of entries (rows) which are currently in the 'active'


        state in 'xcmGenNotifyDetailTable'."
    ::= { xcmGenNotifyDetailSimple 1 }

xcmGenNotifyDetailSupportMax OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The maximum number of simultaneous entries (rows) supported
        for the 'xcmGenNotifyDetailTable'.

        Usage:  The value zero ('0') represents 'no limit'."
    DEFVAL      { 0 }                   -- no limit on support max count
    ::= { xcmGenNotifyDetailSimple 2 }

--
--          NotifyDetail Table Objects
--

xcmGenNotifyDetailTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmGenNotifyDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A 'sparse' table of notification detail information for
        notification rules configured on this host system,
        augmenting the basic entries in the 'xcmGenNotifyTable'.

        Usage:  UNLIKE the 'xcmGenOptionTable' in the XCMI General MIB
        (which is a unique exception), this table of 'dictionary-based'
        notify details is used with DIRECT create/update operations."
    REFERENCE "
        See:    Section 5 'Subscription Object' and
                Section 5.3 'Subscription Template Attributes' and
                section 5.4 'Subscription Description Attributes' in
                IPP Notify (draft-ietf-ipp-not-spec-06.txt)."
    ::= { xcmGenNotifyDetail 2 }

xcmGenNotifyDetailEntry OBJECT-TYPE
    SYNTAX      XcmGenNotifyDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry of notification detail information for one of the
        notification rules configured on this host system,
        augmenting the basic entry in the 'xcmGenNotifyTable'."
    INDEX       { xcmGenNotifyRuleIndex,
                  xcmGenNotifyDetailType,
                  xcmGenNotifyDetailIndex }
    ::= { xcmGenNotifyDetailTable 1 }

XcmGenNotifyDetailEntry ::= SEQUENCE {
        --  Notify Detail Info
        xcmGenNotifyDetailType          XcmGenNotifyDetailType,


        xcmGenNotifyDetailIndex         Ordinal32,
        xcmGenNotifyDetailRowStatus     RowStatus,
        xcmGenNotifyDetailString        XcmFixedLocaleDisplayString
    }

xcmGenNotifyDetailType OBJECT-TYPE
    SYNTAX      XcmGenNotifyDetailType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        The type of notify detail stored in this conceptual row
        in 'xcmGenNotifyDetailTable'.

        Usage:  Conforming XCMI management stations and agents SHALL
        encode notify details as UTF-8 strings (like SLPv2, RFC 2608).
        - Integers SHALL be encoded as (signed) decimal strings.
        - Booleans SHALL be encoded as 'true' or 'false' strings.
        - Strings SHALL be encoded as UTF-8 character strings.
        - Binary data (e.g., 'userCertificate') SHALL be stored
        in SLPv2 opaque encoding (leading '\FF' and escaped octets).

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information in 'xcmGenNotifyDetailString'."
    REFERENCE "
        See:    Section 5 'Subscription Object' and
                Section 5.3 'Subscription Template Attributes' and
                section 5.4 'Subscription Description Attributes' in
                IPP Notify (draft-ietf-ipp-not-spec-06.txt).
        See:    Section 5 'Service Attributes' (encoding rules) in
                Service Location Protocol v2 (RFC 2608)."
    ::= { xcmGenNotifyDetailEntry 1 }

xcmGenNotifyDetailIndex 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 'xcmGenNotifyDetailTable', OR a common
        value shared across a set of related conceptual rows (with
        different values of 'xcmGenNotifyDetailType'."
    ::= { xcmGenNotifyDetailEntry 2 }

xcmGenNotifyDetailRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used to display the status of this conceptual row
        in the 'xcmGenNotifyDetailTable'.

        Usage:  This object MAY be used to create ('createAndGo') and
        delete ('destroy') dynamic rows in 'xcmGenNotifyDetailTable'.


        Also used to enable ('active') and disable ('notInService')
        static rows in the 'xcmGenNotifyTable'.

        Usage:  Conforming management agents SHOULD NOT support the
        intermediate values 'notReady(3)' or 'createAndWait(5)'.

        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:    Section 11 'Operations for Notification' in IPP Notify.
        See:    'RowStatus' in IETF SNMPv2 TC (RFC 1443/1903/2579).
        See:    'xcmHrDevMgmtCommandData' in XCMI HRX MIB and
                'xcmSecUserMgmtData' in XCMI Security MIB."
    ::= { xcmGenNotifyDetailEntry 3 }

xcmGenNotifyDetailString OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The string notify detail value stored in this conceptual row
        in 'xcmGenNotifyDetailTable'.

        Usage:  Conforming XCMI management stations and agents SHALL
        encode notify details as UTF-8 strings (like SLPv2, RFC 2608).
        - Integers SHALL be encoded as (signed) decimal strings.
        - Booleans SHALL be encoded as 'true' or 'false' strings.
        - Strings SHALL be encoded as UTF-8 character strings.
        - Binary data (e.g., 'userCertificate') SHALL be stored
        in SLPv2 opaque encoding (leading '\FF' and escaped octets).

        Usage:  Conformant implementations MUST encrypt passwords, keys,
        and other security information in 'xcmGenNotifyDetailString'."
    REFERENCE "
        See:    Section 5 'Subscription Object' and
                Section 5.3 'Subscription Template Attributes' and
                section 5.4 'Subscription Description Attributes' in
                IPP Notify (draft-ietf-ipp-not-spec-06.txt).
        See:    Section 5 'Service Attributes' (encoding rules) in
                Service Location Protocol v2 (RFC 2608)."
    DEFVAL      { ''H }                 -- no detail value string
    ::= { xcmGenNotifyDetailEntry 4 }

--
--          General MIB Conformance Information
--
--          With Mandatory and Optional Conformance Groups

xcmGeneralMIBConformance
             OBJECT IDENTIFIER ::= { xcmGeneralMIB 2 }
xcmGeneralMIBGroups
             OBJECT IDENTIFIER ::= { xcmGeneralMIBConformance 2 }


--
--          Compliance Statements
--

xcmGeneralMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "
        The compliance statements for SNMP management agents that
        implement the General MIB."
    MODULE -- this module
    MANDATORY-GROUPS {
        xcmGenBaseGroup,
        xcmGenTrapClientGroup,
        xcmGenTrapViewGroup
    }

    GROUP       xcmGenCurrentLocalizationGroup
    DESCRIPTION "
        This group controls the localization of dynamic string objects
        of type 'InternationalDisplayString' in legacy MIBs.

        Implementation of this group is conditionally mandatory, ie,
        mandatory for all systems which support MIB objects with type
        'InternationalDisplayString'
        and optional for all other systems."

    GROUP       xcmGenLocalizationGroup
    DESCRIPTION "
        This group declares supported localizations for string objects
        of type 'InternationalDisplayString' in legacy MIBs and
        of type 'XcmFixedLocaleDisplayString'
        or 'Xcm[Fixed|Mamed]LocaleUtf8String' in XCMI MIBs.

        Implementation of this group is conditionally mandatory, ie,
        mandatory for all systems which support MIB objects with type
        'InternationalDisplayString', 'XcmFixedLocaleDisplayString',
        'XcmFixedLocaleUtf8String', or 'XcmNamedLocaleUtf8String'
        and optional for all other systems."

    GROUP       xcmGenCodeIndexedStringGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory:
        Mandatory for all systems which implement MIB objects of type
        'CodeIndexedStringIndex' or implement the
        'xcmGenCodedCharSetGroup'."

    GROUP       xcmGenCodedCharSetGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory:
        Mandatory for all systems which implement MIB objects of type
        'CodeIndexedStringIndex' or implement the
        'xcmGenCodeIndexedStringGroup'."


    GROUP       xcmGenFixedLocalizationGroup
    DESCRIPTION "
        This group controls the localization of static string objects
        of type 'XcmFixedLocaleDisplayString'
        or 'Xcm[Fixed|Mamed]LocaleUtf8String' in XCMI MIBs.

        Implementation of this group is conditionally mandatory, ie,
        mandatory for all systems which support MIB objects with type
        'XcmFixedLocaleDisplayString',
        'XcmFixedLocaleUtf8String', or 'XcmNamedLocaleUtf8String'
        and optional for all other systems."

    GROUP       xcmGenLockGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which support advisory contention
        locks, and optional for all other systems.

        Implementation of this group is conditionally mandatory,
        however it SHALL be implemented by systems which
        implement the 'xcmGenReconfGroup' and 'xcmGenOptionGroup'."

    GROUP       xcmGenReconfGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which support tree structured
        atomic reconfiguration, and optional for all other systems.

        Implementation of this group is conditionally mandatory,
        however it SHALL be implemented by systems which
        implement the 'xcmGenOptionGroup'.

        Usage:  Systems which implement the 'xcmGenReconfGroup'
        and 'xcmGenOptionGroup' SHALL also implement
        the 'xcmGenLockGroup' (for advisory contention locks)."

    GROUP       xcmGenOptionGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which support tree structured
        atomic reconfiguration, and optional for all other systems.
--
        Implementation of this group is conditionally mandatory,
        however it SHALL be implemented by systems which
        implement the 'xcmGenReconfGroup'.
--
        Usage:  Systems which implement the 'xcmGenReconfGroup'
        and 'xcmGenOptionGroup' SHALL also implement
        the 'xcmGenLockGroup' (for advisory contention locks)."

    GROUP       xcmGenClientDataGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,


        mandatory for systems which support 'client data' for remote
        management stations, and optional for all other systems.

        Usage:  Conforming implementations SHALL preserve active
        'client data' objects across management agent power cycles."

    GROUP       xcmGenMessageMapGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement message label lookups
        of agent-supplied strings and optional for all other systems."

    GROUP       xcmGenMessageTextGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement message translations
        of agent-supplied strings and optional for all other systems."

    GROUP       xcmGenNotifyRuleGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement event notification via
        non-SNMP delivery methods and optional for all other systems.

        Note:   Systems implementing the Notify Rule group
        SHALL implement the Notify Detail group.

        Note:   The Notify Rule group is functionally equivalent to
        the Trap Client group for non-SNMP event delivery methods."

    GROUP       xcmGenNotifyDetailGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement event notification via
        non-SNMP delivery methods and optional for all other systems.

        Note:   Systems implementing the Notify Detail group
        SHALL implement the Notify Rule group.

        Note:   The Notify Detail group is functionally equivalent to
        the Trap View group for non-SNMP event delivery methods."

    OBJECT      xcmGenBaseSNMPReadCommunity
    SYNTAX      OCTET STRING (SIZE (0..1))
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only.

        Usage:  All XCMI conforming management agents are
        STRONGLY RECOMMENDED to support an authenticated SNMP SetRequest
        to this object, changing the system 'read community name'
        (for best interworking with third-party management stations)."

    OBJECT      xcmGenBaseSNMPWriteCommunity


    SYNTAX      OCTET STRING (SIZE (0..1))
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only.

        Usage:  All XCMI conforming management agents are
        STRONGLY RECOMMENDED to support an authenticated SNMP SetRequest
        to this object, changing the system 'write community name'
        (for best interworking with third-party management stations)."

    OBJECT      xcmGenBaseSNMPTrapCommunity
    SYNTAX      OCTET STRING (SIZE (0..1))
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only.

        Usage:  All XCMI conforming management agents are
        STRONGLY RECOMMENDED to support an authenticated SNMP SetRequest
        to this object, changing the system 'trap community name'
        (for best interworking with third-party management stations)."

    OBJECT      xcmGenBaseGroupWalkHidden
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only.
        XCMI conforming management agents NEED NOT support changing of
        MIB walk 'hidden' groups by remote management stations."

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

    OBJECT      xcmGenCurrLocalizationRowStatus
    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      xcmGenLocalizationRowStatus
    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      xcmGenLocalizationASCIIName 
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only"


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

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

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

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

    OBJECT      xcmGenCodeIndexedStringRowStat
    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      xcmGenCodeIndexedStringData 
    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."

    OBJECT      xcmGenCodedCharSetRowStatus
    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      xcmGenCodedCharSetASCIIName 
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only"

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


    OBJECT      xcmGenFixedLocalizationRowStat
    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      xcmGenLockRowStatus
    SYNTAX      INTEGER {               -- subset of RowStatus
        active(1),
        notInService(2)
--      notReady(3),
--      createAndGo(4)
--      createAndWait(5),
--      destroy(6)
        }
    MIN-ACCESS  read-write
    DESCRIPTION "
        It is conformant to implement this object as read-write, and
        only two of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:
        active(1) and notInService(2)."

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

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

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

    OBJECT      xcmGenReconfRowStatus
    SYNTAX      INTEGER {               -- subset of RowStatus
        active(1),
        notInService(2)
--      notReady(3),
--      createAndGo(4)
--      createAndWait(5),
--      destroy(6)
        }
    MIN-ACCESS  read-write
    DESCRIPTION "


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

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

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

    OBJECT      xcmGenOptionRowStatus
    SYNTAX      INTEGER {               -- subset of RowStatus
        active(1),
        notInService(2)
--      notReady(3),
--      createAndGo(4)
--      createAndWait(5),
--      destroy(6)
        }
    MIN-ACCESS  read-write
    DESCRIPTION "
        It is conformant to implement this object as read-write, and
        only two of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:
        active(1) and notInService(2)."

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

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

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

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

    OBJECT      xcmGenOptionValueString
--  SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..32))
    SYNTAX      OCTET STRING (SIZE (0..32))


    MIN-ACCESS  read-write
    DESCRIPTION "
        It is conformant to implement this object as read-write, and
        only 32 octets maximum string length need be supported."

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

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

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

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

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

    OBJECT      xcmGenClientDataRowStatus
    SYNTAX      INTEGER {               -- subset of RowStatus
        active(1),
        notInService(2)
--      notReady(3),
--      createAndGo(4)
--      createAndWait(5),
--      destroy(6)
        }
    MIN-ACCESS  read-write
    DESCRIPTION "
        It is conformant to implement this object as read-write, and
        only two of the enumerated values for the 'RowStatus' textual
        convention need be supported, specifically:
        active(1) and notInService(2)."

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

    OBJECT      xcmGenClientDataProductID
    MIN-ACCESS  read-write
    DESCRIPTION "


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

    OBJECT      xcmGenClientDataLength
    SYNTAX      INTEGER (0..1)
    MIN-ACCESS  read-write
    DESCRIPTION "
        It is conformant to implement this object as read-write, and
        only 1 octet maximum client data length need be supported."

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

--  OBJECT      xcmGenTrapClientSNMPDomain
--  SYNTAX      INTEGER {
--  }
--  DESCRIPTION "
--      It is conformant to implement this object as above, and
--      no specific enumerated values for the 'XcmGenSNMPDomain'
--      textual convention need be supported."

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

    OBJECT      xcmGenTrapClientRowStatus
    SYNTAX      INTEGER { active(1) }   -- subset of RowStatus
    MIN-ACCESS  read-only
    DESCRIPTION "
        Usage:  It is conformant to implement this object as read-only,
        however, conforming management agents are STRONGLY RECOMMENDED
        to support at least read-write access to this object."

    OBJECT      xcmGenTrapClientRowPersistence
    SYNTAX      INTEGER {
--      other(1),
--      unknown(2),
        volatile(3)                     -- lost across power cycles
--      nonvolatile(4),                    saved across power cycles
--      permanent(5),                      read-write, and no deletion
--      readonly(6)                        read-only, and no deletion
    }
    MIN-ACCESS  read-only
    DESCRIPTION "
        Usage:  It is conformant to implement this object as read-only,
        however, conforming management agents are STRONGLY RECOMMENDED
        to support at least read-write access to this object.


        Usage:  Conforming management agents SHALL support
        'volatile' (lost across power cycles).

        Usage:  Conforming management agents are STRONGLY RECOMMENDED to
        support 'nonvolatile' (preserved across power cycles),
        but NEED NOT support any other levels of persistence."

    OBJECT      xcmGenTrapClientSNMPVersion
    SYNTAX      INTEGER {
        unknown(1),                     -- indeterminate
        other(2),                       -- some other version
        snmpV1Community(3)
--      snmpV1Party(4),
--      snmpV2Party(5),
--      snmpV2Community(6),
--      snmpV2Usec(7),
--      snmpV2Star(8),
--      snmpV2Secure(9),
--      snmpV3Secure(10)
    }
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only, and only
        those specified enumerated values for the 'XcmGenSNMPVersion'
        textual convention need be supported,
        specifically:  snmpV1Community(3)."

    OBJECT      xcmGenTrapClientSNMPCommunity
    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.
        XCMI conforming management agents NEED NOT support changing of
        SNMP community strings by remote management stations."

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

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

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


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

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

    OBJECT      xcmGenNotifyRuleRowStatus
    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      xcmGenNotifyRuleRowPersistence
    SYNTAX      INTEGER {
--      other(1),
--      unknown(2),
        volatile(3)                     -- lost across power cycles
--      nonvolatile(4),                    saved across power cycles
--      permanent(5),                      read-write, and no deletion
--      readonly(6)                        read-only, and no deletion
    }
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only, and
        only one of the enumerated values for the 'xcmGenRowPersistence'
        textual convention need be supported,
        specifically:  volatile(3)."

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

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

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

    OBJECT      xcmGenNotifyRuleSeverityFilter
    MIN-ACCESS  read-only


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

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

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

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

    OBJECT      xcmGenNotifyDetailRowStatus
    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      xcmGenNotifyDetailString
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object as read-only."

    ::= { xcmGeneralMIBConformance 3 }

--
--          Conformance Groups
--

xcmGenBaseGroup OBJECT-GROUP
    OBJECTS {
        --  General MIB Info
        xcmGenBaseRowStatus,
        xcmGenBaseSystemHrDeviceIndex,
        --  General MIB Capabilities Info
        xcmGenBaseGroupSupport,
        xcmGenBaseGroupCreateSupport,
        xcmGenBaseGroupUpdateSupport,
        xcmGenBaseClientDataMaxSupport,
        xcmGenBaseOptionSyntaxSupport,
        xcmGenBaseReconfStateSupport,
        xcmGenBaseSNMPDomainSupport,
        xcmGenBaseSNMPTrapSupport,
        xcmGenBaseSNMPVersionSupport,
        --  General MIB Community Name Info
        xcmGenBaseSNMPReadCommunity,


        xcmGenBaseSNMPWriteCommunity,
        xcmGenBaseSNMPTrapCommunity,
        --  General MIB Traversal Info
        xcmGenBaseGroupWalkHidden,
        --  General MIB Notification Info
        xcmGenBaseNotifySchemeSupport,
        xcmGenBaseNotifySeveritySupport,
        xcmGenBaseNotifyTrainingSupport,
        xcmGenBaseSystem1284DeviceId, 
        xcmGenBaseSNMPWarningTrapSupport
    }
    STATUS      current
    DESCRIPTION "
        General Base Group (XCMI General MIB capabilities)"
    ::= { xcmGeneralMIBGroups 1 }

xcmGenCurrentLocalizationGroup OBJECT-GROUP
    OBJECTS { 
        --  Current Localization Info
        xcmGenCurrentLocalizationIndex,
        xcmGenCurrLocalizationRowStatus
    }
    STATUS  current
    DESCRIPTION "
        Current Localization Group (dynamic locales)"
    ::= { xcmGeneralMIBGroups 3 }

xcmGenLocalizationGroup OBJECT-GROUP
    OBJECTS {
        --  Supported Localization Info
        xcmGenLocalizationRowStatus,
        xcmGenLocalizationASCIIName,
        xcmGenLocalizationName,
        xcmGenLocalizationLanguage,
        xcmGenLocalizationCountry,
        xcmGenLocalizationCharSet
    }
    STATUS  current
    DESCRIPTION "
        General Localization Group (supported dynamic/static locales)"
    ::= { xcmGeneralMIBGroups 4 }

xcmGenCodeIndexedStringGroup OBJECT-GROUP
    OBJECTS { 
        --  Code Indexed String Info
        xcmGenCodeIndexedStringRowStat,
        xcmGenCodeIndexedStringData
    }
    STATUS  current
    DESCRIPTION "
        Code Indexed String Group (charset conversions)"
    ::= { xcmGeneralMIBGroups 5 }

xcmGenCodedCharSetGroup OBJECT-GROUP


    OBJECTS {
        --  Supported Coded Chararcter Set Info
        xcmGenCodedCharSetRowStatus,
        xcmGenCodedCharSetASCIIName
    }
    STATUS  current
    DESCRIPTION "
        Coded Character Set Group (supported IANA-registered charsets)"
    ::= { xcmGeneralMIBGroups 6 }

xcmGenFixedLocalizationGroup OBJECT-GROUP
    OBJECTS {
        --  Fixed Localization Info
        xcmGenFixedLocalizationIndex,
        xcmGenFixedLocalizationRowStat
    }
    STATUS      current
    DESCRIPTION "
        Fixed Localization Group (static locales)"
    ::= { xcmGeneralMIBGroups 7 }

xcmGenLockGroup OBJECT-GROUP
    OBJECTS {
        --  General Lock Simple Objects
        xcmGenLockSupportMaxTimer,
        xcmGenLockCurrentMaxTimer,
        xcmGenLockCurrentLockCount,
        xcmGenLockHighestLockIndex,
        xcmGenLockSupportMaxCount,
        --  General Lock Info
        xcmGenLockRowStatus,
        xcmGenLockOwnerString,
        xcmGenLockOwnerSubtree,
        xcmGenLockOwnerTimer
    }
    STATUS      current
    DESCRIPTION "
        General Lock Group (advisory contention locks)

        Implementation of this group is STRONGLY RECOMMENDED."
    ::= { xcmGeneralMIBGroups 8 }

xcmGenReconfGroup OBJECT-GROUP
    OBJECTS {
        --  General Reconf Simple Objects
        xcmGenReconfActivations,
        xcmGenReconfEntryCount,
        xcmGenReconfSupportMaxCount,
        --  General Reconf Info
        xcmGenReconfRowStatus,
        xcmGenReconfOptionIndex,
        xcmGenReconfOptionState,
        xcmGenReconfErrorIndex,
        xcmGenReconfErrorStatus


    }
    STATUS      current
    DESCRIPTION "
        General Reconf Group (reconfiguration requests)"
    ::= { xcmGeneralMIBGroups 9 }

xcmGenOptionGroup OBJECT-GROUP
    OBJECTS {
        --  General Option Simple Objects
        xcmGenOptionEntryCount,
        xcmGenOptionSupportMaxCount,
        --  General Option Info
        xcmGenOptionRowStatus,
        xcmGenOptionTypeOID,
        xcmGenOptionValueSyntax,
        xcmGenOptionValueInteger,
        xcmGenOptionValueOID,
        xcmGenOptionValueString,
        xcmGenOptionValueLocalization,
        xcmGenOptionValueCodedCharSet,
        --  General Option Common Cross References
        xcmGenOptionNextIndex,
        xcmGenOptionPreviousIndex,
        xcmGenOptionFamilyIndex
    }
    STATUS      current
    DESCRIPTION "
        General Option Group (reconfiguration options)"
    ::= { xcmGeneralMIBGroups 10 }

xcmGenClientDataGroup OBJECT-GROUP
    OBJECTS {
        --  Client Data Simple Objects
        xcmGenClientDataEntryCount,
        xcmGenClientDataLastIndex,
        xcmGenClientDataSupportMaxCount,
        --  General Client Data Info
        xcmGenClientDataRowStatus,
        xcmGenClientDataRequestDate,
        xcmGenClientDataRequestID,
        xcmGenClientDataProductID,
        xcmGenClientDataLength,
        xcmGenClientDataString
    }
    STATUS      current
    DESCRIPTION "
        Client Data Group (network device installs/upgrades)"
    ::= { xcmGeneralMIBGroups 11 }

--  ::= { xcmGeneralMIBGroups 12 } - Reserved (deleted arc)

xcmGenTrapClientGroup OBJECT-GROUP
    OBJECTS {
        --  Trap Client Simple Objects


        xcmGenTrapClientEntryCount,
        xcmGenTrapClientSupportMaxCount,
        --  Trap Client Info
        xcmGenTrapClientRowStatus,
        xcmGenTrapClientIndex,
        xcmGenTrapClientRowPersistence,
        xcmGenTrapClientSNMPVersion,
        --  Trap Client Community Info
        xcmGenTrapClientSNMPCommunity
    }
    STATUS      current
    DESCRIPTION "
        Trap Client Group (trap destination domains/addresses)"
    ::= { xcmGeneralMIBGroups 13 }

xcmGenTrapViewGroup OBJECT-GROUP
    OBJECTS {
        --  Trap View Simple Objects
        xcmGenTrapViewEntryCount,
        xcmGenTrapViewSupportMaxCount,
        --  Trap View (Scope) Info
        xcmGenTrapViewRowStatus,
        xcmGenTrapViewNotifySeverity,
        xcmGenTrapViewNotifyTraining
    }
    STATUS      current
    DESCRIPTION "
        Trap View Group (trap requested object subtrees)"
    ::= { xcmGeneralMIBGroups 14 }

xcmGenMessageMapGroup OBJECT-GROUP
    OBJECTS {
        --  Message Map Info
        xcmGenMessageMapStringLabel
    }
    STATUS      current
    DESCRIPTION "
        Message Map Group (message labels for client localization)"
    ::= { xcmGeneralMIBGroups 15 }

xcmGenMessageTextGroup OBJECT-GROUP
    OBJECTS {
        --  Message Text Info
        xcmGenMessageTextTargetString
    }
    STATUS      current
    DESCRIPTION "
        Message Text Group (message lookups for agent localization)"
    ::= { xcmGeneralMIBGroups 16 }

xcmGenNotifyRuleGroup OBJECT-GROUP
    OBJECTS {
        --  Notify Rule Simple Objects
        xcmGenNotifyRuleEntryCount,


        xcmGenNotifyRuleSupportMaxCount,
        --  Notify Rule Info
        xcmGenNotifyRuleRowStatus,
        xcmGenNotifyRuleRowPersistence,
        xcmGenNotifyRuleRecipientURI,
        xcmGenNotifyRuleEventNames,
        xcmGenNotifyRuleEventDelay,
        xcmGenNotifyRuleSeverityFilter,
        xcmGenNotifyRuleTrainingFilter,
        xcmGenNotifyRuleCharset,
        xcmGenNotifyRuleNaturalLanguage,
        xcmGenNotifyRuleSequenceNumber
    }
    STATUS      current
    DESCRIPTION "
        Notify Rule Group (notification client URI and event names)"
    ::= { xcmGeneralMIBGroups 17 }

xcmGenNotifyDetailGroup OBJECT-GROUP
    OBJECTS {
        --  Notify Detail Simple Objects
        xcmGenNotifyDetailEntryCount,
        xcmGenNotifyDetailSupportMax,
        --  Notify Detail Info
        xcmGenNotifyDetailRowStatus,
        xcmGenNotifyDetailString
    }
    STATUS      current
    DESCRIPTION "
        Notify Detail Group (notification additional details)"
    ::= { xcmGeneralMIBGroups 18 }

END
