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
|
---|