smilint output for ./SNMPv2-SMI


Message Severities
SeverityCount
error9
warning9
Message Types
TypeCount
identifier-basetype-redefined (warning)2
node-implicit (warning)1
range-bounds (error)4
range-exchanged (error)5
type-without-format (warning)6

Messages:

SNMPv2-SMI

   1: -- extracted from rfc2578.txt
   2: -- at Mon Nov 15 17:12:02 1999
   3: 
   4: SNMPv2-SMI DEFINITIONS ::= BEGIN
   5: 
   6: 
   7: -- the path to the root
   8: 
   9: org            OBJECT IDENTIFIER ::= { iso 3 }  --  "iso" = 1
  10: dod            OBJECT IDENTIFIER ::= { org 6 }
  11: internet       OBJECT IDENTIFIER ::= { dod 1 }
  12: 
  13: directory      OBJECT IDENTIFIER ::= { internet 1 }
  14: 
  15: mgmt           OBJECT IDENTIFIER ::= { internet 2 }
  16: mib-2          OBJECT IDENTIFIER ::= { mgmt 1 }
  17: transmission   OBJECT IDENTIFIER ::= { mib-2 10 }
  18: 
  19: experimental   OBJECT IDENTIFIER ::= { internet 3 }
  20: 
  21: private        OBJECT IDENTIFIER ::= { internet 4 }
  22: enterprises    OBJECT IDENTIFIER ::= { private 1 }
  23: 
  24: security       OBJECT IDENTIFIER ::= { internet 5 }
  25: 
  26: snmpV2         OBJECT IDENTIFIER ::= { internet 6 }
  27: 
  28: -- transport domains
  29: snmpDomains    OBJECT IDENTIFIER ::= { snmpV2 1 }
  30: 
  31: -- transport proxies
  32: snmpProxys     OBJECT IDENTIFIER ::= { snmpV2 2 }
  33: 
  34: -- module identities
  35: snmpModules    OBJECT IDENTIFIER ::= { snmpV2 3 }
  36: 
  37: -- Extended UTCTime, to allow dates with four-digit years
  38: -- (Note that this definition of ExtUTCTime is not to be IMPORTed
  39: --  by MIB modules.)
  40: ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
  41:     -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
  42:     --   where: YY   - last two digits of year (only years
  43:     --                 between 1900-1999)
  44:     --          YYYY - last four digits of the year (any year)
  45:     --          MM   - month (01 through 12)
  46:     --          DD   - day of month (01 through 31)
  47:     --          HH   - hours (00 through 23)
  48:     --          MM   - minutes (00 through 59)
  49:     --          Z    - denotes GMT (the ASCII character Z)
  50:     --
  51:     -- For example, "9502192015Z" and "199502192015Z" represent
  52:     -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
  53:     -- the four digit year format. Years 1900-1999 may use the
  54:     -- two or four digit format.
  55: 
  56: -- definitions for information modules
  57: 
  58: MODULE-IDENTITY MACRO ::=
  59: BEGIN
  60:     TYPE NOTATION ::=
  61:                   "LAST-UPDATED" value(Update ExtUTCTime)
  62:                   "ORGANIZATION" Text
  63:                   "CONTACT-INFO" Text
  64:                   "DESCRIPTION" Text
  65:                   RevisionPart
  66: 
  67:     VALUE NOTATION ::=
  68:                   value(VALUE OBJECT IDENTIFIER)
  69: 
  70:     RevisionPart ::=
  71:                   Revisions
  72:                 | empty
  73:     Revisions ::=
  74:                   Revision
  75:                 | Revisions Revision
  76:     Revision ::=
  77:                   "REVISION" value(Update ExtUTCTime)
  78:                   "DESCRIPTION" Text
  79: 
  80:     -- a character string as defined in section 3.1.1
  81:     Text ::= value(IA5String)
  82: END
  83: 
  84: 
  85: OBJECT-IDENTITY MACRO ::=
  86: BEGIN
  87:     TYPE NOTATION ::=
  88:                   "STATUS" Status
  89:                   "DESCRIPTION" Text
  90:                   ReferPart
  91: 
  92:     VALUE NOTATION ::=
  93:                   value(VALUE OBJECT IDENTIFIER)
  94: 
  95:     Status ::=
  96:                   "current"
  97:                 | "deprecated"
  98:                 | "obsolete"
  99: 
 100:     ReferPart ::=
 101:                   "REFERENCE" Text
 102:                 | empty
 103: 
 104:     -- a character string as defined in section 3.1.1
 105:     Text ::= value(IA5String)
 106: END
 107: 
 108: 
 109: -- names of objects
 110: -- (Note that these definitions of ObjectName and NotificationName
 111: --  are not to be IMPORTed by MIB modules.)
 112: 
 113: ObjectName ::=
 114:     OBJECT IDENTIFIER
 115: 
 116: NotificationName ::=
 117:     OBJECT IDENTIFIER
 118: 
 119: -- syntax of objects
 120: 
 121: -- the "base types" defined here are:
 122: --   3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
 123: --   8 application-defined types: Integer32, IpAddress, Counter32,
 124: --              Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
 125: 
 126: ObjectSyntax ::=
 127:     CHOICE {
 128:         simple
 129:             SimpleSyntax,
 130: 
 131:           -- note that SEQUENCEs for conceptual tables and
 132:           -- rows are not mentioned here...
 133: 
 134:         application-wide
 135:             ApplicationSyntax
 136:     }
 137: 
 138: -- built-in ASN.1 types
 139: 
 140: SimpleSyntax ::=
 141:     CHOICE {
 142:         -- INTEGERs with a more restrictive range
 143:         -- may also be used
 144:         integer-value               -- includes Integer32
 145:             INTEGER (-2147483648..2147483647),
 146: 
 147:         -- OCTET STRINGs with a more restrictive size
 148:         -- may also be used
 149:         string-value
 150:             OCTET STRING (SIZE (0..65535)),
 151: 
 152:         objectID-value
 153:             OBJECT IDENTIFIER
 154:     }
 155: 
 156: -- indistinguishable from INTEGER, but never needs more than
 157: -- 32-bits for a two's complement representation
 158: Integer32 ::=
 158: warning - warning: definition of identifier `Integer32' which is already a SMI or SPPI basetype
 158: warning - warning: type `Integer32' has no format specification
 159:         INTEGER (-2147483648..2147483647)
 160: 
 161: 
 162: -- application-wide types
 163: 
 164: ApplicationSyntax ::=
 165:     CHOICE {
 166:         ipAddress-value
 167:             IpAddress,
 168: 
 169:         counter-value
 170:             Counter32,
 171: 
 172:         timeticks-value
 173:             TimeTicks,
 174: 
 175:         arbitrary-value
 176:             Opaque,
 177: 
 178:         big-counter-value
 179:             Counter64,
 180: 
 181:         unsigned-integer-value  -- includes Gauge32
 182:             Unsigned32
 183:     }
 184: 
 185: -- in network-byte order
 186: -- (this is a tagged type for historical reasons)
 187: IpAddress ::=
 188:     [APPLICATION 0]
 189:         IMPLICIT OCTET STRING (SIZE (4))
 190: 
 191: -- this wraps
 192: Counter32 ::=
 192: warning - warning: type `Counter32' has no format specification
 193:     [APPLICATION 1]
 194:         IMPLICIT INTEGER (0..4294967295)
 194: error - range limit exceeds underlying basetype
 194: error -
range limits must be `lower-bound .. upper-bound'
 195: 
 196: -- this doesn't wrap
 197: Gauge32 ::=
 197: warning - warning: type `Gauge32' has no format specification
 198:     [APPLICATION 2]
 199:         IMPLICIT INTEGER (0..4294967295)
 199: error - range limit exceeds underlying basetype
 199: error -
range limits must be `lower-bound .. upper-bound'
 200: 
 201: -- an unsigned 32-bit quantity
 202: -- indistinguishable from Gauge32
 203: Unsigned32 ::=
 203: warning - warning: definition of identifier `Unsigned32' which is already a SMI or SPPI basetype
 203: warning - warning: type `Unsigned32' has no format specification
 204:     [APPLICATION 2]
 205:         IMPLICIT INTEGER (0..4294967295)
 205: error - range limit exceeds underlying basetype
 205: error -
range limits must be `lower-bound .. upper-bound'
 206: 
 207: -- hundredths of seconds since an epoch
 208: TimeTicks ::=
 208: warning - warning: type `TimeTicks' has no format specification
 209:     [APPLICATION 3]
 210:         IMPLICIT INTEGER (0..4294967295)
 210: error - range limit exceeds underlying basetype
 210: error -
range limits must be `lower-bound .. upper-bound'
 211: 
 212: -- for backward-compatibility only
 213: Opaque ::=
 214:     [APPLICATION 4]
 215:         IMPLICIT OCTET STRING
 216: 
 217: -- for counters that wrap in less than one hour with only 32 bits
 218: Counter64 ::=
 218: warning - warning: type `Counter64' has no format specification
 219:     [APPLICATION 6]
 220:         IMPLICIT INTEGER (0..18446744073709551615)
 220: error - range limits must be `lower-bound .. upper-bound'
 221: 
 222: 
 223: -- definition for objects
 224: 
 225: OBJECT-TYPE MACRO ::=
 226: BEGIN
 227:     TYPE NOTATION ::=
 228:                   "SYNTAX" Syntax
 229:                   UnitsPart
 230:                   "MAX-ACCESS" Access
 231:                   "STATUS" Status
 232:                   "DESCRIPTION" Text
 233:                   ReferPart
 234:                   IndexPart
 235:                   DefValPart
 236: 
 237:     VALUE NOTATION ::=
 238:                   value(VALUE ObjectName)
 239: 
 240:     Syntax ::=   -- Must be one of the following:
 241:                        -- a base type (or its refinement),
 242:                        -- a textual convention (or its refinement), or
 243:                        -- a BITS pseudo-type
 244:                    type
 245:                 | "BITS" "{" NamedBits "}"
 246: 
 247:     NamedBits ::= NamedBit
 248:                 | NamedBits "," NamedBit
 249: 
 250:     NamedBit ::=  identifier "(" number ")" -- number is nonnegative
 251: 
 252:     UnitsPart ::=
 253:                   "UNITS" Text
 254:                 | empty
 255: 
 256:     Access ::=
 257:                   "not-accessible"
 258:                 | "accessible-for-notify"
 259:                 | "read-only"
 260:                 | "read-write"
 261:                 | "read-create"
 262: 
 263:     Status ::=
 264:                   "current"
 265:                 | "deprecated"
 266:                 | "obsolete"
 267: 
 268:     ReferPart ::=
 269:                   "REFERENCE" Text
 270:                 | empty
 271: 
 272:     IndexPart ::=
 273:                   "INDEX"    "{" IndexTypes "}"
 274:                 | "AUGMENTS" "{" Entry      "}"
 275:                 | empty
 276:     IndexTypes ::=
 277:                   IndexType
 278:                 | IndexTypes "," IndexType
 279:     IndexType ::=
 280:                   "IMPLIED" Index
 281:                 | Index
 282: 
 283:     Index ::=
 284:                     -- use the SYNTAX value of the
 285:                     -- correspondent OBJECT-TYPE invocation
 286:                   value(ObjectName)
 287:     Entry ::=
 288:                     -- use the INDEX value of the
 289:                     -- correspondent OBJECT-TYPE invocation
 290:                   value(ObjectName)
 291: 
 292:     DefValPart ::= "DEFVAL" "{" Defvalue "}"
 293:                 | empty
 294: 
 295:     Defvalue ::=  -- must be valid for the type specified in
 296:                   -- SYNTAX clause of same OBJECT-TYPE macro
 297:                   value(ObjectSyntax)
 298:                 | "{" BitsValue "}"
 299: 
 300:     BitsValue ::= BitNames
 301:                 | empty
 302: 
 303:     BitNames ::=  BitName
 304:                 | BitNames "," BitName
 305: 
 306:     BitName ::= identifier
 307: 
 308:     -- a character string as defined in section 3.1.1
 309:     Text ::= value(IA5String)
 310: END
 311: 
 312: 
 313: -- definitions for notifications
 314: 
 315: NOTIFICATION-TYPE MACRO ::=
 316: BEGIN
 317:     TYPE NOTATION ::=
 318:                   ObjectsPart
 319:                   "STATUS" Status
 320:                   "DESCRIPTION" Text
 321:                   ReferPart
 322: 
 323:     VALUE NOTATION ::=
 324:                   value(VALUE NotificationName)
 325: 
 326:     ObjectsPart ::=
 327:                   "OBJECTS" "{" Objects "}"
 328:                 | empty
 329:     Objects ::=
 330:                   Object
 331: 
 332:                 | Objects "," Object
 333:     Object ::=
 334:                   value(ObjectName)
 335: 
 336:     Status ::=
 337:                   "current"
 338:                 | "deprecated"
 339:                 | "obsolete"
 340: 
 341:     ReferPart ::=
 342:                   "REFERENCE" Text
 343:                 | empty
 344: 
 345:     -- a character string as defined in section 3.1.1
 346:     Text ::= value(IA5String)
 347: END
 348: 
 349: -- definitions of administrative identifiers
 350: 
 351: zeroDotZero    OBJECT-IDENTITY
 352:     STATUS     current
 353:     DESCRIPTION
 354:             "A value used for null identifiers."
 355:     ::= { 0 0 }
 355: warning - warning: implicit node definition
 356: 
 357: END
 358: 
 359: -- 
 360: --    Copyright (C) The Internet Society (1999).  All Rights Reserved.
 361: -- 
 362: --    This document and translations of it may be copied and furnished to
 363: --    others, and derivative works that comment on or otherwise explain it
 364: --    or assist in its implementation may be prepared, copied, published
 365: --    and distributed, in whole or in part, without restriction of any
 366: --    kind, provided that the above copyright notice and this paragraph are
 367: --    included on all such copies and derivative works.  However, this
 368: --    document itself may not be modified in any way, such as by removing
 369: --    the copyright notice or references to the Internet Society or other
 370: --    Internet organizations, except as needed for the purpose of
 371: --    developing Internet standards in which case the procedures for
 372: --    copyrights defined in the Internet Standards process must be
 373: --    followed, or as required to translate it into languages other than
 374: --    English.
 375: -- 
 376: --    The limited permissions granted above are perpetual and will not be
 377: --    revoked by the Internet Society or its successors or assigns.
 378: -- 
 379: --    This document and the information contained herein is provided on an
 380: --    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
 381: --    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
 382: --    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
 383: --    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
 384: --    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
 385: