XEROX-MIB DEFINITIONS ::= BEGIN

-- Module:  Printer MIB Extensions
-- Author:  Angelo Caruso & Gary Padlipsky
-- File:    16prtx.txt
-- Date:    August 30, 1997
-- Version: 2.36.pub

IMPORTS
    DisplayString
            FROM RFC1213-MIB
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
            FROM SNMPv2-SMI                 -- RFC 1442/1902
    RowStatus
            FROM SNMPv2-TC                  -- RFC 1443/1903
    MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF                -- RFC 1444/1904
    hrDeviceIndex
            FROM HOST-RESOURCES-MIB
    PresentOnOff,
    prtGeneralEntry,
    prtInputEntry,
    prtOutputEntry,
    prtChannelEntry,
    prtInterpreterEntry,
    prtInterpreterIndex
            FROM Printer-MIB                -- RFC 1759
    xeroxCommonMIB
            FROM XEROX-COMMON-MIB
    Cardinal32, Ordinal32,
    XcmFixedLocaleDisplayString,
    XcmGenRowPersistence
            FROM XEROX-GENERAL-TC
    XcmPrtAuxSheetContent,
    XcmPrtAuxSheetType,
    XcmPrtGroupSupport,
    XcmPrtIETFPrintMIBGroupSupport,
    XcmPrtMediaTypeErrorPolicy,
    XcmPrtMediumClassType,
    XcmPrtMediumSize,
    XcmPrtOutputOffsetStackingType,
    XcmPrtPageSizeErrorPolicy,
    XcmPrtPCLFontSource,
    XcmPrtPlex,
    XcmPrtPrintQuality,
    XcmPrtPrintScreen,
    XcmPrtTraySwitch
            FROM XEROX-PRINTER-EXT-TC;

xcmPrintMIB MODULE-IDENTITY
    LAST-UPDATED "9708300000Z"
    ORGANIZATION "Xerox Common Management Interface Working Group"
    CONTACT-INFO "
                      XCMI Editors
        E-Mail:       xcmieditors@cp10.es.xerox.com

        --
        --
    "
    DESCRIPTION "
        Version: 2.36.pub

        Xerox Printer MIB Extensions Module.
        This Module provides extension to the IETF Printer MIB.

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

--
-- Groups in the XEROX-PRINTER-EXT-MIB
--

xcmPrtBase                OBJECT IDENTIFIER ::= { xcmPrintMIB 1 }

xcmPrtGeneral             OBJECT IDENTIFIER ::= { xcmPrintMIB 5 }
xcmPrtInput               OBJECT IDENTIFIER ::= { xcmPrintMIB 8 }
xcmPrtOutput              OBJECT IDENTIFIER ::= { xcmPrintMIB 9 }
xcmPrtChannel             OBJECT IDENTIFIER ::= { xcmPrintMIB 14 }
xcmPrtInterpreter         OBJECT IDENTIFIER ::= { xcmPrintMIB 15 }

xcmPrtInputAlias          OBJECT IDENTIFIER ::= { xcmPrintMIB 50 }
xcmPrtAuxSheet            OBJECT IDENTIFIER ::= { xcmPrintMIB 52 }
xcmPrtAuxPackage          OBJECT IDENTIFIER ::= { xcmPrintMIB 60 }
xcmPrtMediumTypeSupported OBJECT IDENTIFIER ::= { xcmPrintMIB 75 }

xcmPrtInterpPCL           OBJECT IDENTIFIER ::= { xcmPrintMIB 70 }

--
--          Base Group (Mandatory)
--
--          Implementation of the xcmPrtBaseGroup is mandatory.
--
--          Usage:  Conforming management agents which implement this
--          group shall ALWAYS implement all of the mandatory groups
--          and all of the applicable conditionally mandatory groups
--          in the IETF Printer MIB (RFC 1759).

xcmPrtBaseTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtBaseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of general counters and information for ease of use of
        the XCMI Printer MIB Extensions Module and the
        IETF Printer MIB (RFC 1759) on this host system.

        Usage:  The ONLY valid row in the 'xcmPrtBaseTable'
        shall ALWAYS have an 'xcmPrtBaseIndex' of one ('1')."
    ::= { xcmPrtBase 2 }

xcmPrtBaseEntry OBJECT-TYPE
    SYNTAX      XcmPrtBaseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of general counters and information for ease of use of
        the XCMI Printer MIB Extensions Module and the
        IETF Printer MIB (RFC 1759) on this host system.

        Usage:  The ONLY valid row in the 'xcmPrtBaseTable'
        shall ALWAYS have an 'xcmPrtBaseIndex' of one ('1')."
    INDEX       { xcmPrtBaseIndex }
    ::= { xcmPrtBaseTable 1 }

XcmPrtBaseEntry ::= SEQUENCE {
        -- xcmPrtBaseGroup
        xcmPrtBaseIndex                Ordinal32,
        xcmPrtBaseRowStatus            RowStatus,
        xcmPrtBaseGroupSupport         XcmPrtGroupSupport,
        xcmPrtBaseUpdateSupport        XcmPrtGroupSupport,
        xcmPrtBaseCreateSupport        XcmPrtGroupSupport,
        xcmPrtBaseIETFMIBGroupSupport  XcmPrtIETFPrintMIBGroupSupport,
        xcmPrtBaseIETFMIBUpdateSupport XcmPrtIETFPrintMIBGroupSupport,
        xcmPrtBaseIETFMIBCreateSupport XcmPrtIETFPrintMIBGroupSupport
    }

xcmPrtBaseIndex 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 'xcmPrtBaseTable'.

        Usage:  The ONLY valid row in the 'xcmPrtBaseTable'
        shall ALWAYS have an 'xcmPrtBaseIndex' of one ('1')."
    ::= { xcmPrtBaseEntry 1 }

xcmPrtBaseRowStatus 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 'xcmPrtBaseTable'.

        Usage:  'xcmPrtBaseRowStatus' is 'read-only' because
        the ONLY valid conceptual row shall NOT be deleted."
    ::= { xcmPrtBaseEntry 2 }

xcmPrtBaseGroupSupport OBJECT-TYPE
    SYNTAX      XcmPrtGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional module objects which are
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask."
    DEFVAL      { 0 }                  --  no mandatory groups
    ::= { xcmPrtBaseEntry 3 }

xcmPrtBaseUpdateSupport OBJECT-TYPE
    SYNTAX      XcmPrtGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional module objects which are
        supported for existing row update (via SNMP Set-Request PDUs)
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask."
    DEFVAL      { 0 }                   -- no existing row update groups
    ::= { xcmPrtBaseEntry 4 }

xcmPrtBaseCreateSupport OBJECT-TYPE
    SYNTAX      XcmPrtGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional module objects which are
        supported for dynamic row creation (via '...RowStatus')
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask."
    DEFVAL      { 0 }                   -- no dynamic row create groups
    ::= { xcmPrtBaseEntry 5 }

xcmPrtBaseIETFMIBGroupSupport OBJECT-TYPE
    SYNTAX      XcmPrtIETFPrintMIBGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional module objects in the IETF Printer MIB
        which are supported by this management agent
        implementation (ie, version) on this host system,
        specified in a bit-mask."
    REFERENCE   "See: IETF Printer MIB"
    DEFVAL      { 127525 }  -- (1F225H) mandatory groups
    ::= { xcmPrtBaseEntry 6 }

xcmPrtBaseIETFMIBUpdateSupport OBJECT-TYPE
    SYNTAX      XcmPrtIETFPrintMIBGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional module objects in the IETF Printer MIB
        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."
    REFERENCE   "See: IETF Printer MIB"
    DEFVAL      { 0 }                   -- no existing row update groups
    ::= { xcmPrtBaseEntry 7 }

xcmPrtBaseIETFMIBCreateSupport OBJECT-TYPE
    SYNTAX      XcmPrtIETFPrintMIBGroupSupport
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "
        The terse conformance statement of ALL mandatory, conditionally
        mandatory, and optional module objects in the IETF Printer MIB
        supported for dynamic row creation (via '...RowStatus')
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Currently there are no groups within the IETF Printer MIB which
        provide for dynamic row creation, and this object shall always
        return '0'.  Dynamic row creation is provided to these groups
        through the XCMI Printer MIB Extensions Module, but
        CreateSupport should be reflected in xcmPrtBaseCreateSupport.
        This object is included for completeness."
    REFERENCE   "See: IETF Printer MIB"
    DEFVAL      { 0 }                   -- no dynamic row create groups
    ::= { xcmPrtBaseEntry 8 }

--
-- The Printer MIB General Group Extension (xcmPrtGeneralGroup)
--
-- This group logically augments the Printer MIB's prtGeneral group.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtGeneralTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtGeneralEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of general information per printer.
        This table augments the prtGeneralTable."
    ::= { xcmPrtGeneral 1 }

xcmPrtGeneralEntry OBJECT-TYPE
    SYNTAX      XcmPrtGeneralEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry exists in this table for each device entry in the
        hostmib device table whose type is printer."
    AUGMENTS { prtGeneralEntry }
    ::= { xcmPrtGeneralTable 1 }

XcmPrtGeneralEntry ::= SEQUENCE {
    -- xcmPrtGeneralGroup
    xcmPrtGeneralRowStatus            RowStatus,
    xcmPrtGeneralAuxSheetPackage      Cardinal32,
    xcmPrtGeneralManualFeedTimeout    Integer32,
    xcmPrtGeneralInputAutoSwitch      PresentOnOff,
    xcmPrtGeneralOutputAutoSwitch     PresentOnOff,

    xcmPrtGeneralMediumClassDefault   XcmPrtMediumClassType,
    xcmPrtGeneralDarknessLevels       Cardinal32,
    xcmPrtGeneralDarknessLevelNorm    Cardinal32,
    xcmPrtGeneralDarknessLevelDflt    Integer32,
    xcmPrtGeneralHexDumpEnable        PresentOnOff,

    -- xcmPrtGeneralAuxSheetGroup
    xcmPrtGeneralStartupPage          PresentOnOff,
    xcmPrtGeneralBannerPage           PresentOnOff,

    -- xcmPrtGeneralProdSpecificGroup
    xcmPrtGeneralScanlineCompaction   PresentOnOff
    }

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

xcmPrtGeneralAuxSheetPackage OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is an index into the xcmPrtAuxPackageTable.
        This table is used to enable or disable printing of
        auxiliary sheets at the printer box level.
        The value zero shall mean not specified."
    REFERENCE "
        See: xcmPrtInterpAuxSheetPackage
        See: xcmPrtChannelAuxSheetPackage
        See: xcmPrtGeneralAuxSheetGroup - xcmPrtGeneralStartupPage
        See: xcmPrtGeneralAuxSheetGroup - xcmPrtGeneralBannerPage"
    DEFVAL { 0 } -- Not Specified
    ::= { xcmPrtGeneralEntry 2 }

xcmPrtGeneralManualFeedTimeout OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The duration in seconds after which the printer shall either:

        (a) switch to another input subunit, if the value of
            prtInputNextIndex is non-zero and prtGeneralAutoSwitch is on
        or
        (b) abort any job waiting for manually fed input, if the value
            value of prtInputNextIndex is zero or prtGeneralAutoSwitch
            is off or notPresent.

        The event which causes the printer to enter the waiting state
        is product specific.

        A value of (-1) implies 'other' or 'infinite' which translates
        to 'this input subunit doesn't support manual feed'.
        A value of (-2) implies 'unknown'."
    REFERENCE "
        This object copied from the April 1996 Printer MIB 
        prtInputManualFeedTimeout object.  This object is currently
        in the prtInputTable.  The XCMI WG will push in June 1996 to 
        move this object the prtGeneralTable as done here."
    DEFVAL { -1 } -- other or infinite
    ::= { xcmPrtGeneralEntry 3 }

xcmPrtGeneralInputAutoSwitch OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Indicates the state of the auto input switching feature.
        The value notPresent indicates the feature is not currently
        supported. Exact behavior of this feature is product specific."
    REFERENCE "
        This object copied from the April 1996 Printer MIB 
        prtInputAutoSwitch object.  This object is currently
        in the prtInputTable.  The XCMI WG will push in June 1996, 
        to move this object the prtGeneralTable as done here."
    DEFVAL { notPresent }
    ::= { xcmPrtGeneralEntry 4 }

xcmPrtGeneralOutputAutoSwitch OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Indicates the state of the auto output tray switching feature.
        The value notPresent indicates the feature is not currently
        supported.  Exact behavior of this feature is product specific."
    DEFVAL { notPresent }
    ::= { xcmPrtGeneralEntry 5 }

xcmPrtGeneralMediumClassDefault OBJECT-TYPE
    SYNTAX      XcmPrtMediumClassType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets the default medium size class for the printer.
        This object sets the medium size for printer management
        functions such as printing the configuration sheet.

        It may affect any media related object, such as form length."
    DEFVAL { unknown }
    ::= { xcmPrtGeneralEntry 6 }

xcmPrtGeneralDarknessLevels OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This value indicates the maximum number of darkness levels
        supported by this printer.
        The level settings range from 1 to xcmPrtGeneralDarknessLevels
        where 1 represents the lightest level and
        xcmPrtGeneralDarknessLevels represents the darkest level.
        The value 1 implies no user settables.
        The value 0 means unspecified.

        The selection of a darkness levels specifies that the
        printer shall process the page images so that they appear
        either 'lighter' or 'darker'."
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtGeneralEntry 7 }

xcmPrtGeneralDarknessLevelNorm OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The normal setting for the darkness printing object.
        The value 0 means unspecified."
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtGeneralEntry 8 }

xcmPrtGeneralDarknessLevelDflt OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The default setting for the density printing option.
        The value (-2) indicates unknown.
        The value (-4) indicates the auto setting."
    REFERENCE "
        See: PJL Technical Reference Manual - DENSITY"
    DEFVAL { -2 } -- unknown
    ::= { xcmPrtGeneralEntry 9 }

xcmPrtGeneralHexDumpEnable OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object controls whether the printer is in a special
        diagnostic mode wherein all received print data is printed in
        hexadecimal format.

        Whether a reset or power-cycles turns xcmPrtGeneralHexDumpEnable
        to Off is product dependent."
    REFERENCE "
        See: Printer MIB prtInterpreterLangFamily - langDiagnostic(41)"
    DEFVAL { notPresent }
    ::= { xcmPrtGeneralEntry 10 }

--
-- The General Auxiliary Sheet Group (xcmPrtGeneralAuxSheetGroup)
--
-- The auxiliary sheet group allows the administrator to control the
-- production of auxiliary sheets by the printer.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
--
-- This Group copied from the v2 Printer MIB dated April 96.
--

xcmPrtGeneralStartupPage OBJECT-TYPE
        SYNTAX      PresentOnOff
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "
            Used to enable or disable printing a startup page. If
            enabled, a startup page will be printed shortly after
            power-up, when the device is ready. Typical startup
            pages include test patterns and/or printer configuration
            information."
        REFERENCE "
            This object copied directly from the April 1996 version of
            the Printer MIB's prtGeneralStartupPage object."
        DEFVAL { notPresent }
        ::= { xcmPrtGeneralEntry 11 }

xcmPrtGeneralBannerPage OBJECT-TYPE
        SYNTAX      PresentOnOff
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "
            Used to enable or disable printing banner pages at the
            beginning of jobs. This is a master switch which applies
            to all jobs, regardless of interpreter."
        REFERENCE "
            This object copied directly from the April 1996 version of
            the Printer MIB's prtGeneralBannerPage object."
        DEFVAL { notPresent }
        ::= { xcmPrtGeneralEntry 12 }

--
-- The xcmPrtGeneralGroup (continued)
--

-- The xcmPrt General Group for Product Specific implementations
-- (xcmPrtGeneralProdSpecificGroup)
--
-- This group logically augments the Printer MIB's prtGeneral group,
-- and is a continuation of the xcmPrtGeneralGroup.  This object is
-- considered specific to one product.
--
-- Implementation of any object in this group is optional.
-- 
xcmPrtGeneralScanlineCompaction OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object enables a printing mode wherein the printer
        compresses selected scanlines of raster image data as they are
        received and holds them in compressed form until they are to
        be printed.  This allows particular jobs to be processed with
        less memory, but often reduced performance as well.  

        On some Printers, turning this feature Off is referred to as
        'PerformanceEnhancement'.  

        When xcmInterpPageProtect is set to Off,
        some complex jobs may not print successfully with minimum
        memory.  The ScanlineCompaction feature enables printing some
        complex jobs without resorting to reserving additional memory
        by turning on the PageProtect option or installing additional
        memory."
    REFERENCE "
        See: xcmPrtInterpPageProtect
        See: DocuPrint 4517 Network Laser Printers User Guide, Pg. D-12"
    DEFVAL { notPresent }
    ::= { xcmPrtGeneralEntry 50 }

--
-- The Printer MIB Input group extension (xcmPrtInputGroup)
--
-- This group logically augments the Printer MIB's prtInput group.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of 
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtInputTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtInputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table logically augments the Printer MIB's prtInputTable."
    ::= { xcmPrtInput 1 }

xcmPrtInputEntry OBJECT-TYPE
    SYNTAX      XcmPrtInputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        Entries may exist for each entry in the prtInputTable."
    AUGMENTS { prtInputEntry }
    ::= { xcmPrtInputTable 1 }

XcmPrtInputEntry ::= SEQUENCE {
    xcmPrtInputRowStatus         RowStatus,
    xcmPrtInputNextPrtInputIndex Integer32
    }

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

xcmPrtInputNextPrtInputIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of prtInputIndex corresponding to the input subunit
        which will be used when this input subunit is emptied.

        The value of zero indicates that auto input switching will not
        occur when this input subunit is emptied.

        Two different mechanisms for input tray switching,
        xcmPrtNextPrtInputIndex and xcmPrtInputAliasGroup, are provided.
        A device agent may make use of one or the other, none, or both. 
        Use the model that fits best for the given application."
    REFERENCE "
        See: xcmPrtInputAliasGroup
        See: xcmPrtInterpTraySwitch"
    DEFVAL { 0 }
    ::= { xcmPrtInputEntry 2 }

-- The Printer MIB Output group extension (xcmPrtOutputGroup)
--
-- This group logically augments the Printer MIB's prtOutput group.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtOutputTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtOutputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table logically augments the prtOutputTable in the
        Printer MIB."
    ::= { xcmPrtOutput 1 }

xcmPrtOutputEntry OBJECT-TYPE
    SYNTAX      XcmPrtOutputEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        Entries may exist for each entry in the prtOutputTable."
    AUGMENTS { prtOutputEntry }
    ::= { xcmPrtOutputTable 1 }

XcmPrtOutputEntry ::= SEQUENCE {
    xcmPrtOutputRowStatus           RowStatus,
    xcmPrtOutputNextIndex           Integer32,
    xcmPrtOutputPassword            OCTET STRING (SIZE(0..255)),
    xcmPrtOutputOffsetStackingType  XcmPrtOutputOffsetStackingType,
    xcmPrtOutputTrayTimeoutSupport  PresentOnOff,
    xcmPrtOutputTrayTimeout         Cardinal32
    }

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

xcmPrtOutputNextIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of prtOutputIndex corresponding to the output subunit
        which will be used when this output subunit is filled.
        A value of zero(0) indicates that auto output switching will not
        occur when this output subunit is filled."
    DEFVAL { 0 }
    ::= { xcmPrtOutputEntry 2 }

xcmPrtOutputPassword OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is used as the password for an Output Tray, e.g. an
        output mailbox.  It is the value that must be entered to open
        the output tray."
    REFERENCE   "See: prtOutputSecurity."
    DEFVAL { ''H }
    ::= { xcmPrtOutputEntry 3 }

xcmPrtOutputOffsetStackingType OBJECT-TYPE
    SYNTAX      XcmPrtOutputOffsetStackingType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object further refines the type of offset stacking from
        that specified by the object prtOutputOffsetStacking in the
        Printer MIB."
    REFERENCE "
        See: prtOutputOffsetStacking
        See: xcmPrtInterpOffsetStackingType"
    DEFVAL { notSpecified }
    ::= { xcmPrtOutputEntry 4 }

xcmPrtOutputTrayTimeoutSupport OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Determines whether the printer should wait before sending
        the printed output to another output destination when the 
        selected or default destination is full.

        'On' indicates that would should wait as specified by
        xcmPrtOutputTrayTimeout.

        'Off' indicates this feature is off and should immediately
        seek to send the printed output to another destination.

        The value 'other' shall mean not specified."
    REFERENCE "See: xcmPrtOutputTrayTimeout"
    DEFVAL { other } -- not specified
    ::= { xcmPrtOutputEntry 5 }

xcmPrtOutputTrayTimeout OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Determines how long the printer should wait before sending
        the printed output to another output destination when the 
        selected or default destination is full.

        A value of (0) implies 'other' or 'infinite' which translates
        to this input subunit does not support this feature."
    DEFVAL { 0 } -- other or infinite
    ::= { xcmPrtOutputEntry 6 }

-- The Printer MIB Channel group extension (xcmPrtChannelGroup)
--
-- This group logically augments the Printer MIB's prtChannel group.
-- 
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtChannelTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtChannelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table logically augments Printer MIB's prtChannelTable."
    ::= { xcmPrtChannel 1 }

xcmPrtChannelEntry OBJECT-TYPE
    SYNTAX      XcmPrtChannelEntry
    MAX-ACCESS  not-accessible
    STATUS      current        
    DESCRIPTION "
        An entry exists corresponding to each entry in the
        prtChannelTable."
    AUGMENTS    { prtChannelEntry }
    ::= { xcmPrtChannelTable 1 }

XcmPrtChannelEntry ::= SEQUENCE {
    xcmPrtChannelRowStatus          RowStatus,
    xcmPrtChannelEOJTimeout         Cardinal32,
    xcmPrtChannelAuxSheetPackage    Cardinal32,
    xcmPrtChannelSpoolingEnable     PresentOnOff,
    xcmPrtChannelLangSensing        PresentOnOff,

    -- xcmPrtChannelProductSpecificGroup
    xcmPrtChannelAutoJobEnd         PresentOnOff
    }

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

xcmPrtChannelEOJTimeout OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Defines the number of  seconds that the channel waits before
        timing out. For example, this may be used for the parallel
        channel.

        The value zero means infinite or no timeout on the channel."
    DEFVAL { 0 } -- No timeout
    ::= { xcmPrtChannelEntry 2 }

xcmPrtChannelAuxSheetPackage OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is an index into the xcmPrtAuxPackageTable.
        This table is used to enable or disable printing of
        auxiliary sheets by this channel.

        The value zero shall mean not specified."
    REFERENCE "
        See: xcmPrtGeneralAuxSheetPackage
        See: xcmPrtInterpAuxSheetPackage"
    DEFVAL { 0 } -- Not specified
    ::= { xcmPrtChannelEntry 3 }

xcmPrtChannelSpoolingEnable OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object controls spooling to a large data store such as a
        hard disk.

        When set to On, data received and waiting to be processed from
        any port is spooled onto the large data store and later
        retrieved for processing.  This allows the printer to receive 
        the data more rapidly, thus freeing the data source sooner.
        It may also increase throughput by having the next job's print
        data already local for processing.

        When set to Off, the spooling feature is disabled.
        Data received is not spooled to the large data store, and is
        accepted by the printer only as needed for printing.  
        You may want to disable this spooling feature if spooling is
        already done outside the printer; having the spooling done on
        the printer as well, may not add value, and may create error
        recovery and queue monitoring difficulties.

        The value 'other' shall mean not specified."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, pg. D-5."
    DEFVAL { other }  -- not specified
    ::= { xcmPrtChannelEntry 4 }

xcmPrtChannelLangSensing OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object indicates whether the channel supports detection of
        the input PDL language type, and if so, whether the feature is
        enabled.

        Currently, the prtChannelDefaultPageDescLangIndex points to the
        Page Description Language Interpreter for this channel.  One of
        the PDL types enumerated in the prtInterpreterLangFamily object
        is langAutomatic(37), to be used for automatic PDL sensing;
        however, if the language sensing fails there is no fallback
        language for the channel.

        Conforming implementations shall use xcmPrtChannelLangSensing
        for each channel and deprecate use of the langAutomatic(37) enum
        in favor of the literal default language in the
        prtInterpreterLangFamily object.

        The value 'other' shall mean not specified."
    REFERENCE "
        See: Printer MIB prtInterpreterLangFamily"
    DEFVAL { other }  -- not specified
    ::= { xcmPrtChannelEntry 5 }

-- xcmPrt Channel Group for Product Specific implementions
-- (xcmPrtChannelProdSpecificGroup)
--
-- This group logically augments the Printer MIB's prtChannel group,
-- and is a continuation of the xcmPrtChannelGroup.  These objects
-- are considered specific to one product.
--
-- Implementation of any object in this group is optional.
--

xcmPrtChannelAutoJobEnd OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Controls automatic ending of a print job that does not finish
        printing.

        When 'On', after the current print job has paused long enough
        to exceed the xcmPrtChannelEOJTimeout interval,
        the current print job will be stopped.

        When 'Off', the print job does not end after the timeout
        interval.  Instead, the printer waits to continue until another
        print job is received on any port.  A partial page will remain
        unprinted until the next print job is received.  The current
        job will then be stopped.

        The value 'other' shall indicate not specified."
    REFERENCE "
        See: xcmPrtChannelEOJTimeout
        See: Xerox 4517+ User Guide
        See: Xerox 4505  User Guide"
    DEFVAL { other } -- not specified
    ::= { xcmPrtChannelEntry 80 }

--
-- The Printer MIB Interpreter group extension (xcmPrtInterpreterGroup)
--
-- This group logically augments the Printer MIB's prtInterpreter group.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtInterpreterTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtInterpreterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table logically augments the Printer MIB's
        prtInterpreterTable."
    ::= { xcmPrtInterpreter 1 }

xcmPrtInterpreterEntry OBJECT-TYPE
    SYNTAX      XcmPrtInterpreterEntry
    MAX-ACCESS  not-accessible
    STATUS      current        
    DESCRIPTION "
        An entry exists corresponding to each entry in the
        prtInterpreterTable."
    AUGMENTS    { prtInterpreterEntry }
    ::= { xcmPrtInterpreterTable 1 }

XcmPrtInterpreterEntry ::= SEQUENCE {
    -- xcmPrtInterpreterGroup
    xcmPrtInterpRowStatus           RowStatus,
    xcmPrtInterpAuxSheetPackage     Cardinal32,
    xcmPrtInterpContextSaving       PresentOnOff,
    xcmPrtInterpEdgeEnhancement     PresentOnOff,
    xcmPrtInterpFontIndexDefault    Integer32,

    xcmPrtInterpGrayLevels          Cardinal32,
    xcmPrtInterpGrayLevelDefault    Cardinal32,
    xcmPrtInterpJamRecovery         PresentOnOff,
    xcmPrtInterpJobCopiesDefault    Ordinal32,
    xcmPrtInterpLineWrap            PresentOnOff,

    xcmPrtInterpMediumSizeDefault   XcmPrtMediumSize,
    xcmPrtInterpPageProtect         PresentOnOff,
    xcmPrtInterpPageProtectSize     XcmPrtMediumSize,
    xcmPrtInterpPageSizeErrorPolicy XcmPrtPageSizeErrorPolicy,
    xcmPrtInterpPlexSupported       XcmPrtPlex,

    xcmPrtInterpPlexDefault         XcmPrtPlex,
    xcmPrtInterpPrintEdgeToEdge     PresentOnOff,
    xcmPrtInterpPrintQuality        XcmPrtPrintQuality,
    xcmPrtInterpPrtInputIndexDflt   Cardinal32,
    xcmPrtInterpPrtOutputIndexDflt  Cardinal32,

    xcmPrtInterpResFeedDirDefault   Cardinal32,
    xcmPrtInterpResXFeedDirDefault  Cardinal32,
    xcmPrtInterpResIPResIndex       Cardinal32,
    xcmPrtInterpResIPResIndexDflt   Cardinal32,
    xcmPrtInterpTextFormLength      Cardinal32,

    xcmPrtInterpTimeoutJob          Cardinal32,
    xcmPrtInterpTimeoutPage         Cardinal32,
    xcmPrtInterpInputAliasIndexDflt Cardinal32,
    xcmPrtInterpTraySwitch          XcmPrtTraySwitch,
    xcmPrtInterpMediumTypeDefault
                       XcmFixedLocaleDisplayString (SIZE(0..255)),
    xcmPrtInterpMediaTypeErrPolicy  XcmPrtMediaTypeErrorPolicy,
    xcmPrtInterpErrorPolicyTimeout  Cardinal32,
    xcmPrtInterpLineTerm            PresentOnOff,

    -- xcmPrtInterpProdSpecific01Group
    xcmPrtInterpAutoContinue        PresentOnOff,
    xcmPrtInterpEnvFeederSize       XcmPrtMediumSize,
    xcmPrtInterpManualFeedPgSize    XcmPrtMediumSize,
    xcmPrtInterpOffsetStackingType  XcmPrtOutputOffsetStackingType
    }

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

xcmPrtInterpAuxSheetPackage OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object is an index into the xcmPrtAuxPackageTable.
        This table is used to enable or disable printing of
        auxiliary sheets by this interpreter.

        The value zero shall mean not specified."
    REFERENCE "
        See: xcmPrtGeneralAuxSheetPackage
        See: xcmPrtChannelAuxSheetPackage"
    DEFVAL { 0 } -- Not specified
    ::= { xcmPrtInterpreterEntry 2 }

xcmPrtInterpContextSaving OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Enables reserving memory for saving permanently downloaded fonts
        and macros, when the printer switches between this and another
        interpreter.  The effect is to save the memory for a subsequent
        job using this interpreter.

        When set to Off, all permanently downloaded fonts and macros are
        cleared from memory when switching PDLs.  They must be
        downloaded again when the printer switches back to using the
        current PDL.

        When set to On, permanently downloaded fonts and macros are
        stored in printer memory.  You eliminate the time to download
        them again when the printer switches back to the current PDL.

        In PCL, this is referred to as Resource Savings.

        The value 'other' shall mean not specified."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, Pg. D-16."
    DEFVAL { other }  -- not specified
    ::= { xcmPrtInterpreterEntry 3 }

xcmPrtInterpEdgeEnhancement OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Specifies whether the printer should perform EdgeEnhancement of
        the image of the printed document for this interpreter.
        interpreter.

        The value 'other' shall mean not specified."
    DEFVAL { other } -- not specified
    ::= { xcmPrtInterpreterEntry 4 }

xcmPrtInterpFontIndexDefault OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of xcmFontIndex corresponding to the xcmFontEntry
        which represents the default font for this Interpreter.

        A value of (-1) means 'other'.
        A value of (-2) means 'unknown'.
        A value of (-3) means 'notPresent'.

        A value of 'other' (-3) should be used for those
        interpreters which have no default font (e.g. PostScript).

        For agents that choose not to implement the Resources MIB,
        this object specifies the ID of the default font.  This use
        of this object is significant only to the specific product."
    DEFVAL { -2 } -- unknown
    ::= { xcmPrtInterpreterEntry 5 }

xcmPrtInterpGrayLevels OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object describes the gray levels supported by this
        interpreter.  This may represent gray levels within a color
        plane.
        The value zero means not specified for this interpreter."
    DEFVAL { 0 } -- Not specified.
    ::= { xcmPrtInterpreterEntry 6 }

xcmPrtInterpGrayLevelDefault OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object controls the number of gray scales for this
        interpreter.
        The value zero means not specified for this interpreter."
    REFERENCE "See: xcmPrtInterpGrayLevels"
    DEFVAL { 0 } -- not Specified.
    ::= { xcmPrtInterpreterEntry 7 }

xcmPrtInterpJamRecovery OBJECT-TYPE
    SYNTAX  PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object controls how the printer recovers from a paper jam.

        When set to On, the printer reprints any pages in the printer at
        the time of the jam, after the jam has been cleared.  The
        printer does this by using a portion of memory to store print
        data.  This may slow throughput.

        When set to Off, some pages may be lost after the jam has been
        cleared.  The print job must be re-sent, specifying those pages
        that did not print as a result of the paper jam.

        The value 'other' shall mean not specified."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, Pg. D-9."
    DEFVAL { other }  -- not specified
    ::= { xcmPrtInterpreterEntry 8 }

xcmPrtInterpJobCopiesDefault OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This defines the default number of job copies to be printed
        by this interpreter.

        If set incorrectly, this object may cause difficulties at
        customer sites.  Agent developers should consider making this
        object read-only, permanently set to one copy."
    REFERENCE "
          See: ISO/IEC 10175-1:1996(E)
               - Section 9.2.2.1: Results-profile job-copies
          See: PJL Technical Reference Manual - COPIES
          See: PCL 5 Printer Language Technical Reference Manual
               - Number of Copies Command"
    DEFVAL { 1 } -- One copy
    ::= { xcmPrtInterpreterEntry 9 }

xcmPrtInterpLineWrap OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object controls whether long lines are wrapped or
        truncated.

        If On,  long lines wrap to the next line.
        If Off, long lines are truncated.

        Note the meaning of 'long' depends on the orientation and the
        current page size.

        The value 'other' shall mean not specified."
    REFERENCE "
        Adobe PostScript Language Reference Manual Supplement."
    DEFVAL { other }  -- not specified
    ::= { xcmPrtInterpreterEntry 10 }

xcmPrtInterpMediumSizeDefault OBJECT-TYPE
    SYNTAX      XcmPrtMediumSize
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object specifies the default medium size for an
        interpreter.  It is used if no medium size is specified.

        For PCL, this object sets the General PJL Environment variable
        'Paper'.

        The xcmPrtInterpMediumSizeDefault object may be affected by
        setting the xcmPrtGeneralMediumClassDefault object."
    REFERENCE "
        See: PCL 5 Printer Language Technical Reference Manual
        See: PJL Technical Reference Manual - PAPER
        See: xcmPrtGeneralMediumClassDefault"
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 11 }

xcmPrtInterpPageProtect OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object enables reserving sufficient memory for printing
        complex pages, thus avoiding Page Too Complex errors.
        The amount of memory reserved is implementation specific.
        When this feature is turned on, printer performance may
        be slowed.

        The value 'other' shall mean not specified."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, Pg. D-11."
    DEFVAL { other } -- not specified
    ::= { xcmPrtInterpreterEntry 12 }

xcmPrtInterpPageProtectSize OBJECT-TYPE
    SYNTAX      XcmPrtMediumSize
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets the PageSize to be used by this interpreter
        in reserving sufficient memory for printing complex pages,
        thus avoiding Page Too Complex Errors.
        The actual amount of memory to be reserved as a function of the
        specified page size is implementation specific. When this
        feature is turned on, printer performance may be slowed.

        In PCL, this object supports the General PJL Environment
        Variable 'PAGEPROTECT'.  This object the sets the page
        protection configuration.
        The page protection feature reserves a block of printer memory
        to prevent printer overrun errors when formatting very dense
        or complex images.  This variable may be set to any legal
        value at any time, regardless of the current amount of free
        memory or the currently set resolution.
        When a job is sent, if there is not enough memory to print
        correctly with the current resolution and page protection
        configuration, the system temporarily overrides the resolution
        and/or page protect values to run the job.
        When the page protection status is changed, memory may be
        reconfigured, and all downloaded fonts, PCL macros, and
        PostScript dictionaries may be lost.

        The value notSpecified shall also mean Off."
    REFERENCE "
        See: Printer Job Language Technical Reference Manual
             - General PJL Environment Variable 'PAGEPROTECT'"
    DEFVAL { notSpecified } -- not specified or Off. 
    ::= { xcmPrtInterpreterEntry 13 }

xcmPrtInterpPageSizeErrorPolicy OBJECT-TYPE
    SYNTAX      XcmPrtPageSizeErrorPolicy
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Controls interpreter behavior when the requested Page Size
        is not currently available."
    REFERENCE "
        See: xcmPrtInterpMediaTypeErrPolicy
        See: xcmPrtInterpErrorPolicyTimeout"
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 14 }

xcmPrtInterpPlexSupported OBJECT-TYPE
    SYNTAX      XcmPrtPlex
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object specifies the Plex modes supported by this
        interpreter.  These Plex modes specify the relative
        orientations between consecutive pages, and capabilities of
        printing one-side, two-sided or both.  "
    DEFVAL { 0 } -- not specified
    ::= { xcmPrtInterpreterEntry 15 }

xcmPrtInterpPlexDefault OBJECT-TYPE
    SYNTAX      XcmPrtPlex
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object specifies the default plex for this interpreter.

        The device shall set no more than one bit.
        The value zero shall indicate not specified."
    REFERENCE "See: xcmPrtInterpPlexSupported"
    DEFVAL { 0 } -- not specified
    ::= { xcmPrtInterpreterEntry 16 }

xcmPrtInterpPrintEdgeToEdge OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Enables edge to edge printing for interpreters that try to
        enforce a coordinate system that is offset from the edge of the
        paper, e.g., PCL.
        When On,  jobs are printed to the edge of the paper.
        When Off, jobs are printed in normal printable area of page.

        The value 'other' shall mean not specified."
    DEFVAL { other } -- not specified
    ::= { xcmPrtInterpreterEntry 17 }

xcmPrtInterpPrintQuality OBJECT-TYPE
    SYNTAX      XcmPrtPrintQuality
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Sets the default output quality of the printed document for this
        interpreter.  Some printers have programmatically controlled
        output quality."
    DEFVAL { normal }
    ::= { xcmPrtInterpreterEntry 18 }

xcmPrtInterpPrtInputIndexDflt OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Sets the default input source for the interpreter.
        It is the index to the prtInputGroup.
        The value zero means not specified."
    DEFVAL { 0 } -- not specified
    ::= { xcmPrtInterpreterEntry 19 }

xcmPrtInterpPrtOutputIndexDflt OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The value of the index of the default Output bin for this
        interpreter.  If specified, this object overrides the box level
        object prtOutputDefaultIndex.

        The value zero means unspecified."
    REFERENCE "See: Printer MIB prtOutputDefaultIndex"
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtInterpreterEntry 20 }

xcmPrtInterpResFeedDirDefault OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object specifies for this interpreter, the default
        resolution in the Feed direction in 10000 units of measure
        specified by prtMarkerAddressabilityUnit for this interpreter.

        A related object is the Printer MIB
        prtInterpreterFeedAddressability object which describes the 
        maximum interpreter addressability in the feed direction.

        The value zero shall mean not specified.
        If this object has a value other than unspecified, this object
        takes precedence over xcmPrtInterpFeedResIndexDefault."
    REFERENCE "See: Printer MIB prtInterpreterFeedAddressability"
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtInterpreterEntry 21 }

xcmPrtInterpResXFeedDirDefault OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object specifies for this interpreter, the default
        resolution in the Cross Feed direction in 10000 units of measure
        specified by prtMarkerAddressabilityUnit for this interpreter.

        A related object is the Printer MIB
        prtInterpreterFeedAddressability object which describes the 
        maximum interpreter addressability in the cross feed direction.

        The value zero means unspecified.
        If this object has a value other than unspecified, this object 
        takes precedence over xcmPrtInterpFeedResIndexDefault."
    REFERENCE "See: Printer MIB prtInterpreterXFeedAddressability"
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtInterpreterEntry 22 }

xcmPrtInterpResIPResIndex OBJECT-TYPE
    SYNTAX     Cardinal32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION "
        This object shall provide an index into the xcmIPResTable.
        The xcmIPResTable shall be used to list available resolutions
        supported by this interpreter.  Each row includes objects
        for Feed Resolution (pixels per inch), XFeed Resolution
        (pixels per inch), Bits Per Pixel Supported, and Number of
        Color Planes Supported.

        The value zero means unspecified."
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtInterpreterEntry 23 }

xcmPrtInterpResIPResIndexDflt OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object which is a pointer into the xcmIPResTable sets the
        print resolution for this interpreter.

        The value zero means unspecified."
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtInterpreterEntry 24 }

xcmPrtInterpTextFormLength OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets the maximum number of lines per page for a text
        file that is being printed using this interpreter.

        For PCL Interpreters, this object provides the General PJL
        Environment Variable FORMLINES.  This variable is tied to both
        the PJL Environment Variables PAPER and ORIENTATION.  If the
        value of either of those variables is changed, then the
        FORMLINES variable automatically is updated to maintain the
        same line spacing.

        The value zero means not specified."
    REFERENCE "
        See: PJL Technical Reference Manual - FORMLINES"
    DEFVAL { 0 } -- not specified
    ::= { xcmPrtInterpreterEntry 25 }

xcmPrtInterpTimeoutJob OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets how long printer will wait for correct end of
        job from the interpreter.
        This setting lets you adjust how long the printer will wait to
        receive the data it needs to complete a job before terminating
        it prematurely.

        The value zero means infinite."
    DEFVAL { 0 } -- Infinite Timeout.
    ::= { xcmPrtInterpreterEntry 26 }

xcmPrtInterpTimeoutPage OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets how long printer will wait for correct end of
        page from the interpreter.
        If, for example, a print job contains a page without the correct
        end of page code, the job will stall.  This setting lets you
        adjust how long the printer will wait to receive the data it
        needs to complete a page before terminating it prematurely.

        The value zero means infinite."
    DEFVAL { 0 } -- Infinite Timeout
::= { xcmPrtInterpreterEntry 27 }

xcmPrtInterpInputAliasIndexDflt OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Sets the default input tray alias for this interpreter.
        It is the xcmPrtInputAliasIndex to the xcmPrtInputAlias table.

        The value zero means 'not specified'."
    REFERENCE   " See: xcmPrtInputAliasTable"
    DEFVAL { 0 } -- not specified
    ::= { xcmPrtInterpreterEntry 28 }

xcmPrtInterpTraySwitch OBJECT-TYPE
    SYNTAX      XcmPrtTraySwitch
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object declares for this interpreter the tray switching
        declaration mechanism used.

        Note: The tray switching declaration mechanisms do not specify
        how or when or whether a printer switches back to using an
        earlier emptied tray after that tray is refilled.

        For example, assume a printer is set up to first use
        Tray 1, then when emptied Tray 2, then Tray 3.
        If just after tray 1 becomes empty and the printer switches
        to Tray 2, the operator refills Tray 1; the printer may
        select which tray to pull the next sheet from using a variety
        of algorithms:
        - The printer may switch back immediately to use tray 1.
          This may be particularly appropriate if tray 1 is the
          high capacity feeder.
        - The printer may pull sheets from tray 2 until it is
          empty and then switch back to tray 1.
        - The printer may pull sheets from tray 2 until it is
          empty and then continue to tray 3, before switching
          back to tray 1.
        Again, implementation of how the input tray switching
        programs behave when empty trays are refilled is considered
        printer specific."
    REFERENCE "
        See:  xcmPrtInputNextPrtInputIndex
        See:  xcmPrtInputAliasGroup"
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 29 }

xcmPrtInterpMediumTypeDefault OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Specifies the paper type used to print a page if no paper
        type is specified by the software application

        Typical paper types could include Plain, Preprinted, etc."
    DEFVAL { ''H } -- not specified
    ::= { xcmPrtInterpreterEntry 30 }

xcmPrtInterpMediaTypeErrPolicy OBJECT-TYPE
    SYNTAX      XcmPrtMediaTypeErrorPolicy
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Controls interpreter behavior when the requested Media Type
        is not currently available."
    REFERENCE "
        See: xcmPrtInterpPageSizeErrorPolicy
        See: xcmPrtInterpErrorPolicyTimeout"
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 31 }

xcmPrtInterpErrorPolicyTimeout OBJECT-TYPE
    SYNTAX      Cardinal32
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Provides the timeout for ErrorPolicy enumerations
        requiring one, e.g. 'ignoreAfterTimeout'

        The value zero shall mean infinite or not supported."
    REFERENCE "
        See: xcmPrtInterpPageSizeErrorPolicy
        See: xcmPrtInterpMediaTypeErrPolicy"
    DEFVAL { 0 }
    ::= { xcmPrtInterpreterEntry 32 }

xcmPrtInterpLineTerm OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Enables adding a Carriage Return after every Line Feed.

        The value 'On' indicates that a Carriage Return will be 
        added after every Line Feed.

        Usage example:  This is a useful feature when printing text
        jobs via PCL through a standard queue in UNIX.

        The value 'other' shall mean not specified."
    DEFVAL { other }  -- not specified
    ::= { xcmPrtInterpreterEntry 33 }

--
-- The Printer MIB Interpreter Group Extension for a specific product
-- (xcmPrtInterpProdSpecific01Group)
--
-- This group logically augments the Printer MIB's prtInterpreter group,
-- and is a continuation of the xcmPrtInterpGroup.  These objects are
-- considered specific to one product, and have therefore been put into
-- one group.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtInterpAutoContinue OBJECT-TYPE
    SYNTAX      PresentOnOff
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object controls whether the printer resumes printing after
        a system error occurs.

        When set to Off, the printer does not automatically resume.
        Manual intervention must occur for the printer to resume.

        When set to On, the printer automatically resumes operation
        after certain system errors.  The On setting is useful in a
        networked environment.

        The value 'other' shall mean not specified."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, Pg. D-3."
    DEFVAL { other }  -- not specified
    ::= { xcmPrtInterpreterEntry 50 }

xcmPrtInterpEnvFeederSize OBJECT-TYPE
    SYNTAX      XcmPrtMediumSize
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object informs the printer what size of envelope is
        currently loaded in the envelope feeder.  Because the input tray
        feeding envelopes may not have a size sensor, this setting is
        required so that the printer is able to know when the size of
        envelope requested for printing is different than that loaded.

        When the sizes do not match, and xcmPrtInterpPageSizeErrorPolicy
        is set to Off, the printer displays a message asking for a
        change of envelope size.

        The XcmPrtPaperSize selected should be that of an envelope."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, Pg. D-16."
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 51 }

xcmPrtInterpManualFeedPgSize OBJECT-TYPE
    SYNTAX      XcmPrtMediumSize
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets the default medium size of the manual input
        tray for this interpreter."
    REFERENCE "
        DocuPrint 4517 Network Laser Printers User Guide, Pg. D-10."
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 52 }

xcmPrtInterpOffsetStackingType OBJECT-TYPE
    SYNTAX      XcmPrtOutputOffsetStackingType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object further refines the type of offset stacking from
        that specified by the object prtOutputOffsetStacking in the
        Printer MIB.

        Printers who need to specify OffsetStackingType by
        interpreter shall set this object to 'other'.
        To specify OffsetStackingType by interpreter, use the
        object xcmPrtOutputOffsetStackingType."
    REFERENCE "
        See: prtOutputOffsetStacking.
        See: xcmPrtOutputOffsetStackingType"
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpreterEntry 53 }

-- The Printer MIB Extension Input Alias Group (xcmPrtInputAliasGroup)
--
-- This table maps alternate names to entries in the Input Group 
-- and optionally enables an alternate tray switching sequence.
--
-- Implementation of every object in this group is conditionally
-- mandatory:  mandatory for printers whose interpreters support
-- such alternate input naming capability through SNMP.
-- In other words, if the SNMP agent implements the semantics of any of 
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtInputAliasTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtInputAliasEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table defines one or more aliases for input sub-units
        defined in the Input Group."
    ::= { xcmPrtInputAlias 1 }

xcmPrtInputAliasEntry OBJECT-TYPE
    SYNTAX      XcmPrtInputAliasEntry
    MAX-ACCESS  not-accessible
    STATUS      current        
    DESCRIPTION "
        One or more entries may exist corresponding to each entry
        in the prtInputTable."
    INDEX { hrDeviceIndex, prtInterpreterIndex, xcmPrtInputAliasIndex }
    ::= { xcmPrtInputAliasTable 1 }

XcmPrtInputAliasEntry ::= SEQUENCE {
    xcmPrtInputAliasIndex     Cardinal32,
    xcmPrtInputAliasRowStatus RowStatus,
    xcmPrtInputAliasName      XcmFixedLocaleDisplayString (SIZE(0..63)),
    xcmPrtInputAliasSwitchProgram  DisplayString (SIZE(0..255))
    }

xcmPrtInputAliasIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A unique value used to identify this row in the 
        xcmPrtInputAliasTable."
    ::= { xcmPrtInputAliasEntry 1 }

xcmPrtInputAliasRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Manages the status of this conceptual row in the
        xcmPrtInputAliasTable."
    ::= { xcmPrtInputAliasEntry 2 }

xcmPrtInputAliasName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE(0..63))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Defines an alternate name for the input source.  This is in
        addition to the prtInputName from the Input Group.  Typical
        usage is to map an interpreter specific name to the sub-unit
        name in the Input Group, e.g., PCL's 'upper' to the device
        input name 'main'."
    DEFVAL { ''H } -- unspecified
    ::= { xcmPrtInputAliasEntry 3 }

xcmPrtInputAliasSwitchProgram OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        The input tray switching program for this 'InputAliasName'
        presented in a '.' separated list of prtInputIndex values.
        For example, the string '1.4.3' indicates start with the
        input tray represented by prtInputIndex 1, if it becomes
        empty switch to prtInputIndex 4, when it becomes empty
        switch to prtInputIndex 3, if it becomes empty then wait
        for operator intervention.

        An empty string shall indicate unspecified."
    DEFVAL { ''H } -- unspecified
    ::= { xcmPrtInputAliasEntry 4 }

--
-- The Printer MIB Extension PCL Interpreter group
-- (xcmPrtInterpPCLGroup)
--
-- This group provides for setting and reading the PCL-Specific
-- Variables in PJL.  The one PCL-Specific PJL variable not found in
-- this particular group, 'SYMSET', is managed using the Printer MIB's
-- object prtInterpreterDefaultCharSetIn.
--     See: PCL 5 Printer Language Technical Reference Manual
--     See: PCL 5 Comparison Guide by Hewlett-Packard Corporation
--     See: PJL Technical Reference Manual - SYMSET
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtInterpPCLTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtInterpPCLEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table is an extension to the prtInterpPCLTable."
    ::= { xcmPrtInterpPCL 1 }

xcmPrtInterpPCLEntry OBJECT-TYPE
    SYNTAX      XcmPrtInterpPCLEntry
    MAX-ACCESS  not-accessible
    STATUS      current        
    DESCRIPTION "
        An entry exists corresponding to each entry in the
        xcmPrtInterpPCLTable."
    INDEX       { hrDeviceIndex, prtInterpreterIndex }
    ::= { xcmPrtInterpPCLTable 1 }

XcmPrtInterpPCLEntry ::= SEQUENCE {
    -- xcmPrtInterpPCLGroup
    xcmPrtInterpPCLRowStatus         RowStatus,
    xcmPrtInterpPCLFontSourceDflt    XcmPrtPCLFontSource,
    xcmPrtInterpPCLFontNumberDflt    Cardinal32,
    xcmPrtInterpPCLPitchNumerator    Cardinal32,
    xcmPrtInterpPCLPitchDenominator  Cardinal32,
    xcmPrtInterpPCLPtSizeNumerator   Cardinal32,
    xcmPrtInterpPCLPtSizeDenominatr  Cardinal32,

    -- xcmPrtInterpPCLProdSpecificGroup
    xcmPrtInterpPCLPrintScreen    XcmPrtPrintScreen
    }

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

xcmPrtInterpPCLFontSourceDflt OBJECT-TYPE
    SYNTAX      XcmPrtPCLFontSource
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object provides the PCL-specific PJL variable 'FONTSOURCE'.

        'FONTSOURCE' specifies the device location of the default font
        in PCL."
    REFERENCE "
        See: PJL Technical Reference Manual- FONTSOURCE"
    DEFVAL { notSpecified }
    ::= { xcmPrtInterpPCLEntry 2 }

xcmPrtInterpPCLFontNumberDflt OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object provides the PCL-specific PJL variable 'FONTNUMBER'.

        In PCL, 'FONTNUMBER' specifies the ID of the default font within
        the default FONTSOURCE."
    REFERENCE "
        See: PJL Technical Reference Manual - FONTNUMBER"
    DEFVAL { 0 } -- unspecified
    ::= { xcmPrtInterpPCLEntry 3 }

xcmPrtInterpPCLPitchNumerator OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object along with xcmPrtInterpPCLPitchDenominator sets 
        the default for the PCL-specific PJL variable  'PITCH.

        These two object sets the default pitch size for the PCL default
        font defined in xcmPrtInterpreterPCLFontNumberDflt.
        This variable only applies when the default font specified is
        a scalable fixed pitch font.

        A value of zero shall mean not specified."
    REFERENCE "
        See: PCL 5 Printer Language Technical Reference Manual
        See: PJL Technical Reference Manual - PITCH
        See: xcmPrtInterpPCLPitchDenominator"
    DEFVAL { 0 } -- not specified
    ::= { xcmPrtInterpPCLEntry 4 }

xcmPrtInterpPCLPitchDenominator OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object along with xcmPrtInterpPCLPitchNumerator sets 
        the default for the PCL-specific PJL variable 'PITCH'.

        These two object sets the default pitch size for the PCL default
        font defined in xcmPrtInterpreterPCLFontNumberDflt.
        The PITCH variable only applies when the default font specified
        is a scalable fixed pitch font.

        A value of zero shall mean not specified.
        It is expected that a typical application will set 
        xcmPrtInterpPCLPitchDenominator to 100."
    REFERENCE "
        See: PCL 5 Printer Language Technical Reference Manual
        See: PJL Technical Reference Manual - PITCH
        See: xcmPrtInterpPCLPitchNumerator"
    DEFVAL { 100 }
    ::= { xcmPrtInterpPCLEntry 5 }

xcmPrtInterpPCLPtSizeNumerator OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object along with xcmPrtInterpPCLPtSizeDenominatr sets the
        default for the PCL-specific PJL variable 'PTSIZE'.

        The PTSIZE variable only applies when the FONTNUMBER setting
        specifies a scalable proportionally-spaced font.

        The size is in units of printer's points, which units are here
        considered to be exactly 1/72 of an inch.

        The value zero shall mean not specified."
    REFERENCE "
        See: PJL Technical Reference Manual - PTSIZE
        See: PCL 5 Printer Language Technical Reference Manual
        See: xcmPrtInterpPCLPtSizeDenominatr"
    DEFVAL { 0 } -- Not specified
    ::= { xcmPrtInterpPCLEntry 6 }

xcmPrtInterpPCLPtSizeDenominatr OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object along with xcmPrtInterpPCLPtSizeNumerator sets the
        default for the PCL-specific PJL variable 'PTSIZE'.

        The PTSIZE variable only applies when the FONTNUMBER setting
        specifies a scalable proportionally-spaced font.

        The value zero shall mean not specified.
        It is expected that a typical application will set this object
        to the value 4.  For example, if the denominator is set to 4,
        describe a PtSize of 8.5, xcmPrtInterpPCLPtSizeNominator must
        be set to 34."
    REFERENCE "
        See: PCL 5 Printer Language Technical Reference Manual
        See: PJL Technical Reference Manual - PTSIZE
        See: xcmPrtInterpPCLPtSizeNumerator"
    DEFVAL { 4 } -- Specifies Units of 0.25 Points
    ::= { xcmPrtInterpPCLEntry 7 }

-- The Printer MIB Interpreter PCL Group Ext. for product specific
-- implementations.
-- (xcmPrtInterpPCLProdSpecificGroup)
--
-- This group is a continuation of the xcmPrtInterpPCLGroup.
-- These objects are considered specific to one product.
--
-- Implementation of any object in this group is optional.
-- 

xcmPrtInterpPCLPrintScreen OBJECT-TYPE
    SYNTAX      XcmPrtPrintScreen
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        This object sets a special mode for 80 character screen dumps."
    DEFVAL { off }
    ::= { xcmPrtInterpPCLEntry 50 }

-- The Printer MIB Extension Auxiliary Package Group 
-- (xcmPrtAuxPackageGroup)
--
-- Implementation of every object in this group is conditionally
-- mandatory:  if the SNMP agent implements the semantics of any of
-- these objects outside of the XCMI MIB, the agent shall also implement
-- this group in order to claim XCMI conformance.
-- 

xcmPrtAuxPackageTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtAuxPackageEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        This table lists Auxiliary Sheets enabled for this printer."
    ::= { xcmPrtAuxPackage 1 }

xcmPrtAuxPackageEntry OBJECT-TYPE
    SYNTAX      XcmPrtAuxPackageEntry
    MAX-ACCESS  not-accessible
    STATUS      current        
    DESCRIPTION "
        An entry exists corresponding to each entry in the
        xcmPrtAuxPackageTable."
    INDEX       { hrDeviceIndex, xcmPrtAuxPackageIndex }
    ::= { xcmPrtAuxPackageTable 1 }

XcmPrtAuxPackageEntry ::= SEQUENCE {
    -- xcmPrtAuxPackageGroup
    xcmPrtAuxPackageIndex             Cardinal32,
    xcmPrtAuxPackageRowStatus         RowStatus,
    xcmPrtAuxPackageType              XcmPrtAuxSheetType,
    xcmPrtAuxPackageContent           XcmPrtAuxSheetContent,
    xcmPrtAuxPackagePrtInputIndex     Cardinal32,
    xcmPrtAuxPackageNext              Cardinal32
    }

xcmPrtAuxPackageIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A unique value used by the printer to identify this
        Auxiliary Sheet."
    ::= { xcmPrtAuxPackageEntry 1 }

xcmPrtAuxPackageRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Manages the status of this conceptual row in the
        xcmPrtAuxPackageTable."
    ::= { xcmPrtAuxPackageEntry 2 }

xcmPrtAuxPackageType OBJECT-TYPE
    SYNTAX      XcmPrtAuxSheetType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Specifies the Auxiliary Sheet type associated with this row."
    DEFVAL { notSpecified }
    ::= { xcmPrtAuxPackageEntry 3 }

xcmPrtAuxPackageContent OBJECT-TYPE
    SYNTAX      XcmPrtAuxSheetContent
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Specifies the information content of this auxiliary sheet.

    The value zero shall mean notSpecified."
    DEFVAL { notSpecified }
    ::= { xcmPrtAuxPackageEntry 4 }

xcmPrtAuxPackagePrtInputIndex OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Specifies the input tray the printer shall use in
        printing this auxiliary sheet.

    The value zero shall mean notSpecified."
    DEFVAL { 0 } -- notSpecified
    ::= { xcmPrtAuxPackageEntry 5 }

xcmPrtAuxPackageNext OBJECT-TYPE
    SYNTAX      Cardinal32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Provides the index of the next Auxiliary Sheet
        declared for this printer.  This provides a linking
        mechanism to group auxiliary pages.  The last
        auxiliary page to be declared will set this
        xcmPrtAuxPackageNext object to zero, meaning no further
        sheets.

        The value zero shall mean notPresent."
    DEFVAL { 0 } -- notPresent or no further auxiliary sheets
    ::= { xcmPrtAuxPackageEntry 6 }

--
-- Medium Type Supported Group (Conditionally Mandatory)'
-- (xcmPrtMediumTypeSupportedGroup)
--
-- Implementation of this group conditionally mandatory for all systems.
--

xcmPrtMedmTypeSupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XcmPrtMedmTypeSupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A table of specific and general medium 'types' which are
        associated with this host system."
    ::= { xcmPrtMediumTypeSupported 2 }

xcmPrtMedmTypeSupEntry OBJECT-TYPE
    SYNTAX      XcmPrtMedmTypeSupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        An entry for a specific or general medium 'types' which
        is associated with this host system."
    INDEX       { hrDeviceIndex, xcmPrtMedmTypeSupIndex }
    ::= { xcmPrtMedmTypeSupTable 1 }

XcmPrtMedmTypeSupEntry ::= SEQUENCE {
    xcmPrtMedmTypeSupIndex          Ordinal32,
    xcmPrtMedmTypeSupRowStatus      RowStatus,
    xcmPrtMedmTypeSupRowPersistence XcmGenRowPersistence,
    xcmPrtMedmTypeSupName    XcmFixedLocaleDisplayString (SIZE(0..255))
    }

xcmPrtMedmTypeSupIndex OBJECT-TYPE
    SYNTAX      Ordinal32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "
        A unique value used to identify this medium type supported."
    ::= { xcmPrtMedmTypeSupEntry 1 }

xcmPrtMedmTypeSupRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Manages the status of this conceptual row in the 
        'xcmPrtMedmTypeSupTable'."
    ::= { xcmPrtMedmTypeSupEntry 2 }

xcmPrtMedmTypeSupRowPersistence OBJECT-TYPE
    SYNTAX      XcmGenRowPersistence
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Indicates persistence of this row, from the given enumeration."
    DEFVAL { unknown }
    ::= { xcmPrtMedmTypeSupEntry 3 }

xcmPrtMedmTypeSupName OBJECT-TYPE
    SYNTAX      XcmFixedLocaleDisplayString (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "
        Named 'type' of this medium instance."
    REFERENCE   "
        See: prtInputMediaType"
    DEFVAL { ''H }
    ::= { xcmPrtMedmTypeSupEntry 4 }

--
-- Conformance Information
--

xcmPrtMIBConformance OBJECT IDENTIFIER ::= { xcmPrintMIB 2 }

--
-- Compliance statements
--

xcmPrtMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION "
        The compliance statement for agents that implement the
        printer MIB extension module."
    MODULE -- this module
    MANDATORY-GROUPS { xcmPrtBaseGroup }

    --
    -- Compliance Statements for the Conditionally Mandatory Groups.
    --
    GROUP       xcmPrtGeneralGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtGeneralAuxSheetGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtGeneralProdSpecificGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtInputGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtOutputGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtChannelGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtChannelProdSpecificGroup
    DESCRIPTION "
        Implementation of this group is optional."

    GROUP       xcmPrtInterpreterGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtInterpProdSpecificGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtInputAliasGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtAuxPackageGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtMediumTypeSupportedGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtInterpPCLGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

    GROUP       xcmPrtInterpPCLProdSpecificGroup
    DESCRIPTION "
        Implementation of this group is conditionally mandatory."

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

    --
    -- MIN Compliance statements for the xcmPrtGeneralGroup
    --
    OBJECT      xcmPrtGeneralRowStatus
    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      xcmPrtGeneralAuxSheetPackage 
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

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

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

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

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

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

    --
    -- MIN Compliance statements for the xcmPrtGeneralAuxSheetGroup
    --
    OBJECT      xcmPrtGeneralStartupPage
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

    --
    -- MIN Compliance statements for xcmPrtGeneralProdSpecificGroup
    --
    OBJECT      xcmPrtGeneralScanlineCompaction
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

    --
    -- MIN Compliance statements for the xcmPrtInputGroup
    --
    OBJECT      xcmPrtInputRowStatus
    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      xcmPrtInputNextPrtInputIndex
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

    --
    -- MIN Compliance statements for the xcmPrtOutputGroup
    --
    OBJECT      xcmPrtOutputRowStatus
    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      xcmPrtOutputNextIndex
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

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

    --
    -- MIN-ACCESS statements for the xcmPrtChannelGroup
    --
    OBJECT      xcmPrtChannelRowStatus
    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      xcmPrtChannelEOJTimeout
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

    --
    -- MIN-ACCESS statements for the xcmPrtChannelProdSpecificGroup
    --
    OBJECT      xcmPrtChannelAutoJobEnd
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

    --
    -- MIN-ACCESS statements for the xcmPrtInterpreterGroup
    --
    OBJECT      xcmPrtInterpRowStatus
    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      xcmPrtInterpAuxSheetPackage
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    OBJECT      xcmPrtInterpMediumTypeDefault
    SYNTAX      XcmFixedLocaleDisplayString (SIZE(0..16))
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

    --
    -- MIN-ACCESS statements for the xcmPrtInterpProdSpecificGroup
    --
    OBJECT      xcmPrtInterpAutoContinue
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

    --
    -- MIN-ACCESS statements for the xcmPrtInputAliasGroup
    --
    OBJECT      xcmPrtInputAliasRowStatus
    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      xcmPrtInputAliasName
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

    --
    -- MIN-ACCESS statements for the xcmPrtInterpPCLGroup
    --
    OBJECT      xcmPrtInterpPCLRowStatus
    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      xcmPrtInterpPCLFontSourceDflt
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

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

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

    --
    -- MIN-ACCESS statements for the xcmPrtInterpPCLProdSpecificGroup
    --
    OBJECT      xcmPrtInterpPCLPrintScreen
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

    --
    -- MIN-ACCESS statements for the xcmPrtAuxPackageGroup
    --
    OBJECT      xcmPrtAuxPackageRowStatus
    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      xcmPrtAuxPackageType
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

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

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

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

    --
    -- MIN-ACCESS statements for the xcmPrtMediumTypeSupportedGroup
    --
    OBJECT      xcmPrtMedmTypeSupRowStatus
    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      xcmPrtMedmTypeSupRowPersistence
    MIN-ACCESS  read-only
    DESCRIPTION "It is conformant to implement this object read-only."

    OBJECT      xcmPrtMedmTypeSupName
    SYNTAX      XcmFixedLocaleDisplayString (SIZE(0..16))
    MIN-ACCESS  read-only
    DESCRIPTION "
        It is conformant to implement this object read-only
        and with a reduced string length."

    ::= { xcmPrtMIBConformance 1 }

xcmPrtMIBGroups OBJECT IDENTIFIER ::= { xcmPrtMIBConformance 2 }

xcmPrtBaseGroup OBJECT-GROUP
    OBJECTS {   xcmPrtBaseRowStatus,
                xcmPrtBaseGroupSupport,
                xcmPrtBaseUpdateSupport,
                xcmPrtBaseCreateSupport,
                xcmPrtBaseIETFMIBGroupSupport,
                xcmPrtBaseIETFMIBUpdateSupport,
                xcmPrtBaseIETFMIBCreateSupport
                }
    STATUS      current
    DESCRIPTION "
        The general printer group extension."
    ::= { xcmPrtMIBGroups 1 }

xcmPrtGeneralGroup OBJECT-GROUP
    OBJECTS {   xcmPrtGeneralRowStatus,
                xcmPrtGeneralAuxSheetPackage,
                xcmPrtGeneralManualFeedTimeout,
                xcmPrtGeneralInputAutoSwitch,
                xcmPrtGeneralOutputAutoSwitch,
                xcmPrtGeneralMediumClassDefault,
                xcmPrtGeneralDarknessLevels,
                xcmPrtGeneralDarknessLevelNorm,
                xcmPrtGeneralDarknessLevelDflt,
                xcmPrtGeneralHexDumpEnable
                }
    STATUS      current
    DESCRIPTION "
        The general printer group extension."
    ::= { xcmPrtMIBGroups 5 }

xcmPrtInputGroup OBJECT-GROUP
    OBJECTS {   xcmPrtInputRowStatus,
                xcmPrtInputNextPrtInputIndex
                }
    STATUS      current
    DESCRIPTION "
        The input group extension."
    ::= { xcmPrtMIBGroups 8 }

xcmPrtOutputGroup OBJECT-GROUP
    OBJECTS {   xcmPrtOutputRowStatus,
                xcmPrtOutputNextIndex,
                xcmPrtOutputPassword,
                xcmPrtOutputOffsetStackingType,
                xcmPrtOutputTrayTimeoutSupport,
                xcmPrtOutputTrayTimeout
                }
    STATUS      current
    DESCRIPTION "
        The output group extension."
    ::= { xcmPrtMIBGroups 9 }

xcmPrtChannelGroup OBJECT-GROUP
    OBJECTS {   xcmPrtChannelRowStatus, 
                xcmPrtChannelEOJTimeout,
                xcmPrtChannelAuxSheetPackage,
                xcmPrtChannelSpoolingEnable,
                xcmPrtChannelLangSensing
                }
    STATUS      current
    DESCRIPTION "
        The Channel group extension."
    ::= { xcmPrtMIBGroups 14 }

xcmPrtInterpreterGroup OBJECT-GROUP
    OBJECTS {   xcmPrtInterpRowStatus,
                xcmPrtInterpAuxSheetPackage,
                xcmPrtInterpContextSaving,
                xcmPrtInterpEdgeEnhancement,
                xcmPrtInterpFontIndexDefault, 
                xcmPrtInterpGrayLevels,
                xcmPrtInterpGrayLevelDefault,
                xcmPrtInterpJamRecovery,
                xcmPrtInterpJobCopiesDefault,
                xcmPrtInterpLineWrap,
                xcmPrtInterpMediumSizeDefault,
                xcmPrtInterpPageProtect,
                xcmPrtInterpPageProtectSize,
                xcmPrtInterpPageSizeErrorPolicy,
                xcmPrtInterpPlexSupported,
                xcmPrtInterpPlexDefault,
                xcmPrtInterpPrintEdgeToEdge,
                xcmPrtInterpPrintQuality,
                xcmPrtInterpPrtInputIndexDflt,
                xcmPrtInterpPrtOutputIndexDflt,
                xcmPrtInterpResFeedDirDefault,
                xcmPrtInterpResXFeedDirDefault,
                xcmPrtInterpResIPResIndex,
                xcmPrtInterpResIPResIndexDflt,
                xcmPrtInterpTextFormLength,
                xcmPrtInterpTimeoutJob,
                xcmPrtInterpTimeoutPage,
                xcmPrtInterpInputAliasIndexDflt,
                xcmPrtInterpTraySwitch,
                xcmPrtInterpMediumTypeDefault,
                xcmPrtInterpMediaTypeErrPolicy,
                xcmPrtInterpErrorPolicyTimeout,
                xcmPrtInterpLineTerm
                }
    STATUS      current
    DESCRIPTION "
        The interpreter group extension."
    ::= { xcmPrtMIBGroups 15 }

xcmPrtInputAliasGroup OBJECT-GROUP
    OBJECTS {   xcmPrtInputAliasRowStatus,
                xcmPrtInputAliasName,
                xcmPrtInputAliasSwitchProgram
                }
    STATUS      current
    DESCRIPTION "
        The Input Alias group."
    ::= { xcmPrtMIBGroups 50 }

xcmPrtGeneralAuxSheetGroup OBJECT-GROUP
    OBJECTS {   xcmPrtGeneralStartupPage,
                xcmPrtGeneralBannerPage
                }
    STATUS      current
    DESCRIPTION "
        The General Auxiliary Sheet group."
    ::= { xcmPrtMIBGroups 52 }

xcmPrtGeneralProdSpecificGroup OBJECT-GROUP
    OBJECTS {   xcmPrtGeneralScanlineCompaction
                }
    STATUS      current
    DESCRIPTION "
        The general printer product specific group."
    ::= { xcmPrtMIBGroups 55 }

xcmPrtAuxPackageGroup OBJECT-GROUP
    OBJECTS {   xcmPrtAuxPackageRowStatus,
                xcmPrtAuxPackageType,
                xcmPrtAuxPackageContent,
                xcmPrtAuxPackagePrtInputIndex,
                xcmPrtAuxPackageNext
                }
    STATUS      current
    DESCRIPTION "
        The Auxiliary Package group."
    ::= { xcmPrtMIBGroups 60 }

xcmPrtChannelProdSpecificGroup OBJECT-GROUP
    OBJECTS {   xcmPrtChannelAutoJobEnd }
    STATUS      current
    DESCRIPTION "
        The Channel group extension for prod specific objects."
    ::= { xcmPrtMIBGroups 64 }

xcmPrtInterpProdSpecificGroup OBJECT-GROUP
    OBJECTS {   xcmPrtInterpAutoContinue,
                xcmPrtInterpOffsetStackingType,
                xcmPrtInterpEnvFeederSize,
                xcmPrtInterpManualFeedPgSize
                }
    STATUS      current
    DESCRIPTION "
        The interpreter group extension."
    ::= { xcmPrtMIBGroups 65 }

xcmPrtInterpPCLGroup OBJECT-GROUP
    OBJECTS {   xcmPrtInterpPCLRowStatus, 
                xcmPrtInterpPCLFontSourceDflt,
                xcmPrtInterpPCLFontNumberDflt,
                xcmPrtInterpPCLPitchNumerator,
                xcmPrtInterpPCLPitchDenominator,
                xcmPrtInterpPCLPtSizeNumerator,
                xcmPrtInterpPCLPtSizeDenominatr
                }
    STATUS      current
    DESCRIPTION "
        The Interpreter PCL group."
    ::= { xcmPrtMIBGroups 70 }

xcmPrtInterpPCLProdSpecificGroup OBJECT-GROUP
    OBJECTS {   xcmPrtInterpPCLPrintScreen }
    STATUS      current
    DESCRIPTION "
        The Interpreter PCL Product Specific group."
    ::= { xcmPrtMIBGroups 71 }

xcmPrtMediumTypeSupportedGroup OBJECT-GROUP
    OBJECTS {   xcmPrtMedmTypeSupRowStatus,
                xcmPrtMedmTypeSupRowPersistence,
                xcmPrtMedmTypeSupName
                }
    STATUS      current
    DESCRIPTION "
        The Medium Type Supported group."
    ::= { xcmPrtMIBGroups 75 }

END
