• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1RFC1065-SMI DEFINITIONS ::= BEGIN
2
3EXPORTS -- 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
133