-- 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)
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
-- 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"
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