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