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