XEROX-RESOURCES-MIB DEFINITIONS ::= BEGIN

-- Module:  XCMI Document Resources MIB module
-- Editor:  XCMI Editors
-- File:    22rsrc.mib
-- Date:    Oct. 31, 2002
-- Version: 5.12.pub

--
--

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
                        NOTIFICATION-TYPE, Integer32
                FROM SNMPv2-SMI            -- IETF RFC 1442/1902/2578
        RowStatus
                FROM SNMPv2-TC             -- IETF RFC 1443/1903/2579
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF           -- IETF RFC 1444/1904/2580
        hrDeviceIndex
                FROM HOST-RESOURCES-MIB    -- IETF RFC 1514/2790
        IANACharset
                FROM IANA-CHARSET-MIB      -- charsets.mib
        xeroxCommonMIB
                FROM XEROX-COMMON-MIB
        Cardinal32, Ordinal32, Integer64High, Integer64Low,
                        CodeIndexedStringIndex
                FROM XEROX-GENERAL-TC
        XcmPrtInterpreterLangFamily
                FROM XEROX-PRINTER-EXT-TC
        XcmRsrcGroupSupport, XcmRsrcType,
                        XcmRsrcPersistence, XcmFontType,
                        XcmFontSpacing, XcmFontPCLStyle,
                        XcmFontPCLStrokeWeight
                FROM XEROX-RESOURCES-TC;

xcmRsrcMIB MODULE-IDENTITY
    LAST-UPDATED "0210310000Z"
    ORGANIZATION "Xerox Corporation -
        Xerox Common Management Interface (XCMI) Working Group"
    CONTACT-INFO "
                      XCMI Editors
        E-Mail:       coherence@crt.xerox.com

        --
        --
        "
    DESCRIPTION "


        XCMI Document Resources MIB,
        Version 5.12.pub.

        Copyright (C) 1997-2002 Xerox Corporation. All Rights Reserved."
    ::= { xeroxCommonMIB 57 }

--
--      Document Resources General Group (Mandatory)
--

xcmRsrcGeneral OBJECT IDENTIFIER ::= { xcmRsrcMIB 1 }

-- The Document Resources General table contains general counters and
-- summary information for ease of use of the overall Document Resources
-- MIB.
--
-- The Document Resources General table has exactly one row, which row
-- has an xcmRsrcGeneralIndex value of 1.
--
-- For conformance to this MIB module, implementation of all objects in
-- this group is mandatory.
--

xcmRsrcGeneralTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF XcmRsrcGeneralEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A table of general counters and summary information for
                ease of use of the overall Document Resources MIB on
                this host system.

                This Document Resources General table has exactly one
                row, with an xcmRsrcGeneralIndex value of 1."
        ::= { xcmRsrcGeneral 1 }

xcmRsrcGeneralEntry OBJECT-TYPE
        SYNTAX          XcmRsrcGeneralEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A row entry of general counters and summary information
                for ease of use of the overall Document Resources MIB on
                this host system.

                The Document Resources General table has exactly one row
                entry, with an xcmRsrcGeneralIndex value of 1."
        INDEX { xcmRsrcGeneralIndex }
        ::= { xcmRsrcGeneralTable 1 }

XcmRsrcGeneralEntry ::= SEQUENCE {
        xcmRsrcGeneralIndex             Ordinal32,
        xcmRsrcGeneralRowStatus         RowStatus,


        xcmRsrcGeneralGroupSupport      XcmRsrcGroupSupport,
        xcmRsrcGeneralCreateSupport     XcmRsrcGroupSupport,
        xcmRsrcGeneralUpdateSupport     XcmRsrcGroupSupport,
        xcmRsrcGeneralRsrcTypeAccept    OCTET STRING,
        xcmRsrcGeneralFontTypeAccept    OCTET STRING,
        xcmRsrcGeneralRsrcTypeSupport   OCTET STRING,
        xcmRsrcGeneralFontTypeSupport   OCTET STRING
        }

xcmRsrcGeneralIndex OBJECT-TYPE
        SYNTAX          Ordinal32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An identifier of this conceptual row in the
                xcmRsrcGeneralTable.

                The xcmRsrcGeneralTable has exactly one row, with an
                xcmRsrcGeneralIndex value of 1."
        ::= { xcmRsrcGeneralEntry 1 }

xcmRsrcGeneralRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Displays the status of this conceptual row in the
                xcmRsrcGeneralTable.

                The xcmRsrcGeneralTable has exactly one row, with an
                xcmRsrcGeneralIndex value of 1."
        ::= { xcmRsrcGeneralEntry 2 }

xcmRsrcGeneralGroupSupport OBJECT-TYPE
        SYNTAX          XcmRsrcGroupSupport
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates which object groups of the Document Resources
                MIB are supported by this host system, specified in a
                bit-mask."
        DEFVAL          { 2 }   -- bit indicator for the one mand. group
        ::= { xcmRsrcGeneralEntry 3 }

xcmRsrcGeneralCreateSupport OBJECT-TYPE
        SYNTAX          XcmRsrcGroupSupport
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates which object groups of the Document Resources
                MIB are supported by this host system for dynamic row
                creation (via '...RowStatus'), specified in a bit-mask."
        DEFVAL          { 0 }  -- no mandatory dynamic-row-create groups
        ::= { xcmRsrcGeneralEntry 4 }


xcmRsrcGeneralUpdateSupport OBJECT-TYPE
        SYNTAX          XcmRsrcGroupSupport
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates which object groups of the Document Resources
                MIB are supported by this host system for existing row
                update (via SNMP Set-Request PDUs), specified in a
                bit-mask."
        DEFVAL          { 0 } -- no mandatory existing-row-update groups
        ::= { xcmRsrcGeneralEntry 5 }

xcmRsrcGeneralRsrcTypeAccept OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..32))   -- 256 types
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates all of the document resource types which are
                accepted for dynamic delivery to and use by this host
                system, specified in a bit-array.

                Usage:  This bit-array is constructed from the set of
                supported values from 'XcmRsrcType', used as powers of 2
                with big-endian rules - the high-order bit of the first
                octet corresponds to a resource type of '0' (reserved)
                - the low-order bit of the first octet corresponds to a
                resource type of '7'.

                Similar to the BITS pseudotype defined in IETF SMIv2
                (RFC 2578), which has the same bit ordering rules but
                requires definitions for contiguous enumerated bits."
        REFERENCE
                "See:   'XcmRsrcType' in XCMI Document Resources TC;
                        'hrPrinterDetectedErrorState' in IETF
                            Host Resources MIB (RFC 1514/2790);
                        Section 7.1.4 'The BITS construct' in IETF
                            SMIv2 (RFC 2578);
                        Section 8 'Serialization using the BER' in IETF
                            Transport Mappings for SNMPv2 (RFC 1908)."
        ::= { xcmRsrcGeneralEntry 6 }

xcmRsrcGeneralFontTypeAccept OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..64))   -- 512 types
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates all of the font types which are accepted for
                dynamic delivery to and use by this host system,
                specified in a bit-array.

                Usage:  This bit-array is constructed from the set of
                supported values from 'XcmFontType', used as powers of 2
                with big-endian rules - the high-order bit of the first


                octet corresponds to a font type of '0' (reserved)
                - the low-order bit of the first octet corresponds to a
                font type of '7'.

                Similar to the BITS pseudotype defined in IETF SMIv2
                (RFC 2578), which has the same bit ordering rules but
                requires definitions for contiguous enumerated bits."
        REFERENCE
                "See:   'XcmFontType' in XCMI Document Resources TC;
                        'hrPrinterDetectedErrorState' in IETF
                            Host Resources MIB (RFC 1514/2790);
                        Section 7.1.4 'The BITS construct' in IETF
                            SMIv2 (RFC 2578);
                        Section 8 'Serialization using the BER' in IETF
                            Transport Mappings for SNMPv2 (RFC 1908)."
        ::= { xcmRsrcGeneralEntry 7 }

xcmRsrcGeneralRsrcTypeSupport OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..32))   -- 256 types
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates all of the document resource types which are
                supported for use by this host system, specified in a
                bit-array.

                Usage:  This bit-array is constructed from the set of
                supported values from 'XcmRsrcType', used as powers of 2
                with big-endian rules - the high-order bit of the first
                octet corresponds to a resource type of '0' (reserved)
                - the low-order bit of the first octet corresponds to a
                resource type of '7'.

                Similar to the BITS pseudotype defined in IETF SMIv2
                (RFC 2578), which has the same bit ordering rules but
                requires definitions for contiguous enumerated bits."
        REFERENCE
                "See:   'XcmRsrcType' in XCMI Document Resources TC;
                        'hrPrinterDetectedErrorState' in IETF
                            Host Resources MIB (RFC 1514/2790);
                        Section 7.1.4 'The BITS construct' in IETF
                            SMIv2 (RFC 2578);
                        Section 8 'Serialization using the BER' in IETF
                            Transport Mappings for SNMPv2 (RFC 1908)."
        ::= { xcmRsrcGeneralEntry 8 }

xcmRsrcGeneralFontTypeSupport OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (0..64))   -- 512 types
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Indicates all of the font types which are supported for
                use by this host system, specified in a bit-array.


                Usage:  This bit-array is constructed from the set of
                supported values from 'XcmFontType', used as powers of 2
                with big-endian rules - the high-order bit of the first
                octet corresponds to a font type of '0' (reserved)
                - the low-order bit of the first octet corresponds to a
                font type of '7'.

                Similar to the BITS pseudotype defined in IETF SMIv2
                (RFC 2578), which has the same bit ordering rules but
                requires definitions for contiguous enumerated bits."
        REFERENCE
                "See:   'XcmFontType' in XCMI Document Resources TC;
                        'hrPrinterDetectedErrorState' in IETF
                            Host Resources MIB (RFC 1514/2790);
                        Section 7.1.4 'The BITS construct' in IETF
                            SMIv2 (RFC 2578);
                        Section 8 'Serialization using the BER' in IETF
                            Transport Mappings for SNMPv2 (RFC 1908)."
        ::= { xcmRsrcGeneralEntry 9 }

--
--      The (Generic) Document Resources Group (Mandatory)
--

xcmRsrcInfo OBJECT IDENTIFIER ::= { xcmRsrcMIB 3 }

-- The (generic) document resources table contains general info. on
-- document resources such as fonts, logos, and forms.
--
-- For conformance to this MIB module, implementation of all objects in
-- this group is mandatory.
--

xcmRsrcTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF XcmRsrcEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table should contain an entry for each unique
                resource available in the printer or multi-functional
                device."
        ::= { xcmRsrcInfo 1 }

xcmRsrcEntry OBJECT-TYPE
        SYNTAX          XcmRsrcEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Entries exist in the table for each available
                resource on each present device."
        INDEX { hrDeviceIndex, xcmRsrcIndex }
        ::= { xcmRsrcTable 1 }


XcmRsrcEntry ::= SEQUENCE {
        xcmRsrcIndex                    Ordinal32,
        xcmRsrcRowStatus                RowStatus,
        xcmRsrcType                     XcmRsrcType,
        xcmRsrcInterpreterLangFamily    XcmPrtInterpreterLangFamily,
        xcmRsrcName                     CodeIndexedStringIndex,
        xcmRsrcDescription              CodeIndexedStringIndex,
        xcmRsrcCopyright                CodeIndexedStringIndex,
        xcmRsrcPersistence              XcmRsrcPersistence,
        xcmRsrcHrStorageIndex           Cardinal32,
        xcmRsrcSizeHigh                 Integer64High,
        xcmRsrcSizeLow                  Integer64Low,
        xcmRsrcID                       CodeIndexedStringIndex,
        xcmRsrcVersion                  CodeIndexedStringIndex
        }

xcmRsrcIndex OBJECT-TYPE
        SYNTAX          Ordinal32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A unique value for each available resource on each
                present device. These values may change upon addition
                and deletion of a resource; however, index values should
                not change for existing resources at least within a
                power cycle; and index values should not be re-used for
                different resources at least within a power cycle."
        ::= { xcmRsrcEntry 1 }

xcmRsrcRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Manages the status of this conceptual row in the
                xcmRsrcTable.

                Note that the status of a row in the table should
                reflect the status of the corresponding resource, not
                actually drive the status of the resource; in
                particular, removing a row from the table should not
                itself cause the removal of the corresponding resource
                from the device."
        ::= { xcmRsrcEntry 2 }

xcmRsrcType OBJECT-TYPE
        SYNTAX          XcmRsrcType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The type of this resource, from the given
                enumeration."
        DEFVAL          { unknown }


        ::= { xcmRsrcEntry 3 }

xcmRsrcInterpreterLangFamily OBJECT-TYPE
        SYNTAX          XcmPrtInterpreterLangFamily
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The print interpreter language or other family
                of imaging mechanism with which this resource is
                associated, from the given enumeration."
        DEFVAL          { other }
        ::= { xcmRsrcEntry 4 }

xcmRsrcName OBJECT-TYPE
        SYNTAX          CodeIndexedStringIndex
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The resource name, the human-readable name usually
                used to identify the resource by and to the device.
                Being of type CodeIndexedString, the resource name may
                be present in multiple character sets, although it will
                commonly be present in only one preferred character
                set, e.g. only in ASCII for the name of a PostScript
                font.

                For a font resource, the resource name is the name of
                the font, the deliverable resource which informs how
                to image the included set of characters. The font is
                generally named in accord with the page description
                language or other imaging mechanism with which the
                font is associated. Often but not always, the font's
                name is the same as or similar to the name of the
                font's typeface, its design.

                Typical PostScript font names include 'Helvetica' (i.e.
                the medium, upright version) and 'Times-BoldItalic'.
                Typical PCL font names include 'Courier10' or
                'TmsRmn'.  However, it should be noted that PCL font
                names are normally just comments, not used for machine
                identification of the font resource."
        DEFVAL          { 0 }  -- no entry in string table
        ::= { xcmRsrcEntry 5 }

xcmRsrcDescription OBJECT-TYPE
        SYNTAX          CodeIndexedStringIndex
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "A description of the resource, as complete as
                practical, including resource type and sub-type and
                other significant attributes.  For example,
                'PostScript Type 1 font for Times Bold Italic'."
        DEFVAL          { 0 }  -- no entry in string table


        ::= { xcmRsrcEntry 6 }

xcmRsrcCopyright OBJECT-TYPE
        SYNTAX          CodeIndexedStringIndex
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "A human readable copyright message for the resource,
                e.g. as may be required by the resource's licensor.
                May also be null, or indicate that no rights are
                claimed, e.g. 'public domain'."
        DEFVAL          { 0 }  -- no entry in string table
        ::= { xcmRsrcEntry 7 }

xcmRsrcPersistence OBJECT-TYPE
        SYNTAX          XcmRsrcPersistence
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The persistence of this resource, from the given
                enumeration."
        DEFVAL          { unknown }
        ::= { xcmRsrcEntry 8 }

xcmRsrcHrStorageIndex OBJECT-TYPE
        SYNTAX          Cardinal32  -- normally an ordinal
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The hrStorageIndex of the storage device or other
                storage resource which contains this document resource.

                A hrStorageIndex points to a hrStorageEntry in the
                hrStorageTable in the Host Resource MIB.  Each
                hrStorageEntry is a sequence of hrStorageIndex,
                hrStorageType, hrStorageDescr,
                hrStorageAllocationUnits, hrStorageSize, hrStorageUsed,
                hrStorageAllocationFailures.  The hrStorageType
                includes hrStorageOther, hrStorageRam,
                hrStorageVirtualMemory, hrStorageFixedDisk,
                hrStorageRemovableDisk, hrStorageFloppyDisk.

                A 0 index value indicates no hrStorageEntry."
        REFERENCE
                "See: 'hrStorageIndex' in IETF Host Resources MIB (RFC
                1514, September 1993) on page 8 - which indexes the
                Host Resources Storage Group (mandatory for all host
                systems in HR MIB)."
        DEFVAL          { 0 }  -- no hrStorageEntry
        ::= { xcmRsrcEntry 9 }

xcmRsrcSizeHigh OBJECT-TYPE
        SYNTAX          Integer64High
        MAX-ACCESS      read-create


        STATUS          current
        DESCRIPTION
                "The high-order part of the data storage size of this
                document resource itself, in units of bytes.  A
                xcmRsrcSizeHigh value of -1 indicates unknown size."
        DEFVAL          { -1 }  -- unknown size
        ::= { xcmRsrcEntry 10 }

xcmRsrcSizeLow OBJECT-TYPE
        SYNTAX          Integer64Low
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The low-order part of the data storage size of this
                document resource itself, in units of bytes.  A
                xcmRsrcSizeHigh value of -1 indicates unknown size."
        DEFVAL          { 0 }  -- value here doesn't matter as long as
                                 -- high part is -1
        ::= { xcmRsrcEntry 11 }

xcmRsrcID OBJECT-TYPE
        SYNTAX          CodeIndexedStringIndex
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "An ID, or identifier, for the resource, complementary
                to the resource name, as appropriate to the resource
                type and sub-type.  For example, for a PostScript font
                or PCL font, this resource ID would be the PostScript or
                PCL font ID.  Where the ID is inherently an integer or
                other number, e.g. as for a PCL font ID, it is
                nonetheless represented here as a string, e.g. '253'."
        DEFVAL          { 0 }  -- no entry in string table
        ::= { xcmRsrcEntry 12 }

xcmRsrcVersion OBJECT-TYPE
        SYNTAX          CodeIndexedStringIndex
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The version of the resource, as appropriate to the
                resource type and sub-type.  Where the version is
                inherently an integer or other number, it is nonetheless
                represented here as a string, e.g. '3'."
        DEFVAL          { 0 }  -- no entry in string table
        ::= { xcmRsrcEntry 13 }

--
--  Document Resource Notification-Event (SNMP Trap) Definition
--

xcmRsrcV1EventOID OBJECT-IDENTITY
    STATUS      current


    DESCRIPTION
        "The value of the enterprise-specific OID in an SNMPv1 trap sent
        whenever a resource entry or a subordinate entry changes.

        See SNMPv2 trap definition 'xcmRsrcV2Event' below
        for 'special semantics'."
    ::= { xcmRsrcInfo 2 }

xcmRsrcV2EventPrefix
    OBJECT IDENTIFIER ::= { xcmRsrcV1EventOID 0 }

xcmRsrcV2Event NOTIFICATION-TYPE
    OBJECTS {
        xcmRsrcRowStatus
    }
    STATUS      current
    DESCRIPTION
        "This trap is sent whenever ANY object in a resource entry
        or in a subordinate entry changes.

        This notification has the following special semantics:

            o   Any resource entry object (e.g. 'xcmRsrcPersistence'
                in the Resource table) whose value has changed SHOULD
                also be added to this trap's variable-bindings.
            o   Any subordinate entry object (e.g. 'xcmFontRowStatus'
                in the Font table) whose value has changed MAY
                also be added to this trap's variable-bindings.

        The above special semantics permit optimizations by agreement
        between SNMP manager and SNMP agent implementers."
    ::= { xcmRsrcV2EventPrefix 1 }

--  Note that the SNMPv2 to SNMPv1 translation rules dictate that the
--  preceding structure will result in SNMPv1 traps of the following
--  form:
--
--  xcmRsrcV1Event TRAP-TYPE
--      ENTERPRISE  xcmRsrcV1EventOID
--      VARIABLES   {
--          xcmRsrcRowStatus
--      }
--      DESCRIPTION
--          "This trap is sent whenever ANY object in a resource entry
--          or in a subordinate entry changes.
--  
--          See SNMPv2 trap definition 'xcmRsrcV2Event' above
--          for 'special semantics'."
--      ::= 1

--
--      The (General) Fonts Group (Conditionally Mandatory)
--


xcmFontInfo OBJECT IDENTIFIER ::= { xcmRsrcMIB 4 }

-- The (general) fonts table contains general info. on font resources.
-- The fonts table augments the resources table for all resources
-- which are fonts.
--
-- For conformance to this MIB module, implementation of all objects in
-- this group is conditionally mandatory:  mandatory for all devices
-- which manage or monitor font-specific attributes of resources over
-- the network.
--

xcmFontTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF XcmFontEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table should contain an entry for each unique
                font available in the device. If a font is available
                to multiple interpreters, there should be multiple
                entries for that font, one per interpreter."
        ::= { xcmFontInfo 1 }

xcmFontEntry OBJECT-TYPE
        SYNTAX          XcmFontEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Entries exist in the table for each font
                available to an interpreter in the device."
        INDEX { hrDeviceIndex, xcmRsrcIndex }
        ::= { xcmFontTable 1 }

XcmFontEntry ::= SEQUENCE {
        xcmFontRowStatus                RowStatus,
        xcmFontType                     XcmFontType,
        xcmFontPointsMinNumerator       Integer32,
        xcmFontPointsMaxNumerator       Integer32,
        xcmFontPointsDenominator        Integer32,
        xcmFontSpacing                  XcmFontSpacing,
        xcmFontCharSet                  IANACharset
        }

xcmFontRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Manages the status of this conceptual row in the
                xcmFontTable."
        ::= { xcmFontEntry 1 }

xcmFontType OBJECT-TYPE


        SYNTAX          XcmFontType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The type of this font, from the given enumeration."
        DEFVAL          { unknown }
        ::= { xcmFontEntry 2 }

xcmFontPointsMinNumerator OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The numerator of a fraction indicating the body size,
                or the minimum of the supported range of body sizes,
                of the font.  The size is in units of printer's points,
                which units are here considered to be exactly 1/72 of
                an inch.  Values of -1 indicate 'infinite,' while
                values of -2 indicate 'unknown.'"
        DEFVAL          { -2 }  -- unknown
        ::= { xcmFontEntry 3 }

xcmFontPointsMaxNumerator OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The numerator of a fraction indicating the body size,
                or the maximum of the supported range of body sizes,
                of the font.  The size is in units of printer's points,
                which units are here considered to be exactly 1/72 of
                an inch.  Values of -1 indicate 'infinite,' while
                values of -2 indicate 'unknown.'"
        DEFVAL          { -2 }  -- unknown
        ::= { xcmFontEntry 4 }

xcmFontPointsDenominator OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The denominator of both minimum and maximum body size.
                The denominator is typically chosen to give a
                convenient scale and precision for expressing the
                sizes.  Values of -1 indicate 'infinite,' while values
                of -2 indicate 'unknown.'"
        DEFVAL          { -2 }  -- unknown
        ::= { xcmFontEntry 5 }

xcmFontSpacing OBJECT-TYPE
        SYNTAX          XcmFontSpacing
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION


                "The kind of spacing of the characters in this font,
                from the given enumeration."
        DEFVAL          { unknown }
        ::= { xcmFontEntry 6 }

xcmFontCharSet OBJECT-TYPE
        SYNTAX          IANACharset
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The character set of this font resource.  The value is
                the enum for the IANA-registered coded character set,
                per the IANACharset textual-convention in the Printer
                MIB (RFC 1759).  For more info. about character sets and
                coded character sets, see RFCs 2277 and 2278."
        DEFVAL          { other }  -- no specified character set
        ::= { xcmFontEntry 7 }

--
--      The PCL Fonts Group (Conditionally Mandatory)
--

xcmFontPCLInfo OBJECT IDENTIFIER ::= { xcmRsrcMIB 5 }

-- The PCL fonts table contains info. on HP PCL font resources.
-- The PCL fonts table augments the resources table and the
-- (generic) fonts table.
--
-- For conformance to this MIB module, implementation of all objects in
-- this group is conditionally mandatory:  mandatory for all devices
-- which manage or monitor PCL-specific attributes of font resources
-- over the network.
--

xcmFontPCLTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF XcmFontPCLEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "This table should contain an entry for each unique
                font available in the device. If a font is available
                to multiple interpreters, there should be multiple
                entries for that font here, one entry per interpreter."
        ::= { xcmFontPCLInfo 1 }

xcmFontPCLEntry OBJECT-TYPE
        SYNTAX          XcmFontPCLEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "Entries exist in the table for each PCL font."
        INDEX { hrDeviceIndex, xcmRsrcIndex }
        ::= { xcmFontPCLTable 1 }


XcmFontPCLEntry ::= SEQUENCE {
        xcmFontPCLRowStatus             RowStatus,
        xcmFontPCLTypefaceValue         Integer32,
        xcmFontPCLSymbolSetValue        Integer32,
        xcmFontPCLStyle                 XcmFontPCLStyle,
        xcmFontPCLPitchMinNumerator     Integer32,
        xcmFontPCLPitchMaxNumerator     Integer32,
        xcmFontPCLPitchDenominator      Integer32,
        xcmFontPCLStrokeWeight          XcmFontPCLStrokeWeight
        }

xcmFontPCLRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "Manages the status of this conceptual row in the
                xcmFontPCLTable."
        ::= { xcmFontPCLEntry 1 }

xcmFontPCLTypefaceValue OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The integer value specifying the PCL 'typeface'
                (really family) of the font. For example, 3 normally
                indicates Courier, 4 indicates 'Helv'.

                A value of -1 indicates unknown typeface value."
        REFERENCE
                "See: 'PCL 5 Printer Language Technical Reference
                Manual' and 'PCL 5 Comparision Guide' by
                Hewlett-Packard Corporation."
        DEFVAL          { -1 }  -- unknown typeface value
        ::= { xcmFontPCLEntry 2 }

xcmFontPCLSymbolSetValue OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The integer value specifying the PCL symbol set of
                the font. For example, 21 normally indicates ASCII,
                277 indicates the HP Roman-8 set.

                A value of -1 indicates unknown symbol set value."
        REFERENCE
                "See: 'PCL 5 Printer Language Technical Reference
                Manual' and 'PCL 5 Comparision Guide' by
                Hewlett-Packard Corporation."
        DEFVAL          { -1 }  -- unknown symbol set value
        ::= { xcmFontPCLEntry 3 }


xcmFontPCLStyle OBJECT-TYPE
        SYNTAX          XcmFontPCLStyle
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The style of the font, from the given enumeration."
        REFERENCE
                "See: 'PCL 5 Printer Language Technical Reference
                Manual' and 'PCL 5 Comparision Guide' by
                Hewlett-Packard Corporation."
        DEFVAL          { unknown }
        ::= { xcmFontPCLEntry 4 }

xcmFontPCLPitchMinNumerator OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The numerator of a fraction indicating the pitch, or
                the minimum of the supported range of pitches, of the
                font.  The pitch is in units of characters per inch.
                Values of -1 indicate 'infinite,' while values of -2
                indicate 'unknown.'"
        DEFVAL          { -2 }  -- unknown
        ::= { xcmFontPCLEntry 5 }

xcmFontPCLPitchMaxNumerator OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The numerator of a fraction indicating the pitch, or
                the maximum of the supported range of pitches, of the
                font.  The pitch is in units of characters per inch.
                Values of -1 indicate 'infinite,' while values of -2
                indicate 'unknown.'"
        DEFVAL          { -2 }  -- unknown
        ::= { xcmFontPCLEntry 6 }

xcmFontPCLPitchDenominator OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The denominator of both minimum and maximum pitch.
                The denominator is typically chosen to give a
                convenient scale and precision for expressing the
                pitches.  Values of -1 indicate 'infinite,' while
                values of -2 indicate 'unknown.'"
        DEFVAL          { -2 }  -- unknown
        ::= { xcmFontPCLEntry 7 }

xcmFontPCLStrokeWeight OBJECT-TYPE


        SYNTAX          XcmFontPCLStrokeWeight
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
                "The PCL stroke weight of the font, from the given
                enumeration."
        REFERENCE
                "See: 'PCL 5 Printer Language Technical Reference
                Manual' and 'PCL 5 Comparision Guide' by
                Hewlett-Packard Corporation."
        DEFVAL          { unknown }
        ::= { xcmFontPCLEntry 8 }

--
-- Document Resources MIB Conformance Information
--

xcmRsrcMIBConformance
                   OBJECT IDENTIFIER ::= { xcmRsrcMIB 2 }

xcmRsrcMIBGroups
                   OBJECT IDENTIFIER ::= { xcmRsrcMIBConformance 2 }

--
-- Compliance Statements
--

xcmRsrcMIBCompliance MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "The compliance statement for SNMP management agents that
        implement the XCMI Document Resources MIB."
    MODULE -- this module
    MANDATORY-GROUPS {
        xcmRsrcGeneralGroup,
        xcmRsrcInfoGroup
    }

    --
    -- Compliance Statements for the Conditionally Mandatory Groups.
    --

    GROUP       xcmFontInfoGroup
    DESCRIPTION "
        This Group is Conditionally Mandatory, i.e. mandatory for
        those devices which manage font-specific attributes of
        resources over the network."

    GROUP       xcmFontPCLGroup
    DESCRIPTION "
        This Group is Conditionally Mandatory, i.e. mandatory for
        those devices which manage PCL-specific attributes of font
        resources over the network."


    --
    -- MIN Compliance statements for the xcmRsrcGeneralGroup
    --

    -- (none)

    --
    -- MIN Compliance statements for the xcmRsrcInfoGroup
    --

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

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

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

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

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

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

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


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

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

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

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

    --
    -- MIN Compliance statements for the xcmFontInfoGroup
    --

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

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

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

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


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

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

    --
    -- MIN Compliance statements for the xcmFontPCLGroup
    --

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

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

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

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

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

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


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

    ::= { xcmRsrcMIBConformance 1 }

--
--  Conformance Groups
--

xcmRsrcGeneralGroup OBJECT-GROUP
    OBJECTS {
        xcmRsrcGeneralRowStatus,
        xcmRsrcGeneralGroupSupport,
        xcmRsrcGeneralCreateSupport,
        xcmRsrcGeneralUpdateSupport,
        xcmRsrcGeneralRsrcTypeAccept,
        xcmRsrcGeneralFontTypeAccept,
        xcmRsrcGeneralRsrcTypeSupport,
        xcmRsrcGeneralFontTypeSupport
    }
    STATUS  current
    DESCRIPTION
        "The Resources MIB General Group."
    ::= { xcmRsrcMIBGroups 1 }

xcmRsrcInfoGroup OBJECT-GROUP
    OBJECTS {
        xcmRsrcRowStatus,
        xcmRsrcType,
        xcmRsrcInterpreterLangFamily,
        xcmRsrcName,
        xcmRsrcDescription,
        xcmRsrcCopyright,
        xcmRsrcPersistence,
        xcmRsrcHrStorageIndex,
        xcmRsrcSizeHigh,
        xcmRsrcSizeLow,
        xcmRsrcID,
        xcmRsrcVersion
    }
    STATUS  current
    DESCRIPTION
        "The Document Resources MIB (Generic) Resources Group."
    ::= { xcmRsrcMIBGroups 3 }

xcmFontInfoGroup OBJECT-GROUP
    OBJECTS {
        xcmFontRowStatus,
        xcmFontType,
        xcmFontPointsMinNumerator,


        xcmFontPointsMaxNumerator,
        xcmFontPointsDenominator,
        xcmFontSpacing,
        xcmFontCharSet
    }
    STATUS  current
    DESCRIPTION
        "The Resources MIB (General) Fonts Group."
    ::= { xcmRsrcMIBGroups 4 }

xcmFontPCLGroup OBJECT-GROUP
    OBJECTS {
        xcmFontPCLRowStatus,
        xcmFontPCLTypefaceValue,
        xcmFontPCLSymbolSetValue,
        xcmFontPCLStyle,
        xcmFontPCLPitchMinNumerator,
        xcmFontPCLPitchMaxNumerator,
        xcmFontPCLPitchDenominator,
        xcmFontPCLStrokeWeight
    }
    STATUS  current
    DESCRIPTION
        "The Resources MIB PCL Fonts Group."
    ::= { xcmRsrcMIBGroups 5 }

END
