SNMPv2-SMI.mib 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. SNMPv2-SMI DEFINITIONS ::= BEGIN
  2. -- the path to the root
  3. org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
  4. dod OBJECT IDENTIFIER ::= { org 6 }
  5. internet OBJECT IDENTIFIER ::= { dod 1 }
  6. directory OBJECT IDENTIFIER ::= { internet 1 }
  7. mgmt OBJECT IDENTIFIER ::= { internet 2 }
  8. mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
  9. transmission OBJECT IDENTIFIER ::= { mib-2 10 }
  10. experimental OBJECT IDENTIFIER ::= { internet 3 }
  11. private OBJECT IDENTIFIER ::= { internet 4 }
  12. enterprises OBJECT IDENTIFIER ::= { private 1 }
  13. security OBJECT IDENTIFIER ::= { internet 5 }
  14. snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
  15. -- transport domains
  16. snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
  17. -- transport proxies
  18. snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
  19. -- module identities
  20. snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
  21. -- Extended UTCTime, to allow dates with four-digit years
  22. -- (Note that this definition of ExtUTCTime is not to be IMPORTed
  23. -- by MIB modules.)
  24. ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
  25. -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
  26. -- where: YY - last two digits of year (only years
  27. -- between 1900-1999)
  28. -- YYYY - last four digits of the year (any year)
  29. -- MM - month (01 through 12)
  30. -- DD - day of month (01 through 31)
  31. -- HH - hours (00 through 23)
  32. -- MM - minutes (00 through 59)
  33. -- Z - denotes GMT (the ASCII character Z)
  34. --
  35. -- For example, "9502192015Z" and "199502192015Z" represent
  36. -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
  37. -- the four digit year format. Years 1900-1999 may use the
  38. -- two or four digit format.
  39. -- definitions for information modules
  40. MODULE-IDENTITY MACRO ::=
  41. BEGIN
  42. TYPE NOTATION ::=
  43. "LAST-UPDATED" value(Update ExtUTCTime)
  44. "ORGANIZATION" Text
  45. "CONTACT-INFO" Text
  46. "DESCRIPTION" Text
  47. RevisionPart
  48. VALUE NOTATION ::=
  49. value(VALUE OBJECT IDENTIFIER)
  50. RevisionPart ::=
  51. Revisions
  52. | empty
  53. Revisions ::=
  54. Revision
  55. | Revisions Revision
  56. Revision ::=
  57. "REVISION" value(Update ExtUTCTime)
  58. "DESCRIPTION" Text
  59. -- a character string as defined in section 3.1.1
  60. Text ::= value(IA5String)
  61. END
  62. OBJECT-IDENTITY MACRO ::=
  63. BEGIN
  64. TYPE NOTATION ::=
  65. "STATUS" Status
  66. "DESCRIPTION" Text
  67. ReferPart
  68. VALUE NOTATION ::=
  69. value(VALUE OBJECT IDENTIFIER)
  70. Status ::=
  71. "current"
  72. | "deprecated"
  73. | "obsolete"
  74. ReferPart ::=
  75. "REFERENCE" Text
  76. | empty
  77. -- a character string as defined in section 3.1.1
  78. Text ::= value(IA5String)
  79. END
  80. -- names of objects
  81. -- (Note that these definitions of ObjectName and NotificationName
  82. -- are not to be IMPORTed by MIB modules.)
  83. ObjectName ::=
  84. OBJECT IDENTIFIER
  85. NotificationName ::=
  86. OBJECT IDENTIFIER
  87. -- syntax of objects
  88. -- the "base types" defined here are:
  89. -- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
  90. -- 8 application-defined types: Integer32, IpAddress, Counter32,
  91. -- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
  92. ObjectSyntax ::=
  93. CHOICE {
  94. simple
  95. SimpleSyntax,
  96. -- note that SEQUENCEs for conceptual tables and
  97. -- rows are not mentioned here...
  98. application-wide
  99. ApplicationSyntax
  100. }
  101. -- built-in ASN.1 types
  102. SimpleSyntax ::=
  103. CHOICE {
  104. -- INTEGERs with a more restrictive range
  105. -- may also be used
  106. integer-value -- includes Integer32
  107. INTEGER (-2147483648..2147483647),
  108. -- OCTET STRINGs with a more restrictive size
  109. -- may also be used
  110. string-value
  111. OCTET STRING (SIZE (0..65535)),
  112. objectID-value
  113. OBJECT IDENTIFIER
  114. }
  115. -- indistinguishable from INTEGER, but never needs more than
  116. -- 32-bits for a two's complement representation
  117. Integer32 ::=
  118. INTEGER (-2147483648..2147483647)
  119. -- application-wide types
  120. ApplicationSyntax ::=
  121. CHOICE {
  122. ipAddress-value
  123. IpAddress,
  124. counter-value
  125. Counter32,
  126. timeticks-value
  127. TimeTicks,
  128. arbitrary-value
  129. Opaque,
  130. big-counter-value
  131. Counter64,
  132. unsigned-integer-value -- includes Gauge32
  133. Unsigned32
  134. }
  135. -- in network-byte order
  136. -- (this is a tagged type for historical reasons)
  137. IpAddress ::=
  138. [APPLICATION 0]
  139. IMPLICIT OCTET STRING (SIZE (4))
  140. -- this wraps
  141. Counter32 ::=
  142. [APPLICATION 1]
  143. IMPLICIT INTEGER (0..4294967295)
  144. -- this doesn't wrap
  145. Gauge32 ::=
  146. [APPLICATION 2]
  147. IMPLICIT INTEGER (0..4294967295)
  148. -- an unsigned 32-bit quantity
  149. -- indistinguishable from Gauge32
  150. Unsigned32 ::=
  151. [APPLICATION 2]
  152. IMPLICIT INTEGER (0..4294967295)
  153. -- hundredths of seconds since an epoch
  154. TimeTicks ::=
  155. [APPLICATION 3]
  156. IMPLICIT INTEGER (0..4294967295)
  157. -- for backward-compatibility only
  158. Opaque ::=
  159. [APPLICATION 4]
  160. IMPLICIT OCTET STRING
  161. -- for counters that wrap in less than one hour with only 32 bits
  162. Counter64 ::=
  163. [APPLICATION 6]
  164. IMPLICIT INTEGER (0..18446744073709551615)
  165. -- definition for objects
  166. OBJECT-TYPE MACRO ::=
  167. BEGIN
  168. TYPE NOTATION ::=
  169. "SYNTAX" Syntax
  170. UnitsPart
  171. "MAX-ACCESS" Access
  172. "STATUS" Status
  173. "DESCRIPTION" Text
  174. ReferPart
  175. IndexPart
  176. DefValPart
  177. VALUE NOTATION ::=
  178. value(VALUE ObjectName)
  179. Syntax ::= -- Must be one of the following:
  180. -- a base type (or its refinement),
  181. -- a textual convention (or its refinement), or
  182. -- a BITS pseudo-type
  183. type
  184. | "BITS" "{" NamedBits "}"
  185. NamedBits ::= NamedBit
  186. | NamedBits "," NamedBit
  187. NamedBit ::= identifier "(" number ")" -- number is nonnegative
  188. UnitsPart ::=
  189. "UNITS" Text
  190. | empty
  191. Access ::=
  192. "not-accessible"
  193. | "accessible-for-notify"
  194. | "read-only"
  195. | "read-write"
  196. | "read-create"
  197. Status ::=
  198. "current"
  199. | "deprecated"
  200. | "obsolete"
  201. ReferPart ::=
  202. "REFERENCE" Text
  203. | empty
  204. IndexPart ::=
  205. "INDEX" "{" IndexTypes "}"
  206. | "AUGMENTS" "{" Entry "}"
  207. | empty
  208. IndexTypes ::=
  209. IndexType
  210. | IndexTypes "," IndexType
  211. IndexType ::=
  212. "IMPLIED" Index
  213. | Index
  214. Index ::=
  215. -- use the SYNTAX value of the
  216. -- correspondent OBJECT-TYPE invocation
  217. value(ObjectName)
  218. Entry ::=
  219. -- use the INDEX value of the
  220. -- correspondent OBJECT-TYPE invocation
  221. value(ObjectName)
  222. DefValPart ::= "DEFVAL" "{" Defvalue "}"
  223. | empty
  224. Defvalue ::= -- must be valid for the type specified in
  225. -- SYNTAX clause of same OBJECT-TYPE macro
  226. value(ObjectSyntax)
  227. | "{" BitsValue "}"
  228. BitsValue ::= BitNames
  229. | empty
  230. BitNames ::= BitName
  231. | BitNames "," BitName
  232. BitName ::= identifier
  233. -- a character string as defined in section 3.1.1
  234. Text ::= value(IA5String)
  235. END
  236. -- definitions for notifications
  237. NOTIFICATION-TYPE MACRO ::=
  238. BEGIN
  239. TYPE NOTATION ::=
  240. ObjectsPart
  241. "STATUS" Status
  242. "DESCRIPTION" Text
  243. ReferPart
  244. VALUE NOTATION ::=
  245. value(VALUE NotificationName)
  246. ObjectsPart ::=
  247. "OBJECTS" "{" Objects "}"
  248. | empty
  249. Objects ::=
  250. Object
  251. | Objects "," Object
  252. Object ::=
  253. value(ObjectName)
  254. Status ::=
  255. "current"
  256. | "deprecated"
  257. | "obsolete"
  258. ReferPart ::=
  259. "REFERENCE" Text
  260. | empty
  261. -- a character string as defined in section 3.1.1
  262. Text ::= value(IA5String)
  263. END
  264. -- definitions of administrative identifiers
  265. zeroDotZero OBJECT-IDENTITY
  266. STATUS current
  267. DESCRIPTION
  268. "A value used for null identifiers."
  269. ::= { 0 0 }
  270. END