Annotation of src/share/snmp/SNMPv2-SMI.txt, Revision 1.1
1.1 ! martijn 1: SNMPv2-SMI DEFINITIONS ::= BEGIN
! 2:
! 3: -- the path to the root
! 4:
! 5: org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
! 6: dod OBJECT IDENTIFIER ::= { org 6 }
! 7: internet OBJECT IDENTIFIER ::= { dod 1 }
! 8:
! 9: directory OBJECT IDENTIFIER ::= { internet 1 }
! 10:
! 11: mgmt OBJECT IDENTIFIER ::= { internet 2 }
! 12: mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
! 13: transmission OBJECT IDENTIFIER ::= { mib-2 10 }
! 14:
! 15: experimental OBJECT IDENTIFIER ::= { internet 3 }
! 16:
! 17: private OBJECT IDENTIFIER ::= { internet 4 }
! 18: enterprises OBJECT IDENTIFIER ::= { private 1 }
! 19:
! 20: security OBJECT IDENTIFIER ::= { internet 5 }
! 21:
! 22: snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
! 23:
! 24: -- transport domains
! 25: snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
! 26:
! 27: -- transport proxies
! 28: snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
! 29:
! 30: -- module identities
! 31: snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
! 32:
! 33: -- Extended UTCTime, to allow dates with four-digit years
! 34: -- (Note that this definition of ExtUTCTime is not to be IMPORTed
! 35: -- by MIB modules.)
! 36: ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
! 37: -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
! 38:
! 39: -- where: YY - last two digits of year (only years
! 40: -- between 1900-1999)
! 41: -- YYYY - last four digits of the year (any year)
! 42: -- MM - month (01 through 12)
! 43: -- DD - day of month (01 through 31)
! 44: -- HH - hours (00 through 23)
! 45: -- MM - minutes (00 through 59)
! 46: -- Z - denotes GMT (the ASCII character Z)
! 47: --
! 48: -- For example, "9502192015Z" and "199502192015Z" represent
! 49: -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
! 50: -- the four digit year format. Years 1900-1999 may use the
! 51: -- two or four digit format.
! 52:
! 53: -- definitions for information modules
! 54:
! 55: MODULE-IDENTITY MACRO ::=
! 56: BEGIN
! 57: TYPE NOTATION ::=
! 58: "LAST-UPDATED" value(Update ExtUTCTime)
! 59: "ORGANIZATION" Text
! 60: "CONTACT-INFO" Text
! 61: "DESCRIPTION" Text
! 62: RevisionPart
! 63:
! 64: VALUE NOTATION ::=
! 65: value(VALUE OBJECT IDENTIFIER)
! 66:
! 67: RevisionPart ::=
! 68: Revisions
! 69: | empty
! 70: Revisions ::=
! 71: Revision
! 72: | Revisions Revision
! 73: Revision ::=
! 74: "REVISION" value(Update ExtUTCTime)
! 75: "DESCRIPTION" Text
! 76:
! 77: -- a character string as defined in section 3.1.1
! 78: Text ::= value(IA5String)
! 79: END
! 80:
! 81: OBJECT-IDENTITY MACRO ::=
! 82: BEGIN
! 83: TYPE NOTATION ::=
! 84: "STATUS" Status
! 85: "DESCRIPTION" Text
! 86:
! 87: ReferPart
! 88:
! 89: VALUE NOTATION ::=
! 90: value(VALUE OBJECT IDENTIFIER)
! 91:
! 92: Status ::=
! 93: "current"
! 94: | "deprecated"
! 95: | "obsolete"
! 96:
! 97: ReferPart ::=
! 98: "REFERENCE" Text
! 99: | empty
! 100:
! 101: -- a character string as defined in section 3.1.1
! 102: Text ::= value(IA5String)
! 103: END
! 104:
! 105: -- names of objects
! 106: -- (Note that these definitions of ObjectName and NotificationName
! 107: -- are not to be IMPORTed by MIB modules.)
! 108:
! 109: ObjectName ::=
! 110: OBJECT IDENTIFIER
! 111:
! 112: NotificationName ::=
! 113: OBJECT IDENTIFIER
! 114:
! 115: -- syntax of objects
! 116:
! 117: -- the "base types" defined here are:
! 118: -- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
! 119: -- 8 application-defined types: Integer32, IpAddress, Counter32,
! 120: -- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
! 121:
! 122: ObjectSyntax ::=
! 123: CHOICE {
! 124: simple
! 125: SimpleSyntax,
! 126: -- note that SEQUENCEs for conceptual tables and
! 127: -- rows are not mentioned here...
! 128:
! 129: application-wide
! 130: ApplicationSyntax
! 131: }
! 132:
! 133: -- built-in ASN.1 types
! 134:
! 135: SimpleSyntax ::=
! 136: CHOICE {
! 137: -- INTEGERs with a more restrictive range
! 138: -- may also be used
! 139: integer-value -- includes Integer32
! 140: INTEGER (-2147483648..2147483647),
! 141: -- OCTET STRINGs with a more restrictive size
! 142: -- may also be used
! 143: string-value
! 144: OCTET STRING (SIZE (0..65535)),
! 145: objectID-value
! 146: OBJECT IDENTIFIER
! 147: }
! 148:
! 149: -- indistinguishable from INTEGER, but never needs more than
! 150: -- 32-bits for a two's complement representation
! 151: Integer32 ::=
! 152: INTEGER (-2147483648..2147483647)
! 153:
! 154: -- application-wide types
! 155:
! 156: ApplicationSyntax ::=
! 157: CHOICE {
! 158: ipAddress-value
! 159: IpAddress,
! 160: counter-value
! 161: Counter32,
! 162: timeticks-value
! 163: TimeTicks,
! 164: arbitrary-value
! 165: Opaque,
! 166: big-counter-value
! 167: Counter64,
! 168: unsigned-integer-value -- includes Gauge32
! 169: Unsigned32
! 170: }
! 171:
! 172: -- in network-byte order
! 173:
! 174: -- (this is a tagged type for historical reasons)
! 175: IpAddress ::=
! 176: [APPLICATION 0]
! 177: IMPLICIT OCTET STRING (SIZE (4))
! 178:
! 179: -- this wraps
! 180: Counter32 ::=
! 181: [APPLICATION 1]
! 182: IMPLICIT INTEGER (0..4294967295)
! 183:
! 184: -- this doesn't wrap
! 185: Gauge32 ::=
! 186: [APPLICATION 2]
! 187: IMPLICIT INTEGER (0..4294967295)
! 188:
! 189: -- an unsigned 32-bit quantity
! 190: -- indistinguishable from Gauge32
! 191: Unsigned32 ::=
! 192: [APPLICATION 2]
! 193: IMPLICIT INTEGER (0..4294967295)
! 194:
! 195: -- hundredths of seconds since an epoch
! 196: TimeTicks ::=
! 197: [APPLICATION 3]
! 198: IMPLICIT INTEGER (0..4294967295)
! 199:
! 200: -- for backward-compatibility only
! 201: Opaque ::=
! 202: [APPLICATION 4]
! 203: IMPLICIT OCTET STRING
! 204:
! 205: -- for counters that wrap in less than one hour with only 32 bits
! 206: Counter64 ::=
! 207: [APPLICATION 6]
! 208: IMPLICIT INTEGER (0..18446744073709551615)
! 209:
! 210: -- definition for objects
! 211:
! 212: OBJECT-TYPE MACRO ::=
! 213: BEGIN
! 214: TYPE NOTATION ::=
! 215: "SYNTAX" Syntax
! 216: UnitsPart
! 217: "MAX-ACCESS" Access
! 218: "STATUS" Status
! 219: "DESCRIPTION" Text
! 220: ReferPart
! 221:
! 222: IndexPart
! 223: DefValPart
! 224:
! 225: VALUE NOTATION ::=
! 226: value(VALUE ObjectName)
! 227:
! 228: Syntax ::= -- Must be one of the following:
! 229: -- a base type (or its refinement),
! 230: -- a textual convention (or its refinement), or
! 231: -- a BITS pseudo-type
! 232: type
! 233: | "BITS" "{" NamedBits "}"
! 234:
! 235: NamedBits ::= NamedBit
! 236: | NamedBits "," NamedBit
! 237:
! 238: NamedBit ::= identifier "(" number ")" -- number is nonnegative
! 239:
! 240: UnitsPart ::=
! 241: "UNITS" Text
! 242: | empty
! 243:
! 244: Access ::=
! 245: "not-accessible"
! 246: | "accessible-for-notify"
! 247: | "read-only"
! 248: | "read-write"
! 249: | "read-create"
! 250:
! 251: Status ::=
! 252: "current"
! 253: | "deprecated"
! 254: | "obsolete"
! 255:
! 256: ReferPart ::=
! 257: "REFERENCE" Text
! 258: | empty
! 259:
! 260: IndexPart ::=
! 261: "INDEX" "{" IndexTypes "}"
! 262: | "AUGMENTS" "{" Entry "}"
! 263: | empty
! 264: IndexTypes ::=
! 265: IndexType
! 266: | IndexTypes "," IndexType
! 267: IndexType ::=
! 268: "IMPLIED" Index
! 269: | Index
! 270:
! 271: Index ::=
! 272: -- use the SYNTAX value of the
! 273: -- correspondent OBJECT-TYPE invocation
! 274: value(ObjectName)
! 275: Entry ::=
! 276: -- use the INDEX value of the
! 277: -- correspondent OBJECT-TYPE invocation
! 278: value(ObjectName)
! 279:
! 280: DefValPart ::= "DEFVAL" "{" Defvalue "}"
! 281: | empty
! 282:
! 283: Defvalue ::= -- must be valid for the type specified in
! 284: -- SYNTAX clause of same OBJECT-TYPE macro
! 285: value(ObjectSyntax)
! 286: | "{" BitsValue "}"
! 287:
! 288: BitsValue ::= BitNames
! 289: | empty
! 290:
! 291: BitNames ::= BitName
! 292: | BitNames "," BitName
! 293:
! 294: BitName ::= identifier
! 295:
! 296: -- a character string as defined in section 3.1.1
! 297: Text ::= value(IA5String)
! 298: END
! 299:
! 300: -- definitions for notifications
! 301:
! 302: NOTIFICATION-TYPE MACRO ::=
! 303: BEGIN
! 304: TYPE NOTATION ::=
! 305: ObjectsPart
! 306: "STATUS" Status
! 307: "DESCRIPTION" Text
! 308: ReferPart
! 309:
! 310: VALUE NOTATION ::=
! 311: value(VALUE NotificationName)
! 312:
! 313: ObjectsPart ::=
! 314: "OBJECTS" "{" Objects "}"
! 315: | empty
! 316: Objects ::=
! 317: Object
! 318:
! 319: | Objects "," Object
! 320: Object ::=
! 321: value(ObjectName)
! 322:
! 323: Status ::=
! 324: "current"
! 325: | "deprecated"
! 326: | "obsolete"
! 327:
! 328: ReferPart ::=
! 329: "REFERENCE" Text
! 330: | empty
! 331:
! 332: -- a character string as defined in section 3.1.1
! 333: Text ::= value(IA5String)
! 334: END
! 335:
! 336: -- definitions of administrative identifiers
! 337:
! 338: zeroDotZero OBJECT-IDENTITY
! 339: STATUS current
! 340: DESCRIPTION
! 341: "A value used for null identifiers."
! 342: ::= { 0 0 }
! 343:
! 344: END