Subject: PMP> FW: Lint output on Printer MIB v2

From: "McDonald, Ira" <[email-masked]>
Date: Mon, 5 Nov 2001 21:04:42 -0500

-----Original Message-----
From: Ray Casterline [mailto:[email-masked]]
Sent: Monday, November 05, 2001 2:23 PM
To: Ira McDonald
Subject: Here is Printer MIV v2 Text

smilint output for ./Printer-MIB

    Message Severities
      Severity
                  Count
 minor error
                    1
 change recommended
                    8
 fyi
                    9

                 Message Types
                   Type
                                         Count
 empty-description (fyi)
                                           8
 integer-misuse (fyi)
                                           1
 namelength-32-enumeration (change recommended)
                                           4
 namelength-32-object (change recommended)
                                           3
 namelength-32-type (change recommended)
                                           1
 notification-object-access (minor error)
                                           1

Messages: 

Printer-MIB

   1: -- extracted from draft-ietf-printmib-mib-info-09.txt
   2: -- at Thu Sep  6 06:06:06 2001

 104: 
 105: PrtSubUnitStatusTC ::= TEXTUAL-CONVENTION
 106:     -- This is a type 1 enumeration.
 107:     STATUS    current
 108:     DESCRIPTION
 109:         "Status of a printer sub-unit.
 110: 
 111:         The SubUnitStatus is an integer that is the sum of 5
distinct
 112:         values, Availability, Non-Critical, Critical, On-line, and
 113:         Transitioning. These values are:
 114: 
 115:         Availability                           Value
 116: 
 117:             Available and Idle                  0       0000'b
 118:             Available and Standby               2       0010'b
 119:             Available and Active                4       0100'b
 120:             Available and Busy                  6       0110'b
 121:             Unavailable and OnRequest           1       0001'b
 122:             Unavailable because Broken          3       0011'b
 123:             Unknown                             5       0101'b
 124: 
 125:         Non-Critical
 126:             No Non-Critical Alerts              0       0000'b
 127:             Non-Critical Alerts                 8       1000'b
 128: 
 129:         Critical
 130: 
 131:             No Critical Alerts                  0       0000'b
 132:             Critical Alerts                    16     1 0000'b
 133: 
 134:         On-Line
 135: 
 136:             State is On-Line                    0       0000'b
 137:             State is Off-Line                  32    10 0000'b
 138: 
 139:         Transitioning
 140: 
 141:             At intended state                   0       0000'b
 142:             Transitioning to intended state    64   100 0000'b"
 143: 
 144:     SYNTAX    INTEGER (0..126)

 144: fyi - use Integer32 instead of INTEGER in SMIv2 

...
 974: 
 975: PrtOutputPageDeliveryOrientationTC ::= TEXTUAL-CONVENTION

 975: change recommended - type name
`PrtOutputPageDeliveryOrientationTC' longer than 32 characters 

 976:     -- This is a type 1 enumeration.
 977:     STATUS    current
 978:     DESCRIPTION
 979:         "The reading surface that will be 'up' when pages are
delivered
 980:         to the associated output sub-unit. Values are Face-Up and
Face
 981:         Down (Note: interpretation of these values is, in general,
 982:         context-dependent based on locale; presentation of these
values
 983:         to an end-user should be normalized to the expectations of
the
 984:         user."
 985:     SYNTAX    INTEGER {
 986:                   faceUp(3),
 987:                   faceDown(4)
 988:                   }
 989: 
 990: --
 991: -- Marker Group Textual Conventions
 992: --
...
1356: 
1357: PrtAlertCodeTC ::= TEXTUAL-CONVENTION
1358:     -- This value is a type 2 enumeration.
1359:     STATUS    current
1360:     DESCRIPTION
1361:         "The code that describes the type of alert for this entry
in the
1362:         table. Binary change event alerts describe states of the
subunit
1363:         while unary change event alerts describe a single event.
The
1364:         same alert code can be used for a binary change event or a
unary
1365:         change event, depending on implementation. Also, the same
alert
1366:         code can be used to indicate a critical or a non-critical
1367:         (warning) alert, depending on implementation. The value of
1368:         prtAlertSeverityLevel specifies binary vs. unary and
critical
1369:         vs. non-critical for each event for the implementation.
1370: 
1371:         While there are some specific codes for many subunits, the
1372:         generic codes should be used for most subunit alerts. The
1373:         network management station can then query the subunit
specified
1374:         by prtAlertGroup to determine further subunit status and
other
1375:         subunit information.
1376: 
1377:         An agent shall not add two entries to the alert table for
the
1378:         same event, one containing a generic event code and the
other
1379:         containing a specific event code; the agent shall add only
one
1380:         entry in the alert table for each event; either generic
1381:         (preferred) or specific, not both.
1382: 
1383:         Implementation of the unary change event
1384:         alertRemovalOfBinaryChangeEntry(1801) is optional. When
1385:         implemented, this alert code shall indicate to network
1386:         management stations that the trailing edge of a binary
change
1387:         event has occurred and the corresponding alert entry has
been
1388:         removed from the alert table. As with all events, the
1389:         alertRemovalOfBinaryChangeEntry(1801) alert shall be
placed at
1390:         the end of the alert table. Such an alert table entry
shall
1391:         specify the following information:
1392: 
1393:         prtAlertSeverityLevel    warningUnaryChangeEvent(4)
1394:         prtAlertTrainingLevel    noInterventionRequired(7)
1395:         prtAlertGroup            alert(18)
1396:         prtAlertGroupIndex       the index of the row in the
1397:                                  alert table of the binary
1398:                                  change event that this event
1399:                                  has removed.
1400:         prtAlertLocation         unknown (-2)
1401:         prtAlertCode            
alertRemovalOfBinaryChangeEntry(1801)
1402:         prtAlertDescription      <description or null string>
1403:         prtAlertTime             the value of sysUpTime at
1404:                                  the time of the removal of the
1405:                                  binary change event from the
1406:                                  alert table.
1407: 
1408:         Optionally, the agent may generate a trap coincident with
1409:         removing the binary change event and placing the unary
change
1410:         event alertRemovalOfBinaryChangeEntry(1801) in the alert
table.
1411:         For such a trap, the prtAlertIndex sent with the above
trap
1412:         parameters shall be the index of the
1413:         alertRemovalOfBinaryChangeEvent row that was added to the
1414:         prtAlertTable; not the index of the row that was removed
from
1415:         the prtAlertTable."
1416:     SYNTAX    INTEGER {
1417:                   other(1),
1418:                       -- an event that is not represented
1419:                       -- by one of the alert codes
1420:                       -- specified below.
1421:                   unknown(2),
1422:                       -- The following generic codes are common to
1423:                       -- multiple groups. The NMS may
1424:                       -- examine the prtAlertGroup object to
determine
1425:                       -- what group to query for further
information.
1426:                   coverOpen(3),
1427:                   coverClosed(4),
1428:                   interlockOpen(5),
1429:                   interlockClosed(6),
1430:                   configurationChange(7),
1431:                   jam(8),
1432:                   subunitMissing(9),
1433:                       -- The subunit tray, bin, etc.
1434:                       -- has been removed.
1435:                   subunitLifeAlmostOver(10),
1436:                   subunitLifeOver(11),
1437:                   subunitAlmostEmpty(12),
1438:                   subunitEmpty(13),
1439:                   subunitAlmostFull(14),
1440:                   subunitFull(15),
1441:                   subunitNearLimit(16),
1442:                   subunitAtLimit(17),
1443:                   subunitOpened(18),
1444:                   subunitClosed(19),
1445:                   subunitTurnedOn(20),
1446:                   subunitTurnedOff(21),
1447:                   subunitOffline(22),
1448:                   subunitPowerSaver(23),
1449:                   subunitWarmingUp(24),
1450:                   subunitAdded(25),
1451:                   subunitRemoved(26),
1452:                   subunitResourceAdded(27),
1453:                   subunitResourceRemoved(28),
1454:                   subunitRecoverableFailure(29),
1455:                   subunitUnrecoverableFailure(30),
1456:                   subunitRecoverableStorageError(31),
1457:                   subunitUnrecoverableStorageError(32),
1458:                   subunitMotorFailure(33),
1459:                   subunitMemoryExhausted(34),
1460:                   subunitUnderTemperature(35),
1461:                   subunitOverTemperature(36),
1462:                   subunitTimingFailure(37),
1463:                   subunitThermistorFailure(38),
1464:                 -- general Printer group
1465:                   doorOpen(501),    -- DEPRECATED
1466:                                     -- Use coverOpened(3)
1467:                   doorClosed(502),  -- DEPRECATED
1468:                                     -- Use coverClosed(4)
1469:                   powerUp(503),
1470:                   powerDown(504),
1471:                   printerNMSReset(505),
1472:                       -- The printer has been reset by some
1473:                       -- network management station(NMS)
1474:                       -- writing into 'prtGeneralReset'.
1475:                   printerManualReset(506),
1476:                       -- The printer has been reset manually.
1477:                   printerReadyToPrint(507),
1478:                       -- The printer is ready to print. (i.e.,
1479:                       -- not warming up, not in power save
1480:                       -- state, not adjusting print quality,
1481:                       -- etc.).
1482: 
1483:                 -- Input Group
1484:                   inputMediaTrayMissing(801),
1485:                   inputMediaSizeChange(802),
1486:                   inputMediaWeightChange(803),
1487:                   inputMediaTypeChange(804),
1488:                   inputMediaColorChange(805),
1489:                   inputMediaFormPartsChange(806),
1490:                   inputMediaSupplyLow(807),
1491:                   inputMediaSupplyEmpty(808),
1492:                   inputMediaChangeRequest(809),
1493:                       -- An interpreter has detected that a
1494:                       -- different medium is need in this input
1495:                       -- tray subunit. The prtAlertDescription may
1496:                       -- be used to convey a human readable
1497:                       -- description of the medium required to
1498:                       -- satisfy the request.
1499:                   inputManualInputRequest(810),
1500:                       -- An interpreter has detected that manual
1501:                       -- input is required in this subunit. The
1502:                       -- prtAlertDescription may be used to convey
1503:                       -- a human readable description of the
medium
1504:                       -- required to satisfy the request.
1505:                   inputTrayPositionFailure(811),
1506:                       -- The input tray failed to position
correctly.
1507:                   inputTrayElevationFailure(812),
1508:                   inputCannotFeedSizeSelected(813),
1509:                 -- Output Group
1510:                   outputMediaTrayMissing(901),
1511:                   outputMediaTrayAlmostFull(902),
1512:                   outputMediaTrayFull(903),
1513:                   outputMailboxSelectFailure(904),
1514:                 -- Marker group
1515:                   markerFuserUnderTemperature(1001),
1516:                   markerFuserOverTemperature(1002),
1517:                   markerFuserTimingFailure(1003),
1518:                   markerFuserThermistorFailure(1004),
1519:                   markerAdjustingPrintQuality(1005),
1520:                 -- Marker Supplies group
1521:                   markerTonerEmpty(1101),
1522:                   markerInkEmpty(1102),
1523:                   markerPrintRibbonEmpty(1103),
1524:                   markerTonerAlmostEmpty(1104),
1525:                   markerInkAlmostEmpty(1105),
1526:                   markerPrintRibbonAlmostEmpty(1106),
1527:                   markerWasteTonerReceptacleAlmostFull(1107),

1527: change recommended - enumeration name
`markerWasteTonerReceptacleAlmostFull' longer than 32 characters 

1528:                   markerWasteInkReceptacleAlmostFull(1108),

1528: change recommended - enumeration name
`markerWasteInkReceptacleAlmostFull' longer than 32 characters 

1529:                   markerWasteTonerReceptacleFull(1109),
1530:                   markerWasteInkReceptacleFull(1110),
1531:                   markerOpcLifeAlmostOver(1111),
1532:                   markerOpcLifeOver(1112),
1533:                   markerDeveloperAlmostEmpty(1113),
1534:                   markerDeveloperEmpty(1114),
1535:                   markerTonerCartridgeMissing(1115),
1536:                 -- Media Path Device Group
1537:                   mediaPathMediaTrayMissing(1301),
1538:                   mediaPathMediaTrayAlmostFull(1302),
1539:                   mediaPathMediaTrayFull(1303),
1540:                   mediaPathcannotDuplexMediaSelected(1304),

1540: change recommended - enumeration name
`mediaPathcannotDuplexMediaSelected' longer than 32 characters 

1541:                 -- Interpreter Group
1542:                   interpreterMemoryIncrease(1501),
1543:                   interpreterMemoryDecrease(1502),
1544:                   interpreterCartridgeAdded(1503),
1545:                   interpreterCartridgeDeleted(1504),
1546:                   interpreterResourceAdded(1505),
1547:                   interpreterResourceDeleted(1506),
1548:                   interpreterResourceUnavailable(1507),
1549:                   interpreterComplexPageEncountered(1509),

1549: change recommended - enumeration name
`interpreterComplexPageEncountered' longer than 32 characters 

1550:                       -- The interpreter has encountered a page
1551:                     -- that is too complex for the resources that
1552:                     -- are available.
1553:                 -- Alert Group
1554:                   alertRemovalOfBinaryChangeEntry(1801)
1555:                       -- A binary change event entry has been
1556:                       -- removed from the alert table. This unary
1557:                       -- change alert table entry is added to the
1558:                       -- end of the alert table.
1559:                   }
1560: 
1561: -- The General Printer Group
1562: --
1563: -- The general printer sub-unit is responsible for the overall
1564: -- control and status of the printer.  There is exactly one
1565: -- general printer sub-unit in a printer.
1566: --
1567: -- Implementation of every object in this group is mandatory
except for
1568: -- prtAuxiliarySheetStartupPage, prtAuxiliarySheetBannerPage,
1569: -- prtGeneralPrinterName, prtGeneralSerialNumber,
1570: -- prtAlertCriticalEvents, and prtAlertAllEvents.
1571: 
...
2088: 
2089: prtStorageRefTable OBJECT-TYPE
2090:     SYNTAX     SEQUENCE OF PrtStorageRefEntry
2091:     MAX-ACCESS not-accessible
2092:     STATUS     current
2093:     DESCRIPTION
2094:         ""

2094: fyi - zero-length description string 

2095:     ::= { prtGeneral 2 }
...
2132: 
2133: prtDeviceRefTable OBJECT-TYPE
2134:     SYNTAX     SEQUENCE OF PrtDeviceRefEntry
2135:     MAX-ACCESS not-accessible
2136:     STATUS     current
2137:     DESCRIPTION
2138:         ""

2138: fyi - zero-length description string 

2139:     ::= { prtGeneral 3 }
...
3026: 
3027: prtMarkerTable OBJECT-TYPE
3028:     SYNTAX     SEQUENCE OF PrtMarkerEntry
3029:     MAX-ACCESS not-accessible
3030:     STATUS     current
3031:     DESCRIPTION
3032:         ""

3032: fyi - zero-length description string 

3033:     ::= { prtMarker 2 }
...
3473: 
3474: prtMediaPathTable OBJECT-TYPE
3475:     SYNTAX     SEQUENCE OF PrtMediaPathEntry
3476:     MAX-ACCESS not-accessible
3477:     STATUS     current
3478:     DESCRIPTION
3479:         ""

3479: fyi - zero-length description string 

3480:     ::= { prtMediaPath 4 }
...
3702: 
3703: prtChannelTable OBJECT-TYPE
3704:     SYNTAX     SEQUENCE OF PrtChannelEntry
3705:     MAX-ACCESS not-accessible
3706:     STATUS     current
3707:     DESCRIPTION
3708:         ""

3708: fyi - zero-length description string 

3709:     ::= { prtChannel 1 }
...
3764: 
3765: prtChannelCurrentJobCntlLangIndex OBJECT-TYPE

3765: change recommended - object identifier name
`prtChannelCurrentJobCntlLangIndex' longer than 32 characters 

3766:     SYNTAX     Integer32
3767:     MAX-ACCESS read-write
3768:     STATUS     current
3769:     DESCRIPTION
3770:         "The value of prtInterpreterIndex corresponding to the
Control
3771:         Language Interpreter for this channel. This interpreter
defines
3772:         the syntax used for control functions, such as querying or
3773:         changing environment variables and identifying job
boundaries
3774:         (e.g. PJL, PostScript, NPAP). A value of zero indicates
that
3775:         there is no current Job Control Language Interpreter for
this
3776:         channel"
3777:     ::= { prtChannelEntry 4 }
3778: 
3779: prtChannelDefaultPageDescLangIndex OBJECT-TYPE

3779: change recommended - object identifier name
`prtChannelDefaultPageDescLangIndex' longer than 32 characters 

3780:     SYNTAX     Integer32
3781:     MAX-ACCESS read-write
3782:     STATUS     current
3783:     DESCRIPTION
3784:         "The value of prtInterpreterIndex corresponding to the
Page
3785:         Description Language Interpreter for this channel. This
3786:         interpreter defines the default Page Description Language
3787:         interpreter to be used for the print data unless the
Control
3788:         Language is used to select a specific interpreter (e.g.,
PCL,
3789:         PostScript Language, auto-sense). A value of zero
indicates that
3790:         there is no default page description language interpreter
for
3791:         this channel."
3792:     ::= { prtChannelEntry 5 }
...
3964: 
3965: prtInterpreterTable OBJECT-TYPE
3966:     SYNTAX     SEQUENCE OF PrtInterpreterEntry
3967:     MAX-ACCESS not-accessible
3968:     STATUS     current
3969:     DESCRIPTION
3970:         ""

3970: fyi - zero-length description string 

3971:     ::= { prtInterpreter 1 }
...
4091: 
4092: prtInterpreterXFeedAddressability OBJECT-TYPE

4092: change recommended - object identifier name
`prtInterpreterXFeedAddressability' longer than 32 characters 

4093:     SYNTAX     Integer32
4094:     MAX-ACCESS read-only
4095:     STATUS     current
4096:     DESCRIPTION
4097:         "The maximum interpreter addressability in the cross feed
4098:         direction in 10000 prtMarkerAddressabilityUnits (see
4099:         prtMarkerAddressabilityXFeedDir) for this interpreter. The
value
4100:         (-1) means other and specifically indicates that the
sub-unit
4101:         places no restrictions on this parameter."
4102:     ::= { prtInterpreterEntry 9 }
...
4210: 
4211: prtConsoleLightTable OBJECT-TYPE
4212:     SYNTAX     SEQUENCE OF PrtConsoleLightEntry
4213:     MAX-ACCESS not-accessible
4214:     STATUS     current
4215:     DESCRIPTION
4216:         ""

4216: fyi - zero-length description string 

4217:     ::= { prtConsoleLights 6 }
...
4322: 
4323: prtAlertTable OBJECT-TYPE
4324:     SYNTAX     SEQUENCE OF PrtAlertEntry
4325:     MAX-ACCESS not-accessible
4326:     STATUS     current
4327:     DESCRIPTION
4328:         ""

4328: fyi - zero-length description string 

4329:     ::= { prtAlert 1 }
...
4489: 
4490: printerV2Alert NOTIFICATION-TYPE

4490: minor error - object `prtAlertIndex' of notification
`printerV2Alert' must not be `not-accessible' 

4491:     OBJECTS { prtAlertIndex, prtAlertSeverityLevel, prtAlertGroup,
4492:         prtAlertGroupIndex, prtAlertLocation, prtAlertCode }
4493:     STATUS  current
4494:     DESCRIPTION
4495:         "This trap is sent whenever a critical event is added to
the
4496:         prtAlertTable."
4497:     ::= { printerV2AlertPrefix 1 }
4498: 
4499: -- Note that the SNMPv2 to SNMPv1 translation rules dictate that
4500: -- the preceding structure will result in SNMPv1 traps of the
4501: -- following form:
4502: --
4503: -- printerAlert TRAP-TYPE
4504: --     ENTERPRISE printerV1Alert
4505: --     VARIABLES { prtAlertIndex, prtAlertSeverityLevel,
4506: --                 prtAlertGroup, prtAlertGroupIndex,
4507: --                 prtAlertLocation, prtAlertCode }
4508: --     DESCRIPTION
4509: --        "This trap is sent whenever a critical event is added
4510: --         to the prtAlertTable."
4511: --     ::= 1
4512: 
4513: -- Conformance Information