[457] | 1 | RFC1155-SMI DEFINITIONS ::= BEGIN
|
---|
| 2 |
|
---|
| 3 | EXPORTS -- EVERYTHING
|
---|
| 4 | internet, directory, mgmt,
|
---|
| 5 | experimental, private, enterprises,
|
---|
| 6 | OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
|
---|
| 7 | ApplicationSyntax, NetworkAddress, IpAddress,
|
---|
| 8 | Counter, Gauge, TimeTicks, Opaque;
|
---|
| 9 |
|
---|
| 10 | -- the path to the root
|
---|
| 11 |
|
---|
| 12 | internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
|
---|
| 13 |
|
---|
| 14 | directory OBJECT IDENTIFIER ::= { internet 1 }
|
---|
| 15 |
|
---|
| 16 | mgmt OBJECT IDENTIFIER ::= { internet 2 }
|
---|
| 17 |
|
---|
| 18 | experimental OBJECT IDENTIFIER ::= { internet 3 }
|
---|
| 19 |
|
---|
| 20 | private OBJECT IDENTIFIER ::= { internet 4 }
|
---|
| 21 | enterprises OBJECT IDENTIFIER ::= { private 1 }
|
---|
| 22 |
|
---|
| 23 |
|
---|
| 24 | -- definition of object types
|
---|
| 25 |
|
---|
| 26 | OBJECT-TYPE MACRO ::=
|
---|
| 27 | BEGIN
|
---|
| 28 | TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
|
---|
| 29 | "ACCESS" Access
|
---|
| 30 | "STATUS" Status
|
---|
| 31 | VALUE NOTATION ::= value (VALUE ObjectName)
|
---|
| 32 |
|
---|
| 33 | Access ::= "read-only"
|
---|
| 34 | | "read-write"
|
---|
| 35 | | "write-only"
|
---|
| 36 | | "not-accessible"
|
---|
| 37 | Status ::= "mandatory"
|
---|
| 38 | | "optional"
|
---|
| 39 | | "obsolete"
|
---|
| 40 | END
|
---|
| 41 |
|
---|
| 42 | -- names of objects in the MIB
|
---|
| 43 |
|
---|
| 44 | ObjectName ::=
|
---|
| 45 | OBJECT IDENTIFIER
|
---|
| 46 |
|
---|
| 47 | -- syntax of objects in the MIB
|
---|
| 48 |
|
---|
| 49 | ObjectSyntax ::=
|
---|
| 50 | CHOICE {
|
---|
| 51 | simple
|
---|
| 52 | SimpleSyntax,
|
---|
| 53 |
|
---|
| 54 | -- note that simple SEQUENCEs are not directly
|
---|
| 55 | -- mentioned here to keep things simple (i.e.,
|
---|
| 56 | -- prevent mis-use). However, application-wide
|
---|
| 57 | -- types which are IMPLICITly encoded simple
|
---|
| 58 | -- SEQUENCEs may appear in the following CHOICE
|
---|
| 59 |
|
---|
| 60 | application-wide
|
---|
| 61 | ApplicationSyntax
|
---|
| 62 | }
|
---|
| 63 |
|
---|
| 64 | SimpleSyntax ::=
|
---|
| 65 | CHOICE {
|
---|
| 66 | number
|
---|
| 67 | INTEGER,
|
---|
| 68 |
|
---|
| 69 | string
|
---|
| 70 | OCTET STRING,
|
---|
| 71 |
|
---|
| 72 | object
|
---|
| 73 | OBJECT IDENTIFIER,
|
---|
| 74 |
|
---|
| 75 | empty
|
---|
| 76 | NULL
|
---|
| 77 | }
|
---|
| 78 |
|
---|
| 79 | ApplicationSyntax ::=
|
---|
| 80 | CHOICE {
|
---|
| 81 | address
|
---|
| 82 | NetworkAddress,
|
---|
| 83 |
|
---|
| 84 | counter
|
---|
| 85 | Counter,
|
---|
| 86 |
|
---|
| 87 | gauge
|
---|
| 88 | Gauge,
|
---|
| 89 |
|
---|
| 90 | ticks
|
---|
| 91 | TimeTicks,
|
---|
| 92 |
|
---|
| 93 | arbitrary
|
---|
| 94 | Opaque
|
---|
| 95 |
|
---|
| 96 | -- other application-wide types, as they are
|
---|
| 97 | -- defined, will be added here
|
---|
| 98 | }
|
---|
| 99 |
|
---|
| 100 |
|
---|
| 101 | -- application-wide types
|
---|
| 102 |
|
---|
| 103 | NetworkAddress ::=
|
---|
| 104 | CHOICE {
|
---|
| 105 | internet
|
---|
| 106 | IpAddress
|
---|
| 107 | }
|
---|
| 108 |
|
---|
| 109 | IpAddress ::=
|
---|
| 110 | [APPLICATION 0] -- in network-byte order
|
---|
| 111 | IMPLICIT OCTET STRING (SIZE (4))
|
---|
| 112 |
|
---|
| 113 | Counter ::=
|
---|
| 114 | [APPLICATION 1]
|
---|
| 115 | IMPLICIT INTEGER (0..4294967295)
|
---|
| 116 |
|
---|
| 117 | Gauge ::=
|
---|
| 118 | [APPLICATION 2]
|
---|
| 119 | IMPLICIT INTEGER (0..4294967295)
|
---|
| 120 |
|
---|
| 121 | TimeTicks ::=
|
---|
| 122 | [APPLICATION 3]
|
---|
| 123 | IMPLICIT INTEGER (0..4294967295)
|
---|
| 124 |
|
---|
| 125 | Opaque ::=
|
---|
| 126 | [APPLICATION 4] -- arbitrary ASN.1 value,
|
---|
| 127 | IMPLICIT OCTET STRING -- "double-wrapped"
|
---|
| 128 |
|
---|
| 129 | END
|
---|