1SNMPv2-CONF DEFINITIONS ::= BEGIN 2 3IMPORTS ObjectName, NotificationName, ObjectSyntax 4 FROM SNMPv2-SMI; 5 6-- definitions for conformance groups 7 8OBJECT-GROUP MACRO ::= 9BEGIN 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) 39END 40 41-- more definitions for conformance groups 42 43NOTIFICATION-GROUP MACRO ::= 44BEGIN 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) 73END 74 75-- definitions for compliance statements 76 77MODULE-COMPLIANCE MACRO ::= 78BEGIN 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) 183END 184 185-- definitions for capabilities statements 186 187AGENT-CAPABILITIES MACRO ::= 188BEGIN 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) 320END 321 322END 323