smilint output for ./Job-Monitoring-MIB


Message Severities
SeverityCount
error20
warning27
Message Types
TypeCount
integer-misuse (warning)6
subtype-illegal (error)20
type-unref (warning)15
type-without-format (warning)6

Messages:

Job-Monitoring-MIB

   1: -- extracted from rfc2707.txt
   2: -- at Tue Nov 23 07:06:52 1999
   3: 
   4: Job-Monitoring-MIB DEFINITIONS ::= BEGIN
   5: 
   6: IMPORTS
   7:     MODULE-IDENTITY, OBJECT-TYPE, enterprises,
   8:     Integer32                                       FROM SNMPv2-SMI
   9:     TEXTUAL-CONVENTION                              FROM SNMPv2-TC
  10:     MODULE-COMPLIANCE, OBJECT-GROUP                 FROM SNMPv2-CONF;
  11:     -- The following textual-conventions are needed to implement
  12:     -- certain attributes, but are not needed to compile this MIB.
  13:     -- They are provided here for convenience:
  14:     -- hrDeviceIndex                        FROM HOST-RESOURCES-MIB
  15:     -- DateAndTime                          FROM SNMPv2-TC
  16:     -- PrtInterpreterLangFamilyTC,
  17:     -- CodedCharSet                         FROM Printer-MIB
  18: 
  19: -- Use the enterprises arc assigned to the PWG which is pwg(2699).
  20: -- Group all PWG mibs under mibs(1).
  21: 
  22: jobmonMIB MODULE-IDENTITY
  23:     LAST-UPDATED "9902190000Z"
  24:     ORGANIZATION "Printer Working Group (PWG)"
  25:     CONTACT-INFO
  26:         "Tom Hastings
  27:         Postal:  Xerox Corp.
  28:                  Mail stop ESAE-231
  29:                  701 S. Aviation Blvd.
  30:                  El Segundo, CA 90245
  31: 
  32:         Tel:     (301)333-6413
  33:         Fax:     (301)333-5514
  34:         E-mail:  hastings@cp10.es.xerox.com
  35: 
  36:         Send questions and comments to the Printer Working Group (PWG)
  37:         using the Job Monitoring Project (JMP) Mailing List:
  38:         jmp@pwg.org
  39: 
  40:         For further information, including how to subscribe to the
  41:         jmp mailing list, access the PWG web page under 'JMP':
  42: 
  43:             http://www.pwg.org/
  44: 
  45:         Implementers of this specification are encouraged to join the
  46:         jmp mailing list in order to participate in discussions on any
  47:         clarifications needed and registration proposals being reviewed
  48:         in order to achieve consensus."
  49:     DESCRIPTION
  50:         "The MIB module for monitoring job in servers, printers, and
  51:         other devices.
  52: 
  53:         Version: 1.0"
  54: 
  55:     -- revision history
  56:     REVISION    "9902190000Z"
  57:     DESCRIPTION " This version published as RFC 2707"
  58: 
  59:     ::= { enterprises pwg(2699)  mibs(1)  jobmonMIB(1) }
  60: 
  61: -- Textual conventions for this MIB module
  62: 
  63: JmUTF8StringTC ::= TEXTUAL-CONVENTION
  64:     DISPLAY-HINT "255a"
  65:     STATUS      current
  66:     DESCRIPTION
  67:         "To facilitate internationalization, this TC represents
  68:         information taken from the ISO/IEC IS 10646-1 character set,
  69:         encoded as an octet string using the UTF-8 character encoding
  70:         scheme.
  71: 
  72:         See section 3.6.1, entitled: 'Text generated by the server or
  73:         device'."
  74:     SYNTAX      OCTET STRING (SIZE (0..63))
  75: 
  76: 
  77: 
  78: 
  79: JmJobStringTC ::= TEXTUAL-CONVENTION
  80:     STATUS      current
  81:     DESCRIPTION
  82:         "To facilitate internationalization, this TC represents
  83:         information using any coded character set registered by IANA as
  84:         specified in section 3.7.  While it is recommended that the
  85:         coded character set be UTF-8 [UTF-8], the actual coded
  86:         character set SHALL be indicated by the value of the
  87:         jobCodedCharSet(8) attribute for the job.
  88: 
  89:         See section 3.6.2, entitled: 'Text supplied by the job
  90:         submitter'."
  91:     SYNTAX      OCTET STRING (SIZE (0..63))
  92: 
  93: JmNaturalLanguageTagTC  ::= TEXTUAL-CONVENTION
  93: warning - warning: current type `JmNaturalLanguageTagTC' is not referenced in this module
  94:     STATUS      current
  95:     DESCRIPTION
  96:         "An IETF RFC 1766-compliant 'language tag', with zero or more
  97:         sub-tags that identify a natural language.  While RFC 1766
  98:         specifies that the US-ASCII values are case-insensitive, this
  99:         MIB specification requires that all characters SHALL be lower
 100:         case in order to simplify comparing by management applications.
 101: 
 102:         See section 3.6.1, entitled: 'Text generated by the server or
 103:         device' and section 3.6.2, entitled: 'Text supplied by the job
 104:         submitter'."
 105:     SYNTAX      OCTET STRING (SIZE (0..63))
 106: 
 107: 
 108: 
 109: JmTimeStampTC ::= TEXTUAL-CONVENTION
 109: warning - warning: current type `JmTimeStampTC' is not referenced in this module
 109: warning - warning: type `JmTimeStampTC' has no format specification
 110:     STATUS      current
 111:     DESCRIPTION
 112:         "The simple time at which an event took place.  The units are
 113:         in seconds since the system was booted.
 114: 
 115:         NOTE - JmTimeStampTC is defined in units of seconds, rather
 116:         than 100ths of seconds, so as to be simpler for agents to
 117:         implement (even if they have to implement the 100ths of a
 118:         second to comply with implementing sysUpTime in MIB-II[mib-
 119:         II].)
 120: 
 121:         NOTE - JmTimeStampTC is defined as an Integer32 so that it can
 122:         be used as a value of an attribute, i.e., as a value of the
 123:         jmAttributeValueAsInteger object.  The TimeStamp textual-
 124:         convention defined in SNMPv2-TC [SMIv2-TC] is defined as an
 125:         APPLICATION 3 IMPLICIT INTEGER tag, not an Integer32 which is
 126:         defined in SNMPv2-SMI [SMIv2-TC] as UNIVERSAL 2 IMPLICIT
 127:         INTEGER, so cannot be used in this MIB as one of the values of
 128:         jmAttributeValueAsInteger."
 129:     SYNTAX      INTEGER (0..2147483647)
 129: warning - warning: use Integer32 instead of INTEGER in SMIv2
 130: 
 131: 
 132: 
 133: 
 134: JmJobSourcePlatformTypeTC ::= TEXTUAL-CONVENTION
 134: warning - warning: current type `JmJobSourcePlatformTypeTC' is not referenced in this module
 135:     STATUS      current
 136:     DESCRIPTION
 137:         "The source platform type that can submit jobs to servers or
 138:         devices in any of the 3 configurations.
 139: 
 140:         This is a type 2 enumeration.  See Section 3.7.1.2.  See also
 141:         IANA operating-system-names registry."
 142:     SYNTAX      INTEGER {
 143:         other(1),
 144:         unknown(2),
 145:         sptUNIX(3),           -- UNIX
 146:         sptOS2(4),            -- OS/2
 147:         sptPCDOS(5),          -- DOS
 148:         sptNT(6),             -- NT
 149:         sptMVS(7),            -- MVS
 150:         sptVM(8),             -- VM
 151:         sptOS400(9),          -- OS/400
 152:         sptVMS(10),           -- VMS
 153:         sptWindows(11),       -- Windows
 154:         sptNetWare(12)        -- NetWare
 155:     }
 156: 
 157: 
 158: 
 159: JmFinishingTC ::= TEXTUAL-CONVENTION
 159: warning - warning: current type `JmFinishingTC' is not referenced in this module
 160:     STATUS      current
 161:     DESCRIPTION
 162:         "The type of finishing operation.
 163: 
 164:         These values are the same as the enum values of the IPP
 165:         'finishings' attribute.  See Section 3.7.1.2.
 166: 
 167:         other(1),
 168:             Some other finishing operation besides one of the specified
 169:             or registered values.
 170: 
 171:         unknown(2),
 172:             The finishing is unknown.
 173: 
 174:         none(3),
 175:             Perform no finishing.
 176: 
 177:         staple(4),
 178:             Bind the document(s) with one or more staples. The exact
 179:             number and placement of the staples is site-defined.
 180: 
 181:         punch(5),
 182:             Holes are required in the finished document. The exact
 183:             number and placement of the holes is site-defined.  The
 184:             punch specification MAY be satisfied (in a site- and
 185:             implementation-specific manner) either by
 186:             drilling/punching, or by substituting pre-drilled media.
 187: 
 188:         cover(6),
 189:             Select a non-printed (or pre-printed) cover for the
 190:             document. This does not supplant the specification of a
 191:             printed cover (on cover stock medium) by the document
 192:             itself.
 193: 
 194:         bind(7)
 195:             Binding is to be applied to the document; the type and
 196:             placement of the binding is product-specific.
 197: 
 198:         This is a type 2 enumeration.  See Section 3.7.1.2."
 199:     SYNTAX      INTEGER {
 200:         other(1),
 201:         unknown(2),
 202:         none(3),
 203:         staple(4),
 204:         punch(5),
 205:         cover(6),
 206:         bind(7)
 207:     }
 208: 
 209: 
 210: JmPrintQualityTC ::= TEXTUAL-CONVENTION
 210: warning - warning: current type `JmPrintQualityTC' is not referenced in this module
 211:     STATUS      current
 212:     DESCRIPTION
 213:         "Print quality settings.
 214: 
 215:         These values are the same as the enum values of the IPP 'print-
 216:         quality' attribute.  See Section 3.7.1.2.
 217: 
 218:         This is a type 2 enumeration.  See Section 3.7.1.2."
 219:     SYNTAX      INTEGER {
 220:         other(1),    -- Not one of the specified or registered
 221:                      -- values.
 222:         unknown(2),  -- The actual value is unknown.
 223:         draft(3),    -- Lowest quality available on the printer.
 224:         normal(4),   -- Normal or intermediate quality on the
 225:                      -- printer.
 226:         high(5)      -- Highest quality available on the printer.
 227:     }
 228: 
 229: 
 230: 
 231: JmPrinterResolutionTC ::= TEXTUAL-CONVENTION
 231: warning - warning: current type `JmPrinterResolutionTC' is not referenced in this module
 232:     STATUS      current
 233:     DESCRIPTION
 234:         "Printer resolutions.
 235: 
 236:         Nine octets consisting of two 4-octet SIGNED-INTEGERs followed
 237:         by a SIGNED-BYTE.  The values are the same as those specified
 238:         in the Printer MIB [printmib]. The first SIGNED-INTEGER
 239:         contains the value of prtMarkerAddressabilityXFeedDir.  The
 240:         second SIGNED-INTEGER contains the value of
 241:         prtMarkerAddressabilityFeedDir.  The SIGNED-BYTE contains the
 242:         value of prtMarkerAddressabilityUnit.
 243: 
 244:         Note: the latter value is either 3 (tenThousandsOfInches) or 4
 245:         (micrometers) and the addressability is in 10,000 units of
 246:         measure. Thus the SIGNED-INTEGERs represent integral values in
 247:         either dots-per-inch or dots-per-centimeter.
 248: 
 249:         The syntax is the same as the IPP 'printer-resolution'
 250:         attribute.  See Section 3.7.1.2."
 251:     SYNTAX      OCTET STRING (SIZE(9))
 252: 
 253: 
 254: JmTonerEconomyTC ::= TEXTUAL-CONVENTION
 254: warning - warning: current type `JmTonerEconomyTC' is not referenced in this module
 255:     STATUS      current
 256:     DESCRIPTION
 257:         "Toner economy settings.
 258: 
 259:         This is a type 2 enumeration.  See Section 3.7.1.2."
 260:     SYNTAX      INTEGER {
 261:         unknown(2),    -- unknown.
 262:         off(3),        -- Off.  Normal.  Use full toner.
 263:         on(4)          -- On.  Use less toner than normal.
 264:     }
 265: 
 266: 
 267: 
 268: JmBooleanTC ::= TEXTUAL-CONVENTION
 268: warning - warning: current type `JmBooleanTC' is not referenced in this module
 269:     STATUS      current
 270:     DESCRIPTION
 271:         "Boolean true or false value.
 272: 
 273:         This is a type 2 enumeration.  See Section 3.7.1.2."
 274:     SYNTAX      INTEGER {
 275:         unknown(2),    -- unknown.
 276:         false(3),      -- FALSE.
 277:         true(4)        -- TRUE.
 278:     }
 279: 
 280: 
 281: 
 282: JmMediumTypeTC ::= TEXTUAL-CONVENTION
 282: warning - warning: current type `JmMediumTypeTC' is not referenced in this module
 283:     STATUS      current
 284:     DESCRIPTION
 285:         "Identifies the type of medium.
 286: 
 287:         other(1),
 288:             The type is neither one of the values listed in this
 289:             specification nor a registered value.
 290: 
 291:         unknown(2),
 292:             The type is not known.
 293: 
 294:         stationery(3),
 295:             Separately cut sheets of an opaque material.
 296: 
 297:         transparency(4),
 298:             Separately cut sheets of a transparent material.
 299: 
 300:         envelope(5),
 301:             Envelopes that can be used for conventional mailing
 302:             purposes.
 303: 
 304:         envelopePlain(6),
 305:             Envelopes that are not preprinted and have no windows.
 306: 
 307:         envelopeWindow(7),
 308:             Envelopes that have windows for addressing purposes.
 309: 
 310:         continuousLong(8),
 311:             Continuously connected sheets of an opaque material
 312:             connected along the long edge.
 313: 
 314:         continuousShort(9),
 315:             Continuously connected sheets of an opaque material
 316:             connected along the short edge.
 317: 
 318:         tabStock(10),
 319:             Media with tabs.
 320: 
 321:         multiPartForm(11),
 322:             Form medium composed of multiple layers not pre-attached to
 323:             one another;  each sheet MAY be drawn separately from an
 324:             input source.
 325: 
 326:         labels(12),
 327:             Label-stock.
 328: 
 329:         multiLayer(13)
 330:             Form medium composed of multiple layers which are pre-
 331:             attached to one another, e.g. for use with impact printers.
 332: 
 333:         This is a type 2 enumeration.  See Section 3.7.1.2.  These enum
 334:         values correspond to the keyword name strings of the
 335:         prtInputMediaType object in the Printer MIB [print-mib].  There
 336:         is no printer description attribute in IPP/1.0 that represents
 337:         these values."
 338:     SYNTAX      INTEGER {
 339:         other(1),
 340:         unknown(2),
 341:         stationery(3),
 342:         transparency(4),
 343:         envelope(5),
 344:         envelopePlain(6),
 345:         envelopeWindow(7),
 346:         continuousLong(8),
 347:         continuousShort(9),
 348:         tabStock(10),
 349:         multiPartForm(11),
 350:         labels(12),
 351:         multiLayer(13)
 352:     }
 353: 
 354: 
 355: JmJobCollationTypeTC ::= TEXTUAL-CONVENTION
 355: warning - warning: current type `JmJobCollationTypeTC' is not referenced in this module
 356:     STATUS      current
 357:     DESCRIPTION
 358:         "This value is the type of job collation.  Implementations that
 359:         don't support multiple documents or don't support multiple
 360:         copies SHALL NOT support the uncollatedDocuments(5) value.
 361: 
 362:         This is a type 2 enumeration.  See Section 3.7.1.2. See also
 363:         Section 3.4, entitled 'Monitoring Job Progress'."
 364:     SYNTAX      INTEGER {
 365:         other(1),
 366:         unknown(2),
 367:         uncollatedSheets(3),    -- sheets within each document copy
 368:                                 -- are not collated: 1 1 ..., 2 2 ...,
 369:                                 -- No corresponding value of IPP
 370:                                 -- "multiple-document-handling"
 371:         collatedDocuments(4),   -- internal collated sheets,
 372:                                 -- documents: A, B, A, B, ...
 373:                                 -- Corresponds to IPP "multiple-
 374:                                 -- document-handling"='separate-
 375:                                 -- documents-collated-copies'
 376:         uncollatedDocuments(5)  -- internal collated sheets,
 377:                                 -- documents: A, A, ..., B, B, ...
 378:                                 -- Corresponds to IPP "multiple-
 379:                                 -- document-handling"='separate-
 380:                                 -- documents-uncollated-copies'
 381: 
 382:     }
 383: 
 384: 
 385: JmJobSubmissionIDTypeTC ::= TEXTUAL-CONVENTION
 385: warning - warning: current type `JmJobSubmissionIDTypeTC' is not referenced in this module
 386:     STATUS      current
 387:     DESCRIPTION
 388:         "Identifies the format type of a job submission ID.
 389: 
 390:         Each job submission ID is a fixed-length, 48-octet printable
 391:         US-ASCII [US-ASCII] coded character string containing no
 392:         control characters, consisting of the fields defined in section
 393:         3.5.1.
 394: 
 395:         This is like a type 2 enumeration.  See section 3.7.3."
 396:     SYNTAX    OCTET STRING(SIZE(1)) -- ASCII '0'-'9', 'A'-'Z', 'a'-'z'
 397: 
 398: 
 399: 
 400: JmJobStateTC ::= TEXTUAL-CONVENTION
 401:     STATUS      current
 402:     DESCRIPTION
 403:         "The current state of the job (pending, processing, completed,
 404:         etc.).  The following figure shows the normal job state
 405:         transitions:
 406: 
 407:                                                     +----> canceled(7)
 408:                                                    /
 409:     +---> pending(3) -------> processing(5) ------+------> completed(9)
 410:     |         ^                      ^             \
 411: --->+         |                      |              +----> aborted(8)
 412:     |         v                      v             /
 413:     +---> pendingHeld(4)  processingStopped(6) ---+
 414: 
 415: 
 416:                 Figure 4 - Normal Job State Transitions
 417: 
 418:         Normally a job progresses from left to right.  Other state
 419:         transitions are unlikely, but are not forbidden.  Not shown are
 420:         the transitions to the canceled state from the pending,
 421:         pendingHeld, and processingStopped states.
 422: 
 423:         Jobs in the pending, processing, and processingStopped states
 424:         are called 'active', while jobs in the pendingHeld, canceled,
 425:         aborted, and completed states are called 'inactive'.  Jobs
 426:         reach one of the three terminal states: completed, canceled, or
 427:         aborted, after the jobs have completed all activity, and all
 428:         MIB objects and attributes have reached their final values for
 429:         the job.
 430:         These values are the same as the enum values of the IPP 'job-
 431:         state' job attribute.  See Section 3.7.1.2.
 432: 
 433:         unknown(2),
 434:             The job state is not known, or its state is indeterminate.
 435: 
 436:         pending(3),
 437:             The job is a candidate to start processing, but is not yet
 438:             processing.
 439: 
 440:         pendingHeld(4),
 441:             The job is not a candidate for processing for any number of
 442:             reasons but will return to the pending state as soon as the
 443:             reasons are no longer present.  The job's
 444:             jmJobStateReasons1 object and/or jobStateReasonsN (N=2..4)
 445:             attributes SHALL indicate why the job is no longer a
 446:             candidate for processing.  The reasons are represented as
 447:             bits in the jmJobStateReasons1 object and/or
 448:             jobStateReasonsN (N=2..4) attributes.  See the
 449:             JmJobStateReasonsNTC (N=1..4) textual convention for the
 450:             specification of each reason.
 451: 
 452:         processing(5),
 453:             One or more of:
 454: 
 455:             1.  the job is using, or is attempting to use, one or
 456:             more purely software processes that are analyzing,
 457:             creating, or interpreting a PDL, etc.,
 458: 
 459:             2.  the job is using, or is attempting to use, one or
 460:             more hardware devices that are interpreting a PDL,
 461:             making mark on a medium, and/or performing finishing,
 462:             such as stapling, etc.,  OR
 463: 
 464:             3. (configuration 2) the server has made the job ready
 465:             for printing, but the output device is not yet printing
 466:             it, either because the job hasn't reached the output
 467:             device or because the job is queued in the output
 468:             device or some other spooler, awaiting the output
 469:             device to print it.
 470: 
 471:             When the job is in the processing state, the entire job
 472:             state includes the detailed status represented in the
 473:             device MIB indicated by the hrDeviceIndex value of the
 474:             job's physicalDevice attribute, if the agent implements
 475:             such a device MIB.
 476: 
 477:             Implementations MAY, though they NEED NOT, include
 478:             additional values in the job's jmJobStateReasons1 object
 479:             to indicate the progress of the job, such as adding the
 480:             jobPrinting value to indicate when the device is actually
 481:             making marks on a medium and/or the processingToStopPoint
 482:             value to indicate that the server or device is in the
 483:             process of canceling or aborting the job.
 484: 
 485:         processingStopped(6),
 486:             The job has stopped while processing for any number of
 487:             reasons and will return to the processing state as soon
 488:             as the reasons are no longer present.
 489: 
 490:             The job's jmJobStateReasons1 object and/or the job's
 491:             jobStateReasonsN (N=2..4) attributes MAY indicate why the
 492:             job has stopped processing.  For example, if the output
 493:             device is stopped, the deviceStopped value MAY be
 494:             included in the job's jmJobStateReasons1 object.
 495: 
 496:             NOTE - When an output device is stopped, the device
 497:             usually indicates its condition in human readable form
 498:             at the device.  The management application can obtain
 499:              more complete device status remotely by querying the
 500:             appropriate device MIB using the job's deviceIndex
 501:             attribute(s), if the agent implements such a device MIB
 502: 
 503:         canceled(7),
 504:             A client has canceled the job and the server or device
 505:             has completed canceling the job AND all MIB objects and
 506:             attributes have reached their final values for the job.
 507:             While the server or device is canceling the job, the
 508:             job's jmJobStateReasons1 object SHOULD contain the
 509:             processingToStopPoint value and one of the
 510:             canceledByUser, canceledByOperator, or canceledAtDevice
 511:             values.  The canceledByUser, canceledByOperator, or
 512:             canceledAtDevice values remain while the job is in the
 513:             canceled state.
 514: 
 515:         aborted(8),
 516:             The job has been aborted by the system, usually while the
 517:             job was in the processing or processingStopped state and
 518:             the server or device has completed aborting the job AND
 519:             all MIB objects and attributes have reached their final
 520:             values for the job.  While the server or device is
 521:             aborting the job, the job's jmJobStateReasons1 object MAY
 522:             contain the processingToStopPoint and abortedBySystem
 523:             values.  If implemented, the abortedBySystem value SHALL
 524:             remain while the job is in the aborted state.
 525: 
 526:         completed(9)
 527:             The job has completed successfully or with warnings or
 528:             errors after processing and all of the media have been
 529:             successfully stacked in the appropriate output bin(s) AND
 530:             all MIB objects and attributes have reached their final
 531:             values for the job.  The job's jmJobStateReasons1 object
 532:             SHOULD contain one of: completedSuccessfully,
 533:             completedWithWarnings, or completedWithErrors values.
 534: 
 535:         This is a type 2 enumeration.  See Section 3.7.1.2."
 536:     SYNTAX      INTEGER {
 537:         unknown(2),
 538:         pending(3),
 539:         pendingHeld(4),
 540:         processing(5),
 541:         processingStopped(6),
 542:         canceled(7),
 543:         aborted(8),
 544:         completed(9)
 545:     }
 546: 
 547: 
 548: 
 549: JmAttributeTypeTC ::= TEXTUAL-CONVENTION
 550:     STATUS      current
 551:     DESCRIPTION
 552:         "The type of the attribute which identifies the attribute.
 553: 
 554:         NOTE - The enum assignments are grouped logically with values
 555:         assigned in groups of 20, so that additional values may be
 556:         registered in the future and assigned a value that is part of
 557:         their logical grouping.
 558: 
 559:         Values in the range 2**30 to 2**31-1 are reserved for private
 560:         or experimental usage.  This range corresponds to the same
 561:         range reserved in IPP.  Implementers are warned that use of
 562:         such values may conflict with other implementations.
 563:         Implementers are encouraged to request registration of enum
 564:         values following the procedures in Section 3.7.1.
 565: 
 566:         See Section 3.2 entitled 'The Attribute Mechanism' for a
 567:         description of this textual-convention and its use in the
 568:         jmAttributeTable.  See Section 3.3.8 for the specification of
 569:         each attribute.  The comment(s) after each enum assignment
 570:         specifies the data type(s) of the attribute.
 571: 
 572:         This is a type 2 enumeration.  See Section 3.7.1.2."
 573: 
 574:     SYNTAX      INTEGER {
 575:         other(1),                       -- Integer32 (-2..2147483647)
 576:                                         -- AND/OR
 577:                                         -- OCTET STRING(SIZE(0..63))
 578: 
 579:         -- Job State attributes:
 580:         jobStateReasons2(3),            -- JmJobStateReasons2TC
 581:         jobStateReasons3(4),            -- JmJobStateReasons3TC
 582:         jobStateReasons4(5),            -- JmJobStateReasons4TC
 583:         processingMessage(6),           -- JmUTF8StringTC (SIZE(0..63))
 584:         processingMessageNaturalLangTag(7),
 585:                                         -- OCTET STRING(SIZE(0..63))
 586:         jobCodedCharSet(8),             -- CodedCharSet
 587:         jobNaturalLanguageTag(9),       -- OCTET STRING(SIZE(0..63))
 588: 
 589: 
 590:         -- Job Identification attributes:
 591:         jobURI(20),                     -- OCTET STRING(SIZE(0..63))
 592:         jobAccountName(21),             -- OCTET STRING(SIZE(0..63))
 593:         serverAssignedJobName(22),      -- JmJobStringTC (SIZE(0..63))
 594:         jobName(23),                    -- JmJobStringTC (SIZE(0..63))
 595:         jobServiceTypes(24),            -- JmJobServiceTypesTC
 596:         jobSourceChannelIndex(25),      -- Integer32 (0..2147483647)
 597:         jobSourcePlatformType(26),      -- JmJobSourcePlatformTypeTC
 598:         submittingServerName(27),       -- JmJobStringTC (SIZE(0..63))
 599:         submittingApplicationName(28),  -- JmJobStringTC (SIZE(0..63))
 600:         jobOriginatingHost(29),         -- JmJobStringTC (SIZE(0..63))
 601:         deviceNameRequested(30),        -- JmJobStringTC (SIZE(0..63))
 602:         queueNameRequested(31),         -- JmJobStringTC (SIZE(0..63))
 603:         physicalDevice(32),             -- hrDeviceIndex
 604:                                         -- AND/OR
 605:                                         -- JmUTF8StringTC (SIZE(0..63))
 606:         numberOfDocuments(33),          -- Integer32 (-2..2147483647)
 607:         fileName(34),                   -- JmJobStringTC (SIZE(0..63))
 608:         documentName(35),               -- JmJobStringTC (SIZE(0..63))
 609:         jobComment(36),                 -- JmJobStringTC (SIZE(0..63))
 610:         documentFormatIndex(37),        -- Integer32 (0..2147483647)
 611:         documentFormat(38),             -- PrtInterpreterLangFamilyTC
 612:                                         -- AND/OR
 613:                                         -- OCTET STRING(SIZE(0..63))
 614: 
 615:         -- Job Parameter attributes:
 616:         jobPriority(50),                -- Integer32 (-2..100)
 617:         jobProcessAfterDateAndTime(51), -- DateAndTime (SNMPv2-TC)
 618:         jobHold(52),                    -- JmBooleanTC
 619:         jobHoldUntil(53),               -- JmJobStringTC (SIZE(0..63))
 620:         outputBin(54),                  -- Integer32 (0..2147483647)
 621:                                         -- AND/OR
 622:                                         -- JmJobStringTC (SIZE(0..63))
 623:         sides(55),                      -- Integer32 (-2..2)
 624:         finishing(56),                  -- JmFinishingTC
 625: 
 626:         -- Image Quality attributes:
 627:         printQualityRequested(70),      -- JmPrintQualityTC
 628:         printQualityUsed(71),           -- JmPrintQualityTC
 629:         printerResolutionRequested(72), -- JmPrinterResolutionTC
 630:         printerResolutionUsed(73),      -- JmPrinterResolutionTC
 631:         tonerEcomonyRequested(74),      -- JmTonerEconomyTC
 632:         tonerEcomonyUsed(75),           -- JmTonerEconomyTC
 633:         tonerDensityRequested(76),      -- Integer32 (-2..100)
 634:         tonerDensityUsed(77),           -- Integer32 (-2..100)
 635: 
 636: 
 637:         -- Job Progress attributes:
 638:         jobCopiesRequested(90),         -- Integer32 (-2..2147483647)
 639:         jobCopiesCompleted(91),         -- Integer32 (-2..2147483647)
 640:         documentCopiesRequested(92),    -- Integer32 (-2..2147483647)
 641:         documentCopiesCompleted(93),    -- Integer32 (-2..2147483647)
 642:         jobKOctetsTransferred(94),      -- Integer32 (-2..2147483647)
 643:         sheetCompletedCopyNumber(95),   -- Integer32 (-2..2147483647)
 644:         sheetCompletedDocumentNumber(96),
 645:                                         -- Integer32 (-2..2147483647)
 646:         jobCollationType(97),           -- JmJobCollationTypeTC
 647: 
 648:         -- Impression attributes:
 649:         impressionsSpooled(110),        -- Integer32 (-2..2147483647)
 650:         impressionsSentToDevice(111),   -- Integer32 (-2..2147483647)
 651:         impressionsInterpreted(112),    -- Integer32 (-2..2147483647)
 652:         impressionsCompletedCurrentCopy(113),
 653:                                         -- Integer32 (-2..2147483647)
 654:         fullColorImpressionsCompleted(114),
 655:                                         -- Integer32 (-2..2147483647)
 656:         highlightColorImpressionsCompleted(115),
 657:                                         -- Integer32 (-2..2147483647)
 658: 
 659:         -- Page attributes:
 660:         pagesRequested(130),            -- Integer32 (-2..2147483647)
 661:         pagesCompleted(131),            -- Integer32 (-2..2147483647)
 662:         pagesCompletedCurrentCopy(132), -- Integer32 (-2..2147483647)
 663: 
 664:         -- Sheet attributes:
 665:         sheetsRequested(150),           -- Integer32 (-2..2147483647)
 666:         sheetsCompleted(151),           -- Integer32 (-2..2147483647)
 667:         sheetsCompletedCurrentCopy(152),-- Integer32 (-2..2147483647)
 668: 
 669:         -- Resource attributes:
 670:         mediumRequested(170),           -- JmMediumTypeTC
 671:                                         -- AND/OR
 672:                                         -- JmJobStringTC (SIZE(0..63))
 673:         mediumConsumed(171),            -- Integer32 (-2..2147483647)
 674:                                         -- AND
 675:                                         -- JmJobStringTC (SIZE(0..63))
 676:         colorantRequested(172),         -- Integer32 (-2..2147483647)
 677:                                         -- AND/OR
 678:                                         -- JmJobStringTC (SIZE(0..63))
 679:         colorantConsumed(173),          -- Integer32 (-2..2147483647)
 680:                                         -- AND/OR
 681:                                         -- JmJobStringTC (SIZE(0..63))
 682:         mediumTypeConsumed(174),        -- Integer32 (-2..2147483647)
 683:                                         -- AND
 684:                                         -- JmJobStringTC (SIZE(0..63))
 685:         mediumSizeConsumed(175),        -- Integer32 (-2..2147483647)
 686:                                         -- AND
 687:                                         -- JmJobStringTC (SIZE(0..63))
 688: 
 689:         -- Time attributes:
 690:         jobSubmissionToServerTime(190), -- JmTimeStampTC
 691:                                         -- AND/OR
 692:                                         -- DateAndTime
 693:         jobSubmissionTime(191),         -- JmTimeStampTC
 694:                                         -- AND/OR
 695:                                         -- DateAndTime
 696:         jobStartedBeingHeldTime(192),   -- JmTimeStampTC
 697:                                         -- AND/OR
 698:                                         -- DateAndTime
 699:         jobStartedProcessingTime(193),  -- JmTimeStampTC
 700:                                         -- AND/OR
 701:                                         -- DateAndTime
 702:         jobCompletionTime(194),         -- JmTimeStampTC
 703:                                         -- AND/OR
 704:                                         -- DateAndTime
 705:         jobProcessingCPUTime(195)       -- Integer32 (-2..2147483647)
 706:     }
 707: 
 708: 
 709: 
 710: JmJobServiceTypesTC ::= TEXTUAL-CONVENTION
 710: warning - warning: current type `JmJobServiceTypesTC' is not referenced in this module
 710: warning - warning: type `JmJobServiceTypesTC' has no format specification
 711:     STATUS      current
 712:     DESCRIPTION
 713:         "Specifies the type(s) of service to which the job has been
 714:         submitted (print, fax, scan, etc.).  The service type is
 715:         represented as an enum that is bit encoded with each job
 716:         service type so that more general and arbitrary services can be
 717:         created, such as services with more than one destination type,
 718:         or ones with only a source or only a destination.  For example,
 719:         a job service might scan, faxOut, and print a single job.  In
 720:         this case, three bits would be set in the jobServiceTypes
 721:         attribute, corresponding to the hexadecimal values: 0x8 + 0x20
 722:         + 0x4, respectively, yielding: 0x2C.
 723: 
 724:         Whether this attribute is set from a job attribute supplied by
 725:         the job submission client or is set by the recipient job
 726:         submission server or device depends on the job submission
 727:         protocol.  With either implementation, the agent SHALL return a
 728:         non-zero value for this attribute indicating the type of the
 729:         job.
 730: 
 731:         One of the purposes of this attribute is to permit a requester
 732:         to filter out jobs that are not of interest.  For example, a
 733:         printer operator MAY only be interested in jobs that include
 734:         printing.  That is why the attribute is in the job
 735:         identification category.
 736: 
 737:         The following service component types are defined (in
 738:         hexadecimal) and are assigned a separate bit value for use with
 739:         the jobServiceTypes attribute:
 740: 
 741:         other                             0x1
 742:             The job contains some instructions that are not one of the
 743:             identified types.
 744: 
 745:         unknown                           0x2
 746:             The job contains some instructions whose type is unknown to
 747:             the agent.
 748: 
 749:         print                             0x4
 750:             The job contains some instructions that specify printing
 751: 
 752:         scan                              0x8
 753:             The job contains some instructions that specify scanning
 754: 
 755:         faxIn                             0x10
 756:             The job contains some instructions that specify receive fax
 757: 
 758:         faxOut                            0x20
 759:             The job contains some instructions that specify sending fax
 760: 
 761:         getFile                           0x40
 762:             The job contains some instructions that specify accessing
 763:             files or documents
 764: 
 765:         putFile                           0x80
 766:             The job contains some instructions that specify storing
 767:             files or documents
 768: 
 769:         mailList                          0x100
 770:             The job contains some instructions that specify
 771:             distribution of documents using an electronic mail system.
 772: 
 773:         These bit definitions are the equivalent of a type 2 enum
 774:         except that combinations of them MAY be used together.  See
 775:         section 3.7.1.2."
 776:     SYNTAX      INTEGER (0..2147483647)   -- 31 bits, all but sign bit
 776: warning - warning: use Integer32 instead of INTEGER in SMIv2
 777: 
 778: 
 779: 
 780: JmJobStateReasons1TC ::= TEXTUAL-CONVENTION
 780: warning - warning: type `JmJobStateReasons1TC' has no format specification
 781:     STATUS      current
 782:     DESCRIPTION
 783:         "The JmJobStateReasonsNTC (N=1..4) textual-conventions are used
 784:         with the jmJobStateReasons1 object and jobStateReasonsN
 785:         (N=2..4), respectively, to provide additional information
 786:         regarding the current jmJobState object value.  These values
 787:         MAY be used with any job state or states for which the reason
 788:         makes sense.  See section 3.3.9.1 for the specification of each
 789:         bit value defined for use with the JmJobStateReasons1TC.
 790: 
 791:         These bit definitions are the equivalent of a type 2 enum
 792:         except that combinations of bits may be used together.  See
 793:         section 3.7.1.2."
 794:     SYNTAX      INTEGER (0..2147483647)   -- 31 bits, all but sign bit
 794: warning - warning: use Integer32 instead of INTEGER in SMIv2
 795: 
 796: 
 797: 
 798: JmJobStateReasons2TC ::= TEXTUAL-CONVENTION
 798: warning - warning: current type `JmJobStateReasons2TC' is not referenced in this module
 798: warning - warning: type `JmJobStateReasons2TC' has no format specification
 799:     STATUS      current
 800:     DESCRIPTION
 801:         "This textual-convention is used with the jobStateReasons2
 802:         attribute to provides additional information regarding the
 803:         jmJobState object.  See section 3.3.9.2 for the specification
 804:         of JmJobStateReasons2TC.  See section 3.3.9.1 for the
 805:         description under JmJobStateReasons1TC for additional
 806:         information that applies to all reasons.
 807: 
 808:         These bit definitions are the equivalent of a type 2 enum
 809:         except that combinations of them may be used together.  See
 810:         section 3.7.1.2."
 811:     SYNTAX      INTEGER (0..2147483647)   -- 31 bits, all but sign bit
 811: warning - warning: use Integer32 instead of INTEGER in SMIv2
 812: 
 813: JmJobStateReasons3TC ::= TEXTUAL-CONVENTION
 813: warning - warning: current type `JmJobStateReasons3TC' is not referenced in this module
 813: warning - warning: type `JmJobStateReasons3TC' has no format specification
 814:     STATUS      current
 815:     DESCRIPTION
 816:         "This textual-convention is used with the jobStateReasons3
 817:         attribute to provides additional information regarding the
 818:         jmJobState object.  See section 3.3.9.3 for the specification
 819:         of JmJobStateReasons3TC.  See section 3.3.9.1 for the
 820:         description under JmJobStateReasons1TC for additional
 821:         information that applies to all reasons.
 822: 
 823:         These bit definitions are the equivalent of a type 2 enum
 824:         except that combinations of them may be used together.  See
 825:         section 3.7.1.2.  "
 826:     SYNTAX      INTEGER (0..2147483647)   -- 31 bits, all but sign bit
 826: warning - warning: use Integer32 instead of INTEGER in SMIv2
 827: 
 828: 
 829: 
 830: 
 831: 
 832: JmJobStateReasons4TC ::= TEXTUAL-CONVENTION
 832: warning - warning: current type `JmJobStateReasons4TC' is not referenced in this module
 832: warning - warning: type `JmJobStateReasons4TC' has no format specification
 833:     STATUS      current
 834:     DESCRIPTION
 835:         "This textual-convention is used in the jobStateReasons4
 836:         attribute to provides additional information regarding the
 837:         jmJobState object.  See section 3.3.9.4 for the specification
 838:         of JmJobStateReasons4TC.  See section 3.3.9.1 for the
 839:         description under JmJobStateReasons1TC for additional
 840:         information that applies to all reasons.
 841: 
 842:         These bit definitions are the equivalent of a type 2 enum
 843:         except that combinations of them may be used together.  See
 844:         section 3.7.1.2."
 845:     SYNTAX      INTEGER (0..2147483647)   -- 31 bits, all but sign bit
 845: warning - warning: use Integer32 instead of INTEGER in SMIv2
 846: 
 847: 
 848: 
 849: jobmonMIBObjects  OBJECT IDENTIFIER  ::= { jobmonMIB 1 }
 850: 
 851: -- The General Group (MANDATORY)
 852: 
 853: -- The jmGeneralGroup consists entirely of the jmGeneralTable.
 854: 
 855: jmGeneral  OBJECT IDENTIFIER ::= { jobmonMIBObjects 1 }
 856: 
 857: jmGeneralTable  OBJECT-TYPE
 858:     SYNTAX      SEQUENCE OF JmGeneralEntry
 859:     MAX-ACCESS  not-accessible
 860:     STATUS      current
 861:     DESCRIPTION
 862:         "The jmGeneralTable consists of information of a general nature
 863:         that are per-job-set, but are not per-job.  See Section 2
 864:         entitled 'Terminology and Job Model' for the definition of a
 865:         job set.
 866: 
 867:         The MANDATORY-GROUP macro specifies that this group is
 868:         MANDATORY."
 869:     ::= { jmGeneral 1 }
 870: 
 871: 
 872: jmGeneralEntry  OBJECT-TYPE
 873:     SYNTAX      JmGeneralEntry
 874:     MAX-ACCESS  not-accessible
 875:     STATUS      current
 876:     DESCRIPTION
 877:         "Information about a job set (queue).
 878: 
 879:         An entry SHALL exist in this table for each job set."
 880:     INDEX  { jmGeneralJobSetIndex }
 881:     ::= { jmGeneralTable 1 }
 882: 
 883: 
 884: JmGeneralEntry ::= SEQUENCE {
 885:     jmGeneralJobSetIndex                  Integer32 (1..32767),
 885: error - subtyping not allowed
 886:     jmGeneralNumberOfActiveJobs           Integer32 (0..2147483647),
 886: error - subtyping not allowed
 887:     jmGeneralOldestActiveJobIndex         Integer32 (0..2147483647),
 887: error - subtyping not allowed
 888:     jmGeneralNewestActiveJobIndex         Integer32 (0..2147483647),
 888: error - subtyping not allowed
 889:     jmGeneralJobPersistence               Integer32 (15..2147483647),
 889: error - subtyping not allowed
 890:     jmGeneralAttributePersistence         Integer32 (15..2147483647),
 890: error - subtyping not allowed
 891:     jmGeneralJobSetName                   JmUTF8StringTC (SIZE(0..63))
 891: error - subtyping not allowed
 892: }
 893: 
 894: 
 895: jmGeneralJobSetIndex OBJECT-TYPE
 896:     SYNTAX      Integer32 (1..32767)
 897:     MAX-ACCESS  not-accessible
 898:     STATUS      current
 899:     DESCRIPTION
 900:         "A unique value for each job set in this MIB.  The jmJobTable
 901:         and jmAttributeTable tables have this same index as their
 902:         primary index.
 903: 
 904:         The value(s) of the jmGeneralJobSetIndex SHALL be persistent
 905:         across power cycles, so that clients that have retained
 906:         jmGeneralJobSetIndex values will access the same job sets upon
 907:         subsequent power-up.
 908: 
 909:         An implementation that has only one job set, such as a printer
 910:         with a single queue, SHALL hard code this object with the value
 911:         1.
 912: 
 913:         See Section 2 entitled 'Terminology and Job Model' for the
 914:         definition of a job set.
 915:         Corresponds to the first index in jmJobTable and
 916:         jmAttributeTable."
 917:     ::= { jmGeneralEntry 1 }
 918: 
 919: 
 920: jmGeneralNumberOfActiveJobs OBJECT-TYPE
 921:     SYNTAX      Integer32 (0..2147483647)
 922:     MAX-ACCESS  read-only
 923:     STATUS      current
 924:     DESCRIPTION
 925:         "The current number of 'active' jobs in the jmJobIDTable,
 926:         jmJobTable, and jmAttributeTable, i.e., the total number of
 927:         jobs that are in the pending, processing, or processingStopped
 928:         states.  See the JmJobStateTC textual-convention for the exact
 929:         specification of the semantics of the job states."
 930:     DEFVAL      { 0 }      -- no jobs
 931:     ::= { jmGeneralEntry 2 }
 932: 
 933: 
 934: jmGeneralOldestActiveJobIndex  OBJECT-TYPE
 935:     SYNTAX      Integer32 (0..2147483647)
 936:     MAX-ACCESS  read-only
 937:     STATUS      current
 938:     DESCRIPTION
 939:         "The jmJobIndex of the oldest job that is still in one of the
 940:         'active' states (pending, processing, or processingStopped).
 941:         In other words, the index of the 'active' job that has been in
 942:         the job tables the longest.
 943: 
 944:         If there are no active jobs, the agent SHALL set the value of
 945:         this object to 0.
 946: 
 947:         See Section 3.2 entitled 'The Job Tables and the Oldest Active
 948:         and Newest Active Indexes' for a description of the usage of
 949:         this object."
 950:     DEFVAL      { 0 }      -- no active jobs
 951:     ::= { jmGeneralEntry 3 }
 952: 
 953: 
 954: 
 955: jmGeneralNewestActiveJobIndex  OBJECT-TYPE
 956:     SYNTAX      Integer32 (0..2147483647)
 957:     MAX-ACCESS  read-only
 958:     STATUS      current
 959:     DESCRIPTION
 960:         "The jmJobIndex of the newest job that is in one of the
 961:         'active' states (pending, processing, or processingStopped).
 962:         In other words, the index of the 'active' job that has been
 963:         most recently added to the job tables.
 964: 
 965:         When all jobs become 'inactive', i.e., enter the pendingHeld,
 966:         completed, canceled, or aborted states, the agent SHALL set the
 967:         value of this object to 0.
 968: 
 969:         See Section 3.2 entitled 'The Job Tables and the Oldest Active
 970:         and Newest Active Indexes' for a description of the usage of
 971:         this object."
 972:     DEFVAL      { 0 }      -- no active jobs
 973:     ::= { jmGeneralEntry 4 }
 974: 
 975: 
 976: 
 977: jmGeneralJobPersistence OBJECT-TYPE
 978:     SYNTAX      Integer32 (15..2147483647)
 979:     UNITS       "seconds"
 980:     MAX-ACCESS  read-only
 981:     STATUS      current
 982:     DESCRIPTION
 983:         "The minimum time in seconds for this instance of the Job Set
 984:         that an entry SHALL remain in the jmJobIDTable and jmJobTable
 985:         after processing has completed, i.e., the minimum time in
 986:         seconds starting when the job enters the completed, canceled,
 987:         or aborted state.
 988: 
 989:         Configuring this object is implementation-dependent.
 990: 
 991:         This value SHALL be equal to or greater than the value of
 992:         jmGeneralAttributePersistence.  This value SHOULD be at least
 993:         60 which gives a monitoring or accounting application one
 994:         minute in which to poll for job data."
 995:     DEFVAL      { 60 }          -- one minute
 996:     ::= { jmGeneralEntry 5 }
 997: 
 998: 
 999: 
1000: jmGeneralAttributePersistence OBJECT-TYPE
1001:     SYNTAX      Integer32 (15..2147483647)
1002:     UNITS       "seconds"
1003:     MAX-ACCESS  read-only
1004:     STATUS      current
1005:     DESCRIPTION
1006:         "The minimum time in seconds for this instance of the Job Set
1007:         that an entry SHALL remain in the jmAttributeTable after
1008:         processing has completed , i.e., the time in seconds starting
1009:         when the job enters the completed, canceled, or aborted state.
1010: 
1011:         Configuring this object is implementation-dependent.
1012: 
1013:         This value SHOULD be at least 60 which gives a monitoring or
1014:         accounting application one minute in which to poll for job
1015:         data."
1016:     DEFVAL      { 60 }          -- one minute
1017:     ::= { jmGeneralEntry 6 }
1018: 
1019: 
1020: 
1021: jmGeneralJobSetName OBJECT-TYPE
1022:     SYNTAX      JmUTF8StringTC (SIZE(0..63))
1023:     MAX-ACCESS  read-only
1024:     STATUS      current
1025:     DESCRIPTION
1026:         "The human readable name of this job set assigned by the system
1027:         administrator (by means outside of this MIB).  Typically, this
1028:         name SHOULD be the name of the job queue.  If a server or
1029:         device has only a single job set, this object can be the
1030:         administratively assigned name of the server or device itself.
1031:         This name does not need to be unique, though each job set in a
1032:         single Job Monitoring MIB SHOULD have distinct names.
1033: 
1034:         NOTE - If the job set corresponds to a single printer and the
1035:         Printer MIB is implemented, this value SHOULD be the same as
1036:         the prtGeneralPrinterName object in the draft Printer MIB
1037:         [print-mib-draft].  If the job set corresponds to an IPP
1038:         Printer, this value SHOULD be the same as the IPP 'printer-
1039:         name' Printer attribute.
1040: 
1041:         NOTE - The purpose of this object is to help the user of the
1042:         job monitoring application distinguish between several job sets
1043:         in implementations that support more than one job set.
1044: 
1045:         See the OBJECT compliance macro for the minimum maximum length
1046:         required for conformance."
1047:     DEFVAL      { ''H }      -- empty string
1048:     ::= { jmGeneralEntry 7 }
1049: 
1050: 
1051: -- The Job ID Group (MANDATORY)
1052: 
1053: -- The jmJobIDGroup consists entirely of the jmJobIDTable.
1054: jmJobID  OBJECT IDENTIFIER ::= { jobmonMIBObjects 2 }
1055: 
1056: jmJobIDTable  OBJECT-TYPE
1057:     SYNTAX      SEQUENCE OF JmJobIDEntry
1058:     MAX-ACCESS  not-accessible
1059:     STATUS      current
1060:     DESCRIPTION
1061:         "The jmJobIDTable provides a correspondence map (1) between the
1062:         job submission ID that a client uses to refer to a job and (2)
1063:         the jmGeneralJobSetIndex and jmJobIndex that the Job Monitoring
1064:         MIB agent assigned to the job and that are used to access the
1065:         job in all of the other tables in the MIB.  If a monitoring
1066:         application already knows the jmGeneralJobSetIndex and the
1067:         jmJobIndex of the job it is querying, that application NEED NOT
1068:         use the jmJobIDTable.
1069: 
1070:         The MANDATORY-GROUP macro specifies that this group is
1071:         MANDATORY."
1072:     ::= { jmJobID 1 }
1073: 
1074: 
1075: 
1076: jmJobIDEntry  OBJECT-TYPE
1077:     SYNTAX      JmJobIDEntry
1078:     MAX-ACCESS  not-accessible
1079:     STATUS      current
1080:     DESCRIPTION
1081:         "The map from (1) the jmJobSubmissionID to (2) the
1082:         jmGeneralJobSetIndex and jmJobIndex.
1083: 
1084:         An entry SHALL exist in this table for each job currently known
1085:         to the agent for all job sets and job states.  There MAY be
1086:         more than one jmJobIDEntry that maps to a single job.  This
1087:         many to one mapping can occur when more than one network entity
1088:         along the job submission path supplies a job submission ID.
1089:         See Section 3.5.  However, each job SHALL appear once and in
1090:         one and only one job set."
1091:     INDEX  { jmJobSubmissionID }
1092:     ::= { jmJobIDTable 1 }
1093: 
1094: JmJobIDEntry ::= SEQUENCE {
1095:     jmJobSubmissionID                     OCTET STRING(SIZE(48)),
1095: error - subtyping not allowed
1096:     jmJobIDJobSetIndex                    Integer32 (0..32767),
1096: error - subtyping not allowed
1097:     jmJobIDJobIndex                       Integer32 (0..2147483647)
1097: error - subtyping not allowed
1098: }
1099: 
1100: 
1101: jmJobSubmissionID OBJECT-TYPE
1102:     SYNTAX      OCTET STRING(SIZE(48))
1103:     MAX-ACCESS  not-accessible
1104:     STATUS      current
1105:     DESCRIPTION
1106:         "A quasi-unique 48-octet fixed-length string ID which
1107:         identifies the job within a particular client-server
1108:         environment.  There are multiple formats for the
1109:         jmJobSubmissionID.  Each format SHALL be uniquely identified.
1110:         See the JmJobSubmissionIDTypeTC textual convention.  Each
1111:         format SHALL be registered using the procedures of a type 2
1112:         enum.  See section 3.7.3 entitled: 'PWG Registration of Job
1113:         Submission Id Formats'.
1114: 
1115:         If the requester (client or server) does not supply a job
1116:         submission ID in the job submission protocol, then the
1117:         recipient (server or device) SHALL assign a job submission ID
1118:         using any of the standard formats that have been reserved for
1119:         agents and adding the final 8 octets to distinguish the ID from
1120:         others submitted from the same requester.
1121: 
1122:         The monitoring application, whether in the client or running
1123:         separately, MAY use the job submission ID to help identify
1124:         which jmJobIndex was assigned by the agent, i.e., in which row
1125:         the job information is in the other tables.
1126: 
1127:         NOTE - fixed-length is used so that a management application
1128:         can use a shortened GetNext varbind (in SNMPv1 and SNMPv2) in
1129:         order to get the next submission ID, disregarding the remainder
1130:         of the ID in order to access jobs independent of the trailing
1131:         identifier part, e.g., to get all jobs submitted by a
1132:         particular jmJobOwner or submitted from a particular MAC
1133:         address.
1134: 
1135:         See the JmJobSubmissionIDTypeTC textual convention.
1136:         See APPENDIX B - Support of Job Submission Protocols."
1137:     ::= { jmJobIDEntry 1 }
1138: 
1139: 
1140: 
1141: jmJobIDJobSetIndex OBJECT-TYPE
1142:     SYNTAX      Integer32 (0..32767)
1143:     MAX-ACCESS  read-only
1144:     STATUS      current
1145:     DESCRIPTION
1146:         "This object contains the value of the jmGeneralJobSetIndex for
1147:         the job with the jmJobSubmissionID value, i.e., the job set
1148:         index of the job set in which the job was placed when that
1149:         server or device accepted the job.  This 16-bit value in
1150:         combination with the jmJobIDJobIndex value permits the
1151:         management application to access the other tables to obtain the
1152:         job-specific objects for this job.
1153: 
1154:         See jmGeneralJobSetIndex in the jmGeneralTable."
1155:     DEFVAL      { 0 }      -- 0 indicates no job set index
1156:     ::= { jmJobIDEntry 2 }
1157: 
1158: 
1159: 
1160: jmJobIDJobIndex OBJECT-TYPE
1161:     SYNTAX      Integer32 (0..2147483647)
1162:     MAX-ACCESS  read-only
1163:     STATUS      current
1164:     DESCRIPTION
1165:         "This object contains the value of the jmJobIndex for the job
1166:         with the jmJobSubmissionID value, i.e., the job index for the
1167:         job when the server or device accepted the job.  This value, in
1168:         combination with the jmJobIDJobSetIndex value, permits the
1169:         management application to access the other tables to obtain the
1170:         job-specific objects for this job.
1171: 
1172:         See jmJobIndex in the jmJobTable."
1173:     DEFVAL      { 0 }      -- 0 indicates no jmJobIndex value.
1174:     ::= { jmJobIDEntry 3 }
1175: 
1176: 
1177: -- The Job Group (MANDATORY)
1178: 
1179: -- The jmJobGroup consists entirely of the jmJobTable.
1180: 
1181: jmJob  OBJECT IDENTIFIER ::= { jobmonMIBObjects 3 }
1182: 
1183: jmJobTable  OBJECT-TYPE
1184:     SYNTAX      SEQUENCE OF JmJobEntry
1185:     MAX-ACCESS  not-accessible
1186:     STATUS      current
1187:     DESCRIPTION
1188:         "The jmJobTable consists of basic job state and status
1189:         information for each job in a job set that (1) monitoring
1190:         applications need to be able to access in a single SNMP Get
1191:         operation, (2) that have a single value per job, and (3) that
1192:         SHALL always be implemented.
1193: 
1194:         The MANDATORY-GROUP macro specifies that this group is
1195:         MANDATORY."
1196:     ::= { jmJob 1 }
1197: 
1198: jmJobEntry  OBJECT-TYPE
1199:     SYNTAX      JmJobEntry
1200:     MAX-ACCESS  not-accessible
1201:     STATUS      current
1202:     DESCRIPTION
1203:         "Basic per-job state and status information.
1204: 
1205:         An entry SHALL exist in this table for each job, no matter what
1206:         the state of the job is.  Each job SHALL appear in one and only
1207:         one job set.
1208: 
1209:         See Section 3.2 entitled 'The Job Tables'."
1210:     INDEX  { jmGeneralJobSetIndex, jmJobIndex }
1211:     ::= { jmJobTable 1 }
1212: 
1213: JmJobEntry ::= SEQUENCE {
1214:     jmJobIndex                            Integer32 (1..2147483647),
1214: error - subtyping not allowed
1215:     jmJobState                            JmJobStateTC,
1216:     jmJobStateReasons1                    JmJobStateReasons1TC,
1217:     jmNumberOfInterveningJobs             Integer32 (-2..2147483647),
1217: error - subtyping not allowed
1218:     jmJobKOctetsPerCopyRequested          Integer32 (-2..2147483647),
1218: error - subtyping not allowed
1219:     jmJobKOctetsProcessed                 Integer32 (-2..2147483647),
1219: error - subtyping not allowed
1220:     jmJobImpressionsPerCopyRequested      Integer32 (-2..2147483647),
1220: error - subtyping not allowed
1221:     jmJobImpressionsCompleted             Integer32 (-2..2147483647),
1221: error - subtyping not allowed
1222:     jmJobOwner                            JmJobStringTC (SIZE(0..63))
1222: error - subtyping not allowed
1223: }
1224: 
1225: 
1226: jmJobIndex OBJECT-TYPE
1227:     SYNTAX      Integer32 (1..2147483647)
1228:     MAX-ACCESS  not-accessible
1229:     STATUS      current
1230:     DESCRIPTION
1231:         "The sequential, monatonically increasing identifier index for
1232:         the job generated by the server or device when that server or
1233:         device accepted the job.  This index value permits the
1234:         management application to access the other tables to obtain the
1235:         job-specific row entries.
1236: 
1237:         See Section 3.2 entitled 'The Job Tables and the Oldest Active
1238:         and Newest Active Indexes'.
1239:         See Section 3.5 entitled 'Job Identification'.
1240:         See also jmGeneralNewestActiveJobIndex for the largest value of
1241:         jmJobIndex.
1242:         See JmJobSubmissionIDTypeTC for a limit on the size of this
1243:         index if the agent represents it as an 8-digit decimal number."
1244:     ::= { jmJobEntry 1 }
1245: 
1246: jmJobState OBJECT-TYPE
1247:     SYNTAX      JmJobStateTC
1248:     MAX-ACCESS  read-only
1249:     STATUS      current
1250:     DESCRIPTION
1251:         "The current state of the job (pending, processing, completed,
1252:         etc.).  Agents SHALL implement only those states which are
1253:         appropriate for the particular implementation.  However,
1254:         management applications SHALL be prepared to receive all the
1255:         standard job states.
1256: 
1257:         The final value for this object SHALL be one of: completed,
1258:         canceled, or aborted.  The minimum length of time that the
1259:         agent SHALL maintain MIB data for a job in the completed,
1260:         canceled, or aborted state before removing the job data from
1261:         the jmJobIDTable and jmJobTable is specified by the value of
1262:         the jmGeneralJobPersistence object."
1263:     DEFVAL      { unknown }      -- default is unknown
1264:     ::= { jmJobEntry 2 }
1265: 
1266: 
1267: 
1268: jmJobStateReasons1 OBJECT-TYPE
1269:     SYNTAX      JmJobStateReasons1TC
1270:     MAX-ACCESS  read-only
1271:     STATUS      current
1272:     DESCRIPTION
1273:         "Additional information about the job's current state, i.e.,
1274:         information that augments the value of the job's jmJobState
1275:         object.
1276: 
1277:         Implementation of any reason values is OPTIONAL, but an agent
1278:         SHOULD return any reason information available.  These values
1279:         MAY be used with any job state or states for which the reason
1280:         makes sense.  Since the Job State Reasons will be more dynamic
1281:         than the Job State, it is recommended that a job monitoring
1282:         application read this object every time jmJobState is read.
1283:         When the agent cannot provide a reason for the current state of
1284:         the job, the value of the jmJobStateReasons1 object and
1285:         jobStateReasonsN attributes SHALL be 0.
1286: 
1287:         The jobStateReasonsN (N=2..4) attributes provide further
1288:         additional information about the job's current state."
1289:     DEFVAL      { 0 }      -- no reasons
1290:     ::= { jmJobEntry 3 }
1291: 
1292: jmNumberOfInterveningJobs OBJECT-TYPE
1293:     SYNTAX      Integer32 (-2..2147483647)
1294:     MAX-ACCESS  read-only
1295:     STATUS      current
1296:     DESCRIPTION
1297:         "The number of jobs that are expected to complete processing
1298:         before this job has completed processing according to the
1299:         implementation's queuing algorithm, if no other jobs were to be
1300:         submitted.  In other words, this value is the job's queue
1301:         position.  The agent SHALL return a value of 0 for this
1302:         attribute when the job is the next job to complete processing
1303:         (or has completed processing)."
1304:     DEFVAL      { 0 }      -- default is no intervening jobs.
1305:     ::= { jmJobEntry 4 }
1306: 
1307: 
1308: 
1309: jmJobKOctetsPerCopyRequested OBJECT-TYPE
1310:     SYNTAX      Integer32 (-2..2147483647)
1311:     MAX-ACCESS  read-only
1312:     STATUS      current
1313:     DESCRIPTION
1314:         "The total size in K (1024) octets of the document(s) being
1315:         requested to be processed in the job.  The agent SHALL round
1316:         the actual number of octets up to the next highest K.  Thus 0
1317:         octets is represented as '0', 1-1024 octets is represented as
1318:         '1', 1025-2048 is represented as '2', etc.
1319: 
1320:         In computing this value, the server/device SHALL NOT include
1321:         the multiplicative factors contributed by (1) the number of
1322:         document copies, and (2) the number of job copies, independent
1323:         of whether the device can process multiple copies of the job or
1324:         document without making multiple passes over the job or
1325:         document data and independent of whether the output is collated
1326:         or not.  Thus the server/device computation is independent of
1327:         the implementation and indicates the size of the document(s)
1328:         measured in K octets independent of the number of copies."
1329:     DEFVAL      { -2 }      -- the default is unknown(-2)
1330:     ::= { jmJobEntry 5 }
1331: 
1332: 
1333: 
1334: jmJobKOctetsProcessed OBJECT-TYPE
1335:     SYNTAX      Integer32 (-2..2147483647)
1336:     MAX-ACCESS  read-only
1337:     STATUS      current
1338:     DESCRIPTION
1339:         "The total number of octets processed by the server or device
1340:         measured in units of K (1024) octets so far.  The agent SHALL
1341:         round the actual number of octets processed up to the next
1342:         higher K.  Thus 0 octets is represented as '0', 1-1024 octets
1343:         is represented as '1', 1025-2048 octets is '2', etc.  For
1344:         printing devices, this value is the number interpreted by the
1345:         page description language interpreter rather than what has been
1346:         marked on media.
1347: 
1348:         For implementations where multiple copies are produced by the
1349:         interpreter with only a single pass over the data, the final
1350:         value SHALL be equal to the value of the
1351:         jmJobKOctetsPerCopyRequested object.  For implementations where
1352:         multiple copies are produced by the interpreter by processing
1353:         the data for each copy, the final value SHALL be a multiple of
1354:         the value of the jmJobKOctetsPerCopyRequested object.
1355: 
1356:         NOTE - See the impressionsCompletedCurrentCopy and
1357:         pagesCompletedCurrentCopy attributes for attributes that are
1358:         reset on each document copy.
1359: 
1360:         NOTE - The jmJobKOctetsProcessed object can be used with the
1361:         jmJobKOctetsPerCopyRequested object to provide an indication of
1362:         the relative progress of the job, provided that the
1363:         multiplicative factor is taken into account for some
1364:         implementations of multiple copies."
1365:     DEFVAL      { 0 }      -- default is no octets processed.
1366:     ::= { jmJobEntry 6 }
1367: 
1368: 
1369: jmJobImpressionsPerCopyRequested OBJECT-TYPE
1370:     SYNTAX      Integer32 (-2..2147483647)
1371:     MAX-ACCESS  read-only
1372:     STATUS      current
1373:     DESCRIPTION
1374:         "The total size in number of impressions of the document(s)
1375:         submitted.
1376: 
1377:         In computing this value, the server/device SHALL NOT include
1378:         the multiplicative factors contributed by (1) the number of
1379:         document copies, and (2) the number of job copies, independent
1380:         of whether the device can process multiple copies of the job or
1381:         document without making multiple passes over the job or
1382:         document data and independent of whether the output is collated
1383:         or not.  Thus the server/device computation is independent of
1384:         the implementation and reflects the size of the document(s)
1385:         measured in impressions independent of the number of copies.
1386: 
1387:         See the definition of the term 'impression' in Section 2."
1388: 
1389:     DEFVAL      { -2 }      -- default is unknown(-2)
1390:     ::= { jmJobEntry 7 }
1391: 
1392: 
1393: jmJobImpressionsCompleted OBJECT-TYPE
1394:     SYNTAX      Integer32 (-2..2147483647)
1395:     MAX-ACCESS  read-only
1396:     STATUS      current
1397:     DESCRIPTION
1398:         "The total number of impressions completed for this job so far.
1399:         For printing devices, the impressions completed includes
1400:         interpreting, marking, and stacking the output.  For other
1401:         types of job services, the number of impressions completed
1402:         includes the number of impressions processed.
1403: 
1404:         NOTE - See the impressionsCompletedCurrentCopy and
1405:         pagesCompletedCurrentCopy attributes for attributes that are
1406:         reset on each document copy.
1407: 
1408:         NOTE - The jmJobImpressionsCompleted object can be used with
1409:         the jmJobImpressionsPerCopyRequested object to provide an
1410:         indication of the relative progress of the job, provided that
1411:         the multiplicative factor is taken into account for some
1412:         implementations of multiple copies.
1413: 
1414:         See the definition of the term 'impression' in Section 2 and
1415:         the counting example in Section 3.4 entitled 'Monitoring Job
1416:         Progress'."
1417:     DEFVAL      { 0 }      -- default is no octets
1418:     ::= { jmJobEntry 8 }
1419: 
1420: 
1421: 
1422: jmJobOwner OBJECT-TYPE
1423:     SYNTAX      JmJobStringTC (SIZE(0..63))
1424:     MAX-ACCESS  read-only
1425:     STATUS      current
1426:     DESCRIPTION
1427:         "The coded character set name of the user that submitted the
1428:         job.  The method of assigning this user name will be system
1429:         and/or site specific but the method MUST ensure that the name
1430:         is unique to the network that is visible to the client and
1431:         target device.
1432: 
1433:         This value SHOULD be the most authenticated name of the user
1434:         submitting the job.
1435: 
1436:         See the OBJECT compliance macro for the minimum maximum length
1437:         required for conformance."
1438:     DEFVAL      { ''H }      -- default is empty string
1439:     ::= { jmJobEntry 9 }
1440: 
1441: 
1442: -- The Attribute Group (MANDATORY)
1443: 
1444: -- The jmAttributeGroup consists entirely of the jmAttributeTable.
1445: --
1446: -- Implementation of the objects in this group is MANDATORY.
1447: -- See Section 3.1 entitled 'Conformance Considerations'.
1448: -- An agent SHALL implement any attribute if (1) the server or device
1449: -- supports the functionality represented by the attribute and (2) the
1450: -- information is available to the agent.
1451: 
1452: jmAttribute  OBJECT IDENTIFIER ::= { jobmonMIBObjects 4 }
1453: 
1454: 
1455: 
1456: jmAttributeTable  OBJECT-TYPE
1457:     SYNTAX      SEQUENCE OF JmAttributeEntry
1458:     MAX-ACCESS  not-accessible
1459:     STATUS      current
1460:     DESCRIPTION
1461:         "The jmAttributeTable SHALL contain attributes of the job and
1462:         document(s) for each job in a job set.  Instead of allocating
1463:         distinct objects for each attribute, each attribute is
1464:         represented as a separate row in the jmAttributeTable.
1465: 
1466:         The MANDATORY-GROUP macro specifies that this group is
1467:         MANDATORY.  An agent SHALL implement any attribute if (1) the
1468:         server or device supports the functionality represented by the
1469:         attribute and (2) the information is available to the agent. "
1470:     ::= { jmAttribute 1 }
1471: 
1472: 
1473: jmAttributeEntry  OBJECT-TYPE
1474:     SYNTAX      JmAttributeEntry
1475:     MAX-ACCESS  not-accessible
1476:     STATUS      current
1477:     DESCRIPTION
1478:         "Attributes representing information about the job and
1479:         document(s) or resources required and/or consumed.
1480: 
1481:         Each entry in the jmAttributeTable is a per-job entry with an
1482:         extra index for each type of attribute (jmAttributeTypeIndex)
1483:         that a job can have and an additional index
1484:         (jmAttributeInstanceIndex) for those attributes that can have
1485:         multiple instances per job.  The jmAttributeTypeIndex object
1486:         SHALL contain an enum type that indicates the type of attribute
1487:         (see the JmAttributeTypeTC textual-convention).  The value of
1488:         the attribute SHALL be represented in either the
1489:         jmAttributeValueAsInteger or jmAttributeValueAsOctets objects,
1490:         and/or both, as specified in the JmAttributeTypeTC textual-
1491:         convention.
1492: 
1493:         The agent SHALL create rows in the jmAttributeTable as the
1494:         server or device is able to discover the attributes either from
1495:         the job submission protocol itself or from the document PDL.
1496:         As the documents are interpreted, the interpreter MAY discover
1497:         additional attributes and so the agent adds additional rows to
1498:         this table.  As the attributes that represent resources are
1499:         actually consumed, the usage counter contained in the
1500:         jmAttributeValueAsInteger object is incremented according to
1501:         the units indicated in the description of the JmAttributeTypeTC
1502:         enum.
1503: 
1504:         The agent SHALL maintain each row in the jmAttributeTable for
1505:         at least the minimum time after a job completes as specified by
1506:         the jmGeneralAttributePersistence object.
1507: 
1508:         Zero or more entries SHALL exist in this table for each job in
1509:         a job set.
1510: 
1511:         See Section 3.3 entitled 'The Attribute Mechanism' for a
1512:         description of the jmAttributeTable."
1513:     INDEX  { jmGeneralJobSetIndex, jmJobIndex, jmAttributeTypeIndex,
1514:     jmAttributeInstanceIndex }
1515:     ::= { jmAttributeTable 1 }
1516: 
1517: JmAttributeEntry ::= SEQUENCE {
1518:     jmAttributeTypeIndex                  JmAttributeTypeTC,
1519:     jmAttributeInstanceIndex              Integer32 (1..32767),
1519: error - subtyping not allowed
1520:     jmAttributeValueAsInteger             Integer32 (-2..2147483647),
1520: error - subtyping not allowed
1521:     jmAttributeValueAsOctets              OCTET STRING(SIZE(0..63))
1521: error - subtyping not allowed
1522: }
1523: 
1524: 
1525: jmAttributeTypeIndex OBJECT-TYPE
1526:     SYNTAX      JmAttributeTypeTC
1527:     MAX-ACCESS  not-accessible
1528:     STATUS      current
1529:     DESCRIPTION
1530:         "The type of attribute that this row entry represents.
1531: 
1532:         The type MAY identify information about the job or document(s)
1533:         or MAY identify a resource required to process the job before
1534:         the job start processing and/or consumed by the job as the job
1535:         is processed.
1536: 
1537:         Examples of job attributes (i.e., apply to the job as a whole)
1538:         that have only one instance per job include:
1539:         jobCopiesRequested(90), documentCopiesRequested(92),
1540:         jobCopiesCompleted(91), documentCopiesCompleted(93), while
1541:         examples of job attributes that may have more than one instance
1542:         per job include:  documentFormatIndex(37), and
1543:         documentFormat(38).
1544: 
1545:         Examples of document attributes (one instance per document)
1546:         include: fileName(34), and documentName(35).
1547: 
1548:         Examples of required and consumed resource attributes include:
1549:         pagesRequested(130), mediumRequested(170), pagesCompleted(131),
1550:         and mediumConsumed(171), respectively."
1551:     ::= { jmAttributeEntry 1 }
1552: 
1553: 
1554: 
1555: jmAttributeInstanceIndex OBJECT-TYPE
1556:     SYNTAX      Integer32 (1..32767)
1557:     MAX-ACCESS  not-accessible
1558:     STATUS      current
1559:     DESCRIPTION
1560:         "A running 16-bit index of the attributes of the same type for
1561:         each job.  For those attributes with only a single instance per
1562:         job, this index value SHALL be 1.  For those attributes that
1563:         are a single value per document, the index value SHALL be the
1564:         document number, starting with 1 for the first document in the
1565:         job.  Jobs with only a single document SHALL use the index
1566:         value of 1.  For those attributes that can have multiple values
1567:         per job or per document, such as documentFormatIndex(37) or
1568:         documentFormat(38), the index SHALL be a running index for the
1569:         job as a whole, starting at 1."
1570:     ::= { jmAttributeEntry 2 }
1571: 
1572: 
1573: 
1574: jmAttributeValueAsInteger OBJECT-TYPE
1575:     SYNTAX      Integer32 (-2..2147483647)
1576:     MAX-ACCESS  read-only
1577:     STATUS      current
1578:     DESCRIPTION
1579:         "The integer value of the attribute.  The value of the
1580:         attribute SHALL be represented as an integer if the enum
1581:         description in the JmAttributeTypeTC textual-convention
1582:         definition has the tag: 'INTEGER:'.
1583: 
1584:         Depending on the enum definition, this object value MAY be an
1585:         integer, a counter, an index, or an enum, depending on the
1586:         jmAttributeTypeIndex value.  The units of this value are
1587:         specified in the enum description.
1588: 
1589:         For those attributes that are accumulating job consumption as
1590:         the job is processed as specified in the JmAttributeTypeTC
1591:         textual-convention, SHALL contain the final value after the job
1592:         completes processing, i.e., this value SHALL indicate the total
1593:         usage of this resource made by the job.
1594: 
1595:         A monitoring application is able to copy this value to a
1596:         suitable longer term storage for later processing as part of an
1597:         accounting system.
1598: 
1599:         Since the agent MAY add attributes representing resources to
1600:         this table while the job is waiting to be processed or being
1601:         processed, which can be a long time before any of the resources
1602:         are actually used, the agent SHALL set the value of the
1603:         jmAttributeValueAsInteger object to 0 for resources that the
1604:         job has not yet consumed.
1605: 
1606:         Attributes for which the concept of an integer value is
1607:         meaningless, such as fileName(34), jobName, and
1608:         processingMessage, do not have the 'INTEGER:' tag in the
1609:         JmAttributeTypeTC definition and so an agent SHALL always
1610:         return a value of '-1' to indicate 'other' for the value of the
1611:         jmAttributeValueAsInteger object for these attributes.
1612: 
1613:         For attributes which do have the 'INTEGER:' tag in the
1614:         JmAttributeTypeTC definition, if the integer value is not (yet)
1615:         known, the agent either (1) SHALL not materialize the row in
1616:         the jmAttributeTable until the value is known or (2) SHALL
1617:         return a '-2' to represent an 'unknown' counting integer value,
1618:         a '0' to represent an 'unknown' index value, and a '2' to
1619:         represent an 'unknown(2)' enum value."
1620:     DEFVAL      { -2 }      -- default value is unknown(-2)
1621:     ::= { jmAttributeEntry 3 }
1622: 
1623: 
1624: 
1625: jmAttributeValueAsOctets OBJECT-TYPE
1626:     SYNTAX      OCTET STRING(SIZE(0..63))
1627:     MAX-ACCESS  read-only
1628:     STATUS      current
1629:     DESCRIPTION
1630:         "The octet string value of the attribute.  The value of the
1631:         attribute SHALL be represented as an OCTET STRING if the enum
1632:         description in the JmAttributeTypeTC textual-convention
1633:         definition has the tag: 'OCTETS:'.
1634: 
1635:         Depending on the enum definition, this object value MAY be a
1636:         coded character set string (text), such as 'JmUTF8StringTC', or
1637:         a binary octet string, such as 'DateAndTime'.
1638: 
1639:         Attributes for which the concept of an octet string value is
1640:         meaningless, such as pagesCompleted, do not have the tag
1641:         'OCTETS:' in the JmAttributeTypeTC definition and so the agent
1642:         SHALL always return a zero length string for the value of the
1643:         jmAttributeValueAsOctets object.
1644: 
1645:         For attributes which do have the 'OCTETS:' tag in the
1646:         JmAttributeTypeTC definition, if the OCTET STRING value is not
1647:         (yet) known, the agent either SHALL NOT materialize the row in
1648:         the jmAttributeTable until the value is known or SHALL return a
1649:         zero-length string."
1650:     DEFVAL      { ''H }      -- empty string
1651:     ::= { jmAttributeEntry 4 }
1652: 
1653: 
1654: -- Notifications and Trapping
1655: -- Reserved for the future
1656: 
1657: jobmonMIBNotifications  OBJECT IDENTIFIER  ::= { jobmonMIB 2 }
1658: 
1659: 
1660: 
1661: -- Conformance Information
1662: 
1663: jmMIBConformance OBJECT IDENTIFIER ::= { jobmonMIB 3 }
1664: 
1665: 
1666: 
1667: -- compliance statements
1668: jmMIBCompliance MODULE-COMPLIANCE
1669:     STATUS  current
1670:     DESCRIPTION
1671:         "The compliance statement for agents that implement the
1672:         job monitoring MIB."
1673:     MODULE -- this module
1674:     MANDATORY-GROUPS {
1675:         jmGeneralGroup, jmJobIDGroup, jmJobGroup, jmAttributeGroup }
1676: 
1677:     OBJECT   jmGeneralJobSetName
1678:     SYNTAX   JmUTF8StringTC (SIZE(0..8))
1679:     DESCRIPTION
1680:         "Only 8 octets maximum string length NEED be supported by the
1681:         agent."
1682: 
1683:     OBJECT   jmJobOwner
1684:     SYNTAX   JmJobStringTC (SIZE(0..16))
1685:     DESCRIPTION
1686:         "Only 16 octets maximum string length NEED be supported by the
1687:         agent."
1688: 
1689: -- There are no CONDITIONALLY MANDATORY or OPTIONAL groups.
1690: 
1691:     ::= { jmMIBConformance 1 }
1692: 
1693: 
1694: jmMIBGroups      OBJECT IDENTIFIER ::= { jmMIBConformance 2 }
1695: 
1696: jmGeneralGroup OBJECT-GROUP
1697:     OBJECTS {
1698:         jmGeneralNumberOfActiveJobs,   jmGeneralOldestActiveJobIndex,
1699:         jmGeneralNewestActiveJobIndex, jmGeneralJobPersistence,
1700:         jmGeneralAttributePersistence, jmGeneralJobSetName}
1701:     STATUS  current
1702:     DESCRIPTION
1703:         "The general group."
1704:     ::= { jmMIBGroups 1 }
1705: 
1706: 
1707: 
1708: jmJobIDGroup OBJECT-GROUP
1709:     OBJECTS {
1710:         jmJobIDJobSetIndex, jmJobIDJobIndex }
1711:     STATUS  current
1712:     DESCRIPTION
1713:         "The job ID group."
1714:     ::= { jmMIBGroups 2 }
1715: 
1716: 
1717: 
1718: jmJobGroup OBJECT-GROUP
1719:     OBJECTS {
1720:         jmJobState, jmJobStateReasons1, jmNumberOfInterveningJobs,
1721:         jmJobKOctetsPerCopyRequested, jmJobKOctetsProcessed,
1722:         jmJobImpressionsPerCopyRequested, jmJobImpressionsCompleted,
1723:         jmJobOwner }
1724:     STATUS  current
1725:     DESCRIPTION
1726:         "The job group."
1727:     ::= { jmMIBGroups 3 }
1728: 
1729: 
1730: 
1731: jmAttributeGroup OBJECT-GROUP
1732:     OBJECTS {
1733:         jmAttributeValueAsInteger, jmAttributeValueAsOctets }
1734:     STATUS  current
1735:     DESCRIPTION
1736:         "The attribute group."
1737:     ::= { jmMIBGroups 4 }
1738: 
1739: 
1740: END
1741: 
1742: -- 
1743: --    Copyright (C) The Internet Society (1999).  All Rights Reserved.
1744: -- 
1745: --    This document and translations of it may be copied and furnished to
1746: --    others, and derivative works that comment on or otherwise explain it
1747: --    or assist in its implementation may be prepared, copied, published
1748: --    and distributed, in whole or in part, without restriction of any
1749: --    kind, provided that the above copyright notice and this paragraph are
1750: --    included on all such copies and derivative works.  However, this
1751: --    document itself may not be modified in any way, such as by removing
1752: --    the copyright notice or references to the Internet Society or other
1753: --    Internet organizations, except as needed for the purpose of
1754: --    developing Internet standards in which case the procedures for
1755: --    copyrights defined in the Internet Standards process must be
1756: --    followed, or as required to translate it into languages other than
1757: --    English.
1758: -- 
1759: --    The limited permissions granted above are perpetual and will not be
1760: --    revoked by the Internet Society or its successors or assigns.
1761: -- 
1762: --    This document and the information contained herein is provided on an
1763: --    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1764: --    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1765: --    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1766: --    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1767: --    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1768: -- 
1769: