smilint output for ./SNMPv2-SMI
Message Severities |
Severity | Count |
error | 9 |
warning | 9 |
Message Types |
Type | Count |
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: