323 lines
8.1 KiB
Plaintext
323 lines
8.1 KiB
Plaintext
|
SNMPv2-CONF DEFINITIONS ::= BEGIN
|
||
|
|
||
|
IMPORTS ObjectName, NotificationName, ObjectSyntax
|
||
|
FROM SNMPv2-SMI;
|
||
|
|
||
|
-- definitions for conformance groups
|
||
|
|
||
|
OBJECT-GROUP MACRO ::=
|
||
|
BEGIN
|
||
|
TYPE NOTATION ::=
|
||
|
ObjectsPart
|
||
|
"STATUS" Status
|
||
|
"DESCRIPTION" Text
|
||
|
ReferPart
|
||
|
|
||
|
VALUE NOTATION ::=
|
||
|
value(VALUE OBJECT IDENTIFIER)
|
||
|
|
||
|
ObjectsPart ::=
|
||
|
"OBJECTS" "{" Objects "}"
|
||
|
Objects ::=
|
||
|
Object
|
||
|
| Objects "," Object
|
||
|
Object ::=
|
||
|
|
||
|
value(ObjectName)
|
||
|
|
||
|
Status ::=
|
||
|
"current"
|
||
|
| "deprecated"
|
||
|
| "obsolete"
|
||
|
|
||
|
ReferPart ::=
|
||
|
"REFERENCE" Text
|
||
|
| empty
|
||
|
|
||
|
-- a character string as defined in [2]
|
||
|
Text ::= value(IA5String)
|
||
|
END
|
||
|
|
||
|
-- more definitions for conformance groups
|
||
|
|
||
|
NOTIFICATION-GROUP MACRO ::=
|
||
|
BEGIN
|
||
|
TYPE NOTATION ::=
|
||
|
NotificationsPart
|
||
|
"STATUS" Status
|
||
|
"DESCRIPTION" Text
|
||
|
ReferPart
|
||
|
|
||
|
VALUE NOTATION ::=
|
||
|
value(VALUE OBJECT IDENTIFIER)
|
||
|
|
||
|
NotificationsPart ::=
|
||
|
"NOTIFICATIONS" "{" Notifications "}"
|
||
|
Notifications ::=
|
||
|
Notification
|
||
|
| Notifications "," Notification
|
||
|
Notification ::=
|
||
|
value(NotificationName)
|
||
|
|
||
|
Status ::=
|
||
|
"current"
|
||
|
| "deprecated"
|
||
|
| "obsolete"
|
||
|
|
||
|
ReferPart ::=
|
||
|
"REFERENCE" Text
|
||
|
| empty
|
||
|
|
||
|
-- a character string as defined in [2]
|
||
|
Text ::= value(IA5String)
|
||
|
END
|
||
|
|
||
|
-- definitions for compliance statements
|
||
|
|
||
|
MODULE-COMPLIANCE MACRO ::=
|
||
|
BEGIN
|
||
|
TYPE NOTATION ::=
|
||
|
"STATUS" Status
|
||
|
"DESCRIPTION" Text
|
||
|
ReferPart
|
||
|
ModulePart
|
||
|
|
||
|
VALUE NOTATION ::=
|
||
|
value(VALUE OBJECT IDENTIFIER)
|
||
|
|
||
|
Status ::=
|
||
|
"current"
|
||
|
| "deprecated"
|
||
|
| "obsolete"
|
||
|
|
||
|
ReferPart ::=
|
||
|
"REFERENCE" Text
|
||
|
| empty
|
||
|
|
||
|
ModulePart ::=
|
||
|
Modules
|
||
|
Modules ::=
|
||
|
Module
|
||
|
| Modules Module
|
||
|
Module ::=
|
||
|
-- name of module --
|
||
|
"MODULE" ModuleName
|
||
|
MandatoryPart
|
||
|
CompliancePart
|
||
|
|
||
|
ModuleName ::=
|
||
|
-- identifier must start with uppercase letter
|
||
|
identifier ModuleIdentifier
|
||
|
-- must not be empty unless contained
|
||
|
-- in MIB Module
|
||
|
| empty
|
||
|
ModuleIdentifier ::=
|
||
|
value(OBJECT IDENTIFIER)
|
||
|
| empty
|
||
|
|
||
|
MandatoryPart ::=
|
||
|
"MANDATORY-GROUPS" "{" Groups "}"
|
||
|
| empty
|
||
|
|
||
|
Groups ::=
|
||
|
|
||
|
Group
|
||
|
| Groups "," Group
|
||
|
Group ::=
|
||
|
value(OBJECT IDENTIFIER)
|
||
|
|
||
|
CompliancePart ::=
|
||
|
Compliances
|
||
|
| empty
|
||
|
|
||
|
Compliances ::=
|
||
|
Compliance
|
||
|
| Compliances Compliance
|
||
|
Compliance ::=
|
||
|
ComplianceGroup
|
||
|
| Object
|
||
|
|
||
|
ComplianceGroup ::=
|
||
|
"GROUP" value(OBJECT IDENTIFIER)
|
||
|
"DESCRIPTION" Text
|
||
|
|
||
|
Object ::=
|
||
|
"OBJECT" value(ObjectName)
|
||
|
SyntaxPart
|
||
|
WriteSyntaxPart
|
||
|
AccessPart
|
||
|
"DESCRIPTION" Text
|
||
|
|
||
|
-- must be a refinement for object's SYNTAX clause
|
||
|
SyntaxPart ::= "SYNTAX" Syntax
|
||
|
| empty
|
||
|
|
||
|
-- must be a refinement for object's SYNTAX clause
|
||
|
WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
|
||
|
| empty
|
||
|
|
||
|
Syntax ::= -- Must be one of the following:
|
||
|
-- a base type (or its refinement),
|
||
|
-- a textual convention (or its refinement), or
|
||
|
-- a BITS pseudo-type
|
||
|
type
|
||
|
| "BITS" "{" NamedBits "}"
|
||
|
|
||
|
NamedBits ::= NamedBit
|
||
|
| NamedBits "," NamedBit
|
||
|
|
||
|
NamedBit ::= identifier "(" number ")" -- number is nonnegative
|
||
|
|
||
|
AccessPart ::=
|
||
|
"MIN-ACCESS" Access
|
||
|
| empty
|
||
|
Access ::=
|
||
|
"not-accessible"
|
||
|
| "accessible-for-notify"
|
||
|
| "read-only"
|
||
|
| "read-write"
|
||
|
| "read-create"
|
||
|
|
||
|
-- a character string as defined in [2]
|
||
|
Text ::= value(IA5String)
|
||
|
END
|
||
|
|
||
|
-- definitions for capabilities statements
|
||
|
|
||
|
AGENT-CAPABILITIES MACRO ::=
|
||
|
BEGIN
|
||
|
TYPE NOTATION ::=
|
||
|
"PRODUCT-RELEASE" Text
|
||
|
"STATUS" Status
|
||
|
"DESCRIPTION" Text
|
||
|
ReferPart
|
||
|
ModulePart
|
||
|
|
||
|
VALUE NOTATION ::=
|
||
|
value(VALUE OBJECT IDENTIFIER)
|
||
|
|
||
|
Status ::=
|
||
|
"current"
|
||
|
| "obsolete"
|
||
|
|
||
|
ReferPart ::=
|
||
|
"REFERENCE" Text
|
||
|
| empty
|
||
|
|
||
|
ModulePart ::=
|
||
|
Modules
|
||
|
| empty
|
||
|
Modules ::=
|
||
|
Module
|
||
|
| Modules Module
|
||
|
Module ::=
|
||
|
-- name of module --
|
||
|
"SUPPORTS" ModuleName
|
||
|
"INCLUDES" "{" Groups "}"
|
||
|
VariationPart
|
||
|
|
||
|
ModuleName ::=
|
||
|
|
||
|
-- identifier must start with uppercase letter
|
||
|
identifier ModuleIdentifier
|
||
|
ModuleIdentifier ::=
|
||
|
value(OBJECT IDENTIFIER)
|
||
|
| empty
|
||
|
|
||
|
Groups ::=
|
||
|
Group
|
||
|
| Groups "," Group
|
||
|
Group ::=
|
||
|
value(OBJECT IDENTIFIER)
|
||
|
|
||
|
VariationPart ::=
|
||
|
Variations
|
||
|
| empty
|
||
|
Variations ::=
|
||
|
Variation
|
||
|
| Variations Variation
|
||
|
|
||
|
Variation ::=
|
||
|
ObjectVariation
|
||
|
| NotificationVariation
|
||
|
|
||
|
NotificationVariation ::=
|
||
|
"VARIATION" value(NotificationName)
|
||
|
AccessPart
|
||
|
"DESCRIPTION" Text
|
||
|
|
||
|
ObjectVariation ::=
|
||
|
"VARIATION" value(ObjectName)
|
||
|
SyntaxPart
|
||
|
WriteSyntaxPart
|
||
|
AccessPart
|
||
|
CreationPart
|
||
|
DefValPart
|
||
|
"DESCRIPTION" Text
|
||
|
|
||
|
-- must be a refinement for object's SYNTAX clause
|
||
|
SyntaxPart ::= "SYNTAX" Syntax
|
||
|
| empty
|
||
|
|
||
|
WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
|
||
|
| empty
|
||
|
|
||
|
Syntax ::= -- Must be one of the following:
|
||
|
-- a base type (or its refinement),
|
||
|
-- a textual convention (or its refinement), or
|
||
|
-- a BITS pseudo-type
|
||
|
|
||
|
type
|
||
|
| "BITS" "{" NamedBits "}"
|
||
|
|
||
|
NamedBits ::= NamedBit
|
||
|
| NamedBits "," NamedBit
|
||
|
|
||
|
NamedBit ::= identifier "(" number ")" -- number is nonnegative
|
||
|
|
||
|
AccessPart ::=
|
||
|
"ACCESS" Access
|
||
|
| empty
|
||
|
|
||
|
Access ::=
|
||
|
"not-implemented"
|
||
|
-- only "not-implemented" for notifications
|
||
|
| "accessible-for-notify"
|
||
|
| "read-only"
|
||
|
| "read-write"
|
||
|
| "read-create"
|
||
|
-- following is for backward-compatibility only
|
||
|
| "write-only"
|
||
|
|
||
|
CreationPart ::=
|
||
|
"CREATION-REQUIRES" "{" Cells "}"
|
||
|
| empty
|
||
|
Cells ::=
|
||
|
Cell
|
||
|
| Cells "," Cell
|
||
|
Cell ::=
|
||
|
value(ObjectName)
|
||
|
|
||
|
DefValPart ::= "DEFVAL" "{" Defvalue "}"
|
||
|
| empty
|
||
|
|
||
|
Defvalue ::= -- must be valid for the object's syntax
|
||
|
-- in this macro's SYNTAX clause, if present,
|
||
|
-- or if not, in object's OBJECT-TYPE macro
|
||
|
value(ObjectSyntax)
|
||
|
| "{" BitsValue "}"
|
||
|
|
||
|
BitsValue ::= BitNames
|
||
|
| empty
|
||
|
|
||
|
BitNames ::= BitName
|
||
|
| BitNames "," BitName
|
||
|
|
||
|
BitName ::= identifier
|
||
|
|
||
|
-- a character string as defined in [2]
|
||
|
Text ::= value(IA5String)
|
||
|
END
|
||
|
|
||
|
END
|