[457] | 1 | RFC1065-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 |
|
---|
| 48 |
|
---|
| 49 | -- syntax of objects in the MIB
|
---|
| 50 |
|
---|
| 51 | ObjectSyntax ::=
|
---|
| 52 | CHOICE {
|
---|
| 53 | simple
|
---|
| 54 | SimpleSyntax,
|
---|
| 55 |
|
---|
| 56 | -- note that simple SEQUENCEs are not directly
|
---|
| 57 | -- mentioned here to keep things simple (i.e.,
|
---|
| 58 | -- prevent mis-use). However, application-wide
|
---|
| 59 | -- types which are IMPLICITly encoded simple
|
---|
| 60 | -- SEQUENCEs may appear in the following CHOICE
|
---|
| 61 |
|
---|
| 62 | application-wide
|
---|
| 63 | ApplicationSyntax
|
---|
| 64 | }
|
---|
| 65 |
|
---|
| 66 | SimpleSyntax ::=
|
---|
| 67 | CHOICE {
|
---|
| 68 | number
|
---|
| 69 | INTEGER,
|
---|
| 70 |
|
---|
| 71 | string
|
---|
| 72 | OCTET STRING,
|
---|
| 73 |
|
---|
| 74 | object
|
---|
| 75 | OBJECT IDENTIFIER,
|
---|
| 76 |
|
---|
| 77 | empty
|
---|
| 78 | NULL
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 | ApplicationSyntax ::=
|
---|
| 82 | CHOICE {
|
---|
| 83 | address
|
---|
| 84 | NetworkAddress,
|
---|
| 85 |
|
---|
| 86 | counter
|
---|
| 87 | Counter,
|
---|
| 88 |
|
---|
| 89 | gauge
|
---|
| 90 | Gauge,
|
---|
| 91 |
|
---|
| 92 | ticks
|
---|
| 93 | TimeTicks,
|
---|
| 94 |
|
---|
| 95 | arbitrary
|
---|
| 96 | Opaque
|
---|
| 97 |
|
---|
| 98 |
|
---|
| 99 | -- other application-wide types, as they are
|
---|
| 100 | -- defined, will be added here
|
---|
| 101 | }
|
---|
| 102 |
|
---|
| 103 |
|
---|
| 104 | -- application-wide types
|
---|
| 105 |
|
---|
| 106 | NetworkAddress ::=
|
---|
| 107 | CHOICE {
|
---|
| 108 | internet
|
---|
| 109 | IpAddress
|
---|
| 110 | }
|
---|
| 111 |
|
---|
| 112 | IpAddress ::=
|
---|
| 113 | [APPLICATION 0] -- in network-byte order
|
---|
| 114 | IMPLICIT OCTET STRING (SIZE (4))
|
---|
| 115 |
|
---|
| 116 | Counter ::=
|
---|
| 117 | [APPLICATION 1]
|
---|
| 118 | IMPLICIT INTEGER (0..4294967295)
|
---|
| 119 |
|
---|
| 120 | Gauge ::=
|
---|
| 121 | [APPLICATION 2]
|
---|
| 122 | IMPLICIT INTEGER (0..4294967295)
|
---|
| 123 |
|
---|
| 124 | TimeTicks ::=
|
---|
| 125 | [APPLICATION 3]
|
---|
| 126 | IMPLICIT INTEGER
|
---|
| 127 |
|
---|
| 128 | Opaque ::=
|
---|
| 129 | [APPLICATION 4] -- arbitrary ASN.1 value,
|
---|
| 130 | IMPLICIT OCTET STRING -- "double-wrapped"
|
---|
| 131 |
|
---|
| 132 | END
|
---|