added files
[bcm963xx.git] / userapps / opensource / net-snmp / mibs / SNMPv2-CONF.txt
1 SNMPv2-CONF DEFINITIONS ::= BEGIN
2
3 IMPORTS ObjectName, NotificationName, ObjectSyntax
4                                                FROM SNMPv2-SMI;
5
6 -- definitions for conformance groups
7
8 OBJECT-GROUP MACRO ::=
9 BEGIN
10     TYPE NOTATION ::=
11                   ObjectsPart
12                   "STATUS" Status
13                   "DESCRIPTION" Text
14                   ReferPart
15
16     VALUE NOTATION ::=
17                   value(VALUE OBJECT IDENTIFIER)
18
19     ObjectsPart ::=
20                   "OBJECTS" "{" Objects "}"
21     Objects ::=
22                   Object
23                 | Objects "," Object
24     Object ::=
25
26                   value(ObjectName)
27
28     Status ::=
29                   "current"
30                 | "deprecated"
31                 | "obsolete"
32
33     ReferPart ::=
34                   "REFERENCE" Text
35                 | empty
36
37     -- a character string as defined in [2]
38     Text ::= value(IA5String)
39 END
40
41 -- more definitions for conformance groups
42
43 NOTIFICATION-GROUP MACRO ::=
44 BEGIN
45     TYPE NOTATION ::=
46                   NotificationsPart
47                   "STATUS" Status
48                   "DESCRIPTION" Text
49                   ReferPart
50
51     VALUE NOTATION ::=
52                   value(VALUE OBJECT IDENTIFIER)
53
54     NotificationsPart ::=
55                   "NOTIFICATIONS" "{" Notifications "}"
56     Notifications ::=
57                   Notification
58                 | Notifications "," Notification
59     Notification ::=
60                   value(NotificationName)
61
62     Status ::=
63                   "current"
64                 | "deprecated"
65                 | "obsolete"
66
67     ReferPart ::=
68                   "REFERENCE" Text
69                 | empty
70
71     -- a character string as defined in [2]
72     Text ::= value(IA5String)
73 END
74
75 -- definitions for compliance statements
76
77 MODULE-COMPLIANCE MACRO ::=
78 BEGIN
79     TYPE NOTATION ::=
80                   "STATUS" Status
81                   "DESCRIPTION" Text
82                   ReferPart
83                   ModulePart
84
85     VALUE NOTATION ::=
86                   value(VALUE OBJECT IDENTIFIER)
87
88     Status ::=
89                   "current"
90                 | "deprecated"
91                 | "obsolete"
92
93     ReferPart ::=
94                   "REFERENCE" Text
95                 | empty
96
97     ModulePart ::=
98                   Modules
99     Modules ::=
100                   Module
101                 | Modules Module
102     Module ::=
103                   -- name of module --
104                   "MODULE" ModuleName
105                   MandatoryPart
106                   CompliancePart
107
108     ModuleName ::=
109                   -- identifier must start with uppercase letter
110                   identifier ModuleIdentifier
111                   -- must not be empty unless contained
112                   -- in MIB Module
113                 | empty
114     ModuleIdentifier ::=
115                   value(OBJECT IDENTIFIER)
116                 | empty
117
118     MandatoryPart ::=
119                   "MANDATORY-GROUPS" "{" Groups "}"
120                 | empty
121
122     Groups ::=
123
124                   Group
125                 | Groups "," Group
126     Group ::=
127                   value(OBJECT IDENTIFIER)
128
129     CompliancePart ::=
130                   Compliances
131                 | empty
132
133     Compliances ::=
134                   Compliance
135                 | Compliances Compliance
136     Compliance ::=
137                   ComplianceGroup
138                 | Object
139
140     ComplianceGroup ::=
141                   "GROUP" value(OBJECT IDENTIFIER)
142                   "DESCRIPTION" Text
143
144     Object ::=
145                   "OBJECT" value(ObjectName)
146                   SyntaxPart
147                   WriteSyntaxPart
148                   AccessPart
149                   "DESCRIPTION" Text
150
151     -- must be a refinement for object's SYNTAX clause
152     SyntaxPart ::= "SYNTAX" Syntax
153                 | empty
154
155     -- must be a refinement for object's SYNTAX clause
156     WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
157                 | empty
158
159     Syntax ::=    -- Must be one of the following:
160                        -- a base type (or its refinement),
161                        -- a textual convention (or its refinement), or
162                        -- a BITS pseudo-type
163                   type
164                 | "BITS" "{" NamedBits "}"
165
166     NamedBits ::= NamedBit
167                 | NamedBits "," NamedBit
168
169     NamedBit ::= identifier "(" number ")" -- number is nonnegative
170
171     AccessPart ::=
172                   "MIN-ACCESS" Access
173                 | empty
174     Access ::=
175                   "not-accessible"
176                 | "accessible-for-notify"
177                 | "read-only"
178                 | "read-write"
179                 | "read-create"
180
181     -- a character string as defined in [2]
182     Text ::= value(IA5String)
183 END
184
185 -- definitions for capabilities statements
186
187 AGENT-CAPABILITIES MACRO ::=
188 BEGIN
189     TYPE NOTATION ::=
190                   "PRODUCT-RELEASE" Text
191                   "STATUS" Status
192                   "DESCRIPTION" Text
193                   ReferPart
194                   ModulePart
195
196     VALUE NOTATION ::=
197                   value(VALUE OBJECT IDENTIFIER)
198
199     Status ::=
200                   "current"
201                 | "obsolete"
202
203     ReferPart ::=
204                   "REFERENCE" Text
205                 | empty
206
207     ModulePart ::=
208                   Modules
209                 | empty
210     Modules ::=
211                   Module
212                 | Modules Module
213     Module ::=
214                   -- name of module --
215                   "SUPPORTS" ModuleName
216                   "INCLUDES" "{" Groups "}"
217                   VariationPart
218
219     ModuleName ::=
220
221                   -- identifier must start with uppercase letter
222                   identifier ModuleIdentifier
223     ModuleIdentifier ::=
224                   value(OBJECT IDENTIFIER)
225                 | empty
226
227     Groups ::=
228                   Group
229                 | Groups "," Group
230     Group ::=
231                   value(OBJECT IDENTIFIER)
232
233     VariationPart ::=
234                   Variations
235                 | empty
236     Variations ::=
237                   Variation
238                 | Variations Variation
239
240     Variation ::=
241                   ObjectVariation
242                 | NotificationVariation
243
244     NotificationVariation ::=
245                   "VARIATION" value(NotificationName)
246                   AccessPart
247                   "DESCRIPTION" Text
248
249     ObjectVariation ::=
250                   "VARIATION" value(ObjectName)
251                   SyntaxPart
252                   WriteSyntaxPart
253                   AccessPart
254                   CreationPart
255                   DefValPart
256                   "DESCRIPTION" Text
257
258     -- must be a refinement for object's SYNTAX clause
259     SyntaxPart ::= "SYNTAX" Syntax
260                 | empty
261
262     WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
263                 | empty
264
265     Syntax ::=    -- Must be one of the following:
266                        -- a base type (or its refinement),
267                        -- a textual convention (or its refinement), or
268                        -- a BITS pseudo-type
269
270                   type
271                 | "BITS" "{" NamedBits "}"
272
273     NamedBits ::= NamedBit
274                 | NamedBits "," NamedBit
275
276     NamedBit ::= identifier "(" number ")" -- number is nonnegative
277
278     AccessPart ::=
279                   "ACCESS" Access
280                 | empty
281
282     Access ::=
283                   "not-implemented"
284                 -- only "not-implemented" for notifications
285                 | "accessible-for-notify"
286                 | "read-only"
287                 | "read-write"
288                 | "read-create"
289                 -- following is for backward-compatibility only
290                 | "write-only"
291
292     CreationPart ::=
293                   "CREATION-REQUIRES" "{" Cells "}"
294                 | empty
295     Cells ::=
296                   Cell
297                 | Cells "," Cell
298     Cell ::=
299                   value(ObjectName)
300
301     DefValPart ::= "DEFVAL" "{" Defvalue "}"
302                 | empty
303
304     Defvalue ::=  -- must be valid for the object's syntax
305                   -- in this macro's SYNTAX clause, if present,
306                   -- or if not, in object's OBJECT-TYPE macro
307                   value(ObjectSyntax)
308                 | "{" BitsValue "}"
309
310     BitsValue ::= BitNames
311                 | empty
312
313     BitNames ::=  BitName
314                 | BitNames "," BitName
315
316     BitName ::= identifier
317
318     -- a character string as defined in [2]
319     Text ::= value(IA5String)
320 END
321
322 END