• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1RFC1155-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    -- 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
130