SNMPv2-CONF.txt 8.1 KB

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