Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

900 lines
35 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. Abstract:
  5. Author:
  6. Revision History:
  7. --*/
  8. #ifndef __OID_H__
  9. #define __OID_H__
  10. //
  11. // mib-2 OBJECT IDENTIFIER ::= {iso(1) org(3) dod(6) internet(1) mgmt(2) 1}
  12. //
  13. static UINT ids_mib2[] = {1,3,6,1,2,1};
  14. //
  15. // The groups we handle
  16. //
  17. // system OBJECT IDENTIFIER ::= { mib-2 1 }
  18. //
  19. // interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
  20. //
  21. // ip OBJECT IDENTIFIER ::= { mib-2 4 }
  22. //
  23. // icmp OBJECT IDENTIFIER ::= { mib-2 5 }
  24. //
  25. // tcp OBJECT IDENTIFIER ::= { mib-2 6 }
  26. //
  27. // udp OBJECT IDENTIFIER ::= { mib-2 7 }
  28. //
  29. // ipForward OBJECT IDENTIFIER ::= { ip 24 }
  30. //
  31. // ipv6 OBJECT IDENTIFIER ::= { mib-2 55 }
  32. //
  33. //
  34. // The groups we dont handle
  35. //
  36. // at OBJECT IDENTIFIER ::= { mib-2 3 }
  37. // egp OBJECT IDENTIFIER ::= { mib-2 8 }
  38. // cmot OBJECT IDENTIFIER ::= { mib-2 9 }
  39. // transmission OBJECT IDENTIFIER ::= { mib-2 10 }
  40. // snmp OBJECT IDENTIFIER ::= { mib-2 11 }
  41. //
  42. //
  43. // Since each of the groups below is registered separately with
  44. // both the master agent and the subagent framework we need them
  45. // to be fully qualified. Each of the objects in the groups is
  46. // then relative to the oids below.
  47. //
  48. static UINT ids_sysGroup[] = {1,3,6,1,2,1,1};
  49. static UINT ids_ifGroup[] = {1,3,6,1,2,1,2};
  50. static UINT ids_ipGroup[] = {1,3,6,1,2,1,4};
  51. static UINT ids_icmpGroup[] = {1,3,6,1,2,1,5};
  52. static UINT ids_tcpGroup[] = {1,3,6,1,2,1,6};
  53. static UINT ids_udpGroup[] = {1,3,6,1,2,1,7};
  54. static UINT ids_ipv6Group[] = {1,3,6,1,2,1,55,1};
  55. //
  56. // Now the members of each of these groups themselves
  57. //
  58. //
  59. // Systems group
  60. //
  61. static UINT ids_sysDescr[] = {1, 0};
  62. static UINT ids_sysObjectID[] = {2, 0};
  63. static UINT ids_sysUpTime[] = {3, 0};
  64. static UINT ids_sysContact[] = {4, 0};
  65. static UINT ids_sysName[] = {5, 0};
  66. static UINT ids_sysLocation[] = {6, 0};
  67. static UINT ids_sysServices[] = {7, 0};
  68. //
  69. // Interfaces group
  70. //
  71. static UINT ids_ifNumber[] = {1, 0};
  72. static UINT ids_ifTable[] = {2};
  73. //
  74. // The IF Table is composed of IF Entries which are indexed by the IfIndex
  75. //
  76. static UINT ids_ifEntry[] = {2, 1};
  77. //
  78. // The entry is a sequence of:
  79. //
  80. static UINT ids_ifIndex[] = {2, 1, 1};
  81. static UINT ids_ifDescr[] = {2, 1, 2};
  82. static UINT ids_ifType[] = {2, 1, 3};
  83. static UINT ids_ifMtu[] = {2, 1, 4};
  84. static UINT ids_ifSpeed[] = {2, 1, 5};
  85. static UINT ids_ifPhysAddress[] = {2, 1, 6};
  86. static UINT ids_ifAdminStatus[] = {2, 1, 7};
  87. static UINT ids_ifOperStatus[] = {2, 1, 8};
  88. static UINT ids_ifLastChange[] = {2, 1, 9};
  89. static UINT ids_ifInOctets[] = {2, 1, 10};
  90. static UINT ids_ifInUcastPkts[] = {2, 1, 11};
  91. static UINT ids_ifInNUcastPkts[] = {2, 1, 12};
  92. static UINT ids_ifInDiscards[] = {2, 1, 13};
  93. static UINT ids_ifInErrors[] = {2, 1, 14};
  94. static UINT ids_ifInUnknownProtos[] = {2, 1, 15};
  95. static UINT ids_ifOutOctets[] = {2, 1, 16};
  96. static UINT ids_ifOutUcastPkts[] = {2, 1, 17};
  97. static UINT ids_ifOutNUcastPkts[] = {2, 1, 18};
  98. static UINT ids_ifOutDiscards[] = {2, 1, 19};
  99. static UINT ids_ifOutErrors[] = {2, 1, 20};
  100. static UINT ids_ifOutQLen[] = {2, 1, 21};
  101. static UINT ids_ifSpecific[] = {2, 1, 22};
  102. //
  103. // The IP Group
  104. //
  105. static UINT ids_ipForwarding[] = {1, 0};
  106. static UINT ids_ipDefaultTTL[] = {2, 0};
  107. static UINT ids_ipInReceives[] = {3, 0};
  108. static UINT ids_ipInHdrErrors[] = {4, 0};
  109. static UINT ids_ipInAddrErrors[] = {5, 0};
  110. static UINT ids_ipForwDatagrams[] = {6, 0};
  111. static UINT ids_ipInUnknownProtos[] = {7, 0};
  112. static UINT ids_ipInDiscards[] = {8, 0};
  113. static UINT ids_ipInDelivers[] = {9, 0};
  114. static UINT ids_ipOutRequests[] = {10, 0};
  115. static UINT ids_ipOutDiscards[] = {11, 0};
  116. static UINT ids_ipOutNoRoutes[] = {12, 0};
  117. static UINT ids_ipReasmTimeout[] = {13, 0};
  118. static UINT ids_ipReasmReqds[] = {14, 0};
  119. static UINT ids_ipReasmOKs[] = {15, 0};
  120. static UINT ids_ipReasmFails[] = {16, 0};
  121. static UINT ids_ipFragOKs[] = {17, 0};
  122. static UINT ids_ipFragFails[] = {18, 0};
  123. static UINT ids_ipFragCreates[] = {19, 0};
  124. static UINT ids_ipRoutingDiscards[] = {23, 0};
  125. //
  126. // There are a three tables that fit in between IpFragCreates and
  127. // IpRoutingDiscards, but there are put after the scalars for clarity
  128. //
  129. static UINT ids_ipAddrTable[] = {20};
  130. static UINT ids_ipRouteTable[] = {21};
  131. static UINT ids_ipNetToMediaTable[] = {22};
  132. //
  133. // The IP Address Table is composed of IP Address Entries which are
  134. // indexed by IpAdEntAddr
  135. //
  136. static UINT ids_ipAddrEntry[] = {20, 1};
  137. //
  138. // The entry is a sequence of:
  139. //
  140. static UINT ids_ipAdEntAddr[] = {20, 1, 1};
  141. static UINT ids_ipAdEntIfIndex[] = {20, 1, 2};
  142. static UINT ids_ipAdEntNetMask[] = {20, 1, 3};
  143. static UINT ids_ipAdEntBcastAddr[] = {20, 1, 4};
  144. static UINT ids_ipAdEntReasmMaxSize[] = {20, 1, 5};
  145. //
  146. // The IP Route Table is composed of IP Route Entries which are
  147. // indexed by IpRouteDest
  148. //
  149. static UINT ids_ipRouteEntry[] = {21, 1};
  150. //
  151. // The entry is a sequence of:
  152. //
  153. static UINT ids_ipRouteDest[] = {21, 1, 1};
  154. static UINT ids_ipRouteIfIndex[] = {21, 1, 2};
  155. static UINT ids_ipRouteMetric1[] = {21, 1, 3};
  156. static UINT ids_ipRouteMetric2[] = {21, 1, 4};
  157. static UINT ids_ipRouteMetric3[] = {21, 1, 5};
  158. static UINT ids_ipRouteMetric4[] = {21, 1, 6};
  159. static UINT ids_ipRouteNextHop[] = {21, 1, 7};
  160. static UINT ids_ipRouteType[] = {21, 1, 8};
  161. static UINT ids_ipRouteProto[] = {21, 1, 9};
  162. static UINT ids_ipRouteAge[] = {21, 1, 10};
  163. static UINT ids_ipRouteMask[] = {21, 1, 11};
  164. static UINT ids_ipRouteMetric5[] = {21, 1, 12};
  165. static UINT ids_ipRouteInfo[] = {21, 1, 13};
  166. //
  167. // The IP Net To Media Table is composed of IP Net To Media Entries which are
  168. // indexed by IpNetToMediaIfIndex and IpNetToMediaNetAddress
  169. //
  170. static UINT ids_ipNetToMediaEntry[] = {22, 1};
  171. //
  172. // The entry is a sequence of:
  173. //
  174. static UINT ids_ipNetToMediaIfIndex[] = {22, 1, 1};
  175. static UINT ids_ipNetToMediaPhysAddress[] = {22, 1, 2};
  176. static UINT ids_ipNetToMediaNetAddress[] = {22, 1, 3};
  177. static UINT ids_ipNetToMediaType[] = {22, 1, 4};
  178. //
  179. // Then there is the IP Forward group which is one scalar and one table. It
  180. // comes at the end of the IP group and is really a sub group of the IP Group
  181. //
  182. static UINT ids_ipForwardGroup[] = {24};
  183. static UINT ids_ipForwardNumber[] = {24, 1, 0};
  184. static UINT ids_ipForwardTable[] = {24, 2};
  185. //
  186. // The IP Forward Table is composed of IP Forward Entries which are
  187. // indexed by IpForwardDest, IpForwardProto, IpForwardPolicy and
  188. // IpForwardNextHop
  189. //
  190. static UINT ids_ipForwardEntry[] = {24, 2, 1};
  191. //
  192. // The entry is a sequence of:
  193. //
  194. static UINT ids_ipForwardDest[] = {24, 2, 1, 1};
  195. static UINT ids_ipForwardMask[] = {24, 2, 1, 2};
  196. static UINT ids_ipForwardPolicy[] = {24, 2, 1, 3};
  197. static UINT ids_ipForwardNextHop[] = {24, 2, 1, 4};
  198. static UINT ids_ipForwardIfIndex[] = {24, 2, 1, 5};
  199. static UINT ids_ipForwardType[] = {24, 2, 1, 6};
  200. static UINT ids_ipForwardProto[] = {24, 2, 1, 7};
  201. static UINT ids_ipForwardAge[] = {24, 2, 1, 8};
  202. static UINT ids_ipForwardInfo[] = {24, 2, 1, 9};
  203. static UINT ids_ipForwardNextHopAS[] = {24, 2, 1, 10};
  204. static UINT ids_ipForwardMetric1[] = {24, 2, 1, 11};
  205. static UINT ids_ipForwardMetric2[] = {24, 2, 1, 12};
  206. static UINT ids_ipForwardMetric3[] = {24, 2, 1, 13};
  207. static UINT ids_ipForwardMetric4[] = {24, 2, 1, 14};
  208. static UINT ids_ipForwardMetric5[] = {24, 2, 1, 15};
  209. //
  210. // The IPv6 Group (RFC 2465)
  211. //
  212. static UINT ids_ipv6Forwarding[] = {1, 0};
  213. static UINT ids_ipv6DefaultHopLimit[] = {2, 0};
  214. static UINT ids_ipv6Interfaces[] = {3, 0};
  215. static UINT ids_ipv6IfTableLastChange[] = {4, 0};
  216. static UINT ids_ipv6RouteNumber[] = {9, 0};
  217. static UINT ids_ipv6DiscardedRoutes[] = {10, 0};
  218. static UINT ids_ipv6IfTable[] = {5};
  219. static UINT ids_ipv6IfEntry[] = {5, 1};
  220. static UINT ids_ipv6IfIndex[] = {5, 1, 1};
  221. static UINT ids_ipv6IfDescr[] = {5, 1, 2};
  222. static UINT ids_ipv6IfLowerLayer[] = {5, 1, 3};
  223. static UINT ids_ipv6IfEffectiveMtu[] = {5, 1, 4};
  224. static UINT ids_ipv6IfReasmMaxSize[] = {5, 1, 5};
  225. static UINT ids_ipv6IfIdentifier[] = {5, 1, 6};
  226. static UINT ids_ipv6IfIdentifierLength[] = {5, 1, 7};
  227. static UINT ids_ipv6IfPhysicalAddress[] = {5, 1, 8};
  228. static UINT ids_ipv6IfAdminStatus[] = {5, 1, 9};
  229. static UINT ids_ipv6IfOperStatus[] = {5, 1,10};
  230. static UINT ids_ipv6IfLastChange[] = {5, 1,11};
  231. static UINT ids_ipv6IfStatsTable[] = {6};
  232. static UINT ids_ipv6IfStatsEntry[] = {6, 1};
  233. static UINT ids_ipv6IfStatsInReceives[] = {6, 1, 1};
  234. static UINT ids_ipv6IfStatsInHdrErrors[] = {6, 1, 2};
  235. static UINT ids_ipv6IfStatsInTooBigErrors[] = {6, 1, 3};
  236. static UINT ids_ipv6IfStatsInNoRoutes[] = {6, 1, 4};
  237. static UINT ids_ipv6IfStatsInAddrErrors[] = {6, 1, 5};
  238. static UINT ids_ipv6IfStatsInUnknownProtos[] = {6, 1, 6};
  239. static UINT ids_ipv6IfStatsInTruncatedPkts[] = {6, 1, 7};
  240. static UINT ids_ipv6IfStatsInDiscards[] = {6, 1, 8};
  241. static UINT ids_ipv6IfStatsInDelivers[] = {6, 1, 9};
  242. static UINT ids_ipv6IfStatsOutForwDatagrams[] = {6, 1,10};
  243. static UINT ids_ipv6IfStatsOutRequests[] = {6, 1,11};
  244. static UINT ids_ipv6IfStatsOutDiscards[] = {6, 1,12};
  245. static UINT ids_ipv6IfStatsOutFragOKs[] = {6, 1,13};
  246. static UINT ids_ipv6IfStatsOutFragFails[] = {6, 1,14};
  247. static UINT ids_ipv6IfStatsOutFragCreates[] = {6, 1,15};
  248. static UINT ids_ipv6IfStatsReasmReqds[] = {6, 1,16};
  249. static UINT ids_ipv6IfStatsReasmOKs[] = {6, 1,17};
  250. static UINT ids_ipv6IfStatsReasmFails[] = {6, 1,18};
  251. static UINT ids_ipv6IfStatsInMcastPkts[] = {6, 1,19};
  252. static UINT ids_ipv6IfStatsOutMcastPkts[] = {6, 1,20};
  253. static UINT ids_ipv6AddrPrefixTable[] = {7};
  254. static UINT ids_ipv6AddrPrefixEntry[] = {7, 1};
  255. static UINT ids_ipv6AddrPrefix[] = {7, 1, 1};
  256. static UINT ids_ipv6AddrPrefixLength[] = {7, 1, 2};
  257. static UINT ids_ipv6AddrPrefixOnLinkFlag[] = {7, 1, 3};
  258. static UINT ids_ipv6AddrPrefixAutonomousFlag[] = {7, 1, 4};
  259. static UINT ids_ipv6AddrPrefixAdvPreferredLifetime[] = {7, 1, 5};
  260. static UINT ids_ipv6AddrPrefixAdvValidLifetime[] = {7, 1, 6};
  261. static UINT ids_ipv6AddrTable[] = {8};
  262. static UINT ids_ipv6AddrEntry[] = {8, 1};
  263. static UINT ids_ipv6AddrAddress[] = {8, 1, 1};
  264. static UINT ids_ipv6AddrPfxLength[] = {8, 1, 2};
  265. static UINT ids_ipv6AddrType[] = {8, 1, 3};
  266. static UINT ids_ipv6AddrAnycastFlag[] = {8, 1, 4};
  267. static UINT ids_ipv6AddrStatus[] = {8, 1, 5};
  268. static UINT ids_ipv6RouteTable[] = {11};
  269. static UINT ids_ipv6RouteEntry[] = {11, 1};
  270. static UINT ids_ipv6RouteDest[] = {11, 1, 1};
  271. static UINT ids_ipv6RoutePfxLength[] = {11, 1, 2};
  272. static UINT ids_ipv6RouteIndex[] = {11, 1, 3};
  273. static UINT ids_ipv6RouteIfIndex[] = {11, 1, 4};
  274. static UINT ids_ipv6RouteNextHop[] = {11, 1, 5};
  275. static UINT ids_ipv6RouteType[] = {11, 1, 6};
  276. static UINT ids_ipv6RouteProtocol[] = {11, 1, 7};
  277. static UINT ids_ipv6RoutePolicy[] = {11, 1, 8};
  278. static UINT ids_ipv6RouteAge[] = {11, 1, 9};
  279. static UINT ids_ipv6RouteNextHopRDI[] = {11, 1,10};
  280. static UINT ids_ipv6RouteMetric[] = {11, 1,11};
  281. static UINT ids_ipv6RouteWeight[] = {11, 1,12};
  282. static UINT ids_ipv6RouteInfo[] = {11, 1,13};
  283. static UINT ids_ipv6RouteValid[] = {11, 1,14};
  284. static UINT ids_ipv6NetToMediaTable[] = {12};
  285. static UINT ids_ipv6NetToMediaEntry[] = {12, 1};
  286. static UINT ids_ipv6NetToMediaNetAddress[] = {12, 1, 1};
  287. static UINT ids_ipv6NetToMediaPhysAddress[] = {12, 1, 2};
  288. static UINT ids_ipv6NetToMediaType[] = {12, 1, 3};
  289. static UINT ids_ipv6NetToMediaState[] = {12, 1, 4};
  290. static UINT ids_ipv6NetToMediaLastUpdated[] = {12, 1, 5};
  291. static UINT ids_ipv6NetToMediaValid[] = {12, 1, 6};
  292. //
  293. // The ICMP group. It is just a bunch of scalars. All are READ-ONLY
  294. //
  295. static UINT ids_icmpInMsgs[] = {1, 0};
  296. static UINT ids_icmpInErrors[] = {2, 0};
  297. static UINT ids_icmpInDestUnreachs[] = {3, 0};
  298. static UINT ids_icmpInTimeExcds[] = {4, 0};
  299. static UINT ids_icmpInParmProbs[] = {5, 0};
  300. static UINT ids_icmpInSrcQuenchs[] = {6, 0};
  301. static UINT ids_icmpInRedirects[] = {7, 0};
  302. static UINT ids_icmpInEchos[] = {8, 0};
  303. static UINT ids_icmpInEchoReps[] = {9, 0};
  304. static UINT ids_icmpInTimestamps[] = {10, 0};
  305. static UINT ids_icmpInTimestampReps[] = {11, 0};
  306. static UINT ids_icmpInAddrMasks[] = {12, 0};
  307. static UINT ids_icmpInAddrMaskReps[] = {13, 0};
  308. static UINT ids_icmpOutMsgs[] = {14, 0};
  309. static UINT ids_icmpOutErrors[] = {15, 0};
  310. static UINT ids_icmpOutDestUnreachs[] = {16, 0};
  311. static UINT ids_icmpOutTimeExcds[] = {17, 0};
  312. static UINT ids_icmpOutParmProbs[] = {18, 0};
  313. static UINT ids_icmpOutSrcQuenchs[] = {19, 0};
  314. static UINT ids_icmpOutRedirects[] = {20, 0};
  315. static UINT ids_icmpOutEchos[] = {21, 0};
  316. static UINT ids_icmpOutEchoReps[] = {22, 0};
  317. static UINT ids_icmpOutTimestamps[] = {23, 0};
  318. static UINT ids_icmpOutTimestampReps[] = {24, 0};
  319. static UINT ids_icmpOutAddrMasks[] = {25, 0};
  320. static UINT ids_icmpOutAddrMaskReps[] = {26, 0};
  321. static UINT ids_inetIcmpTable[] = {27};
  322. static UINT ids_inetIcmpEntry[] = {27, 1};
  323. static UINT ids_inetIcmpAFType[] = {27, 1, 1};
  324. static UINT ids_inetIcmpIfIndex[] = {27, 1, 2};
  325. static UINT ids_inetIcmpInMsgs[] = {27, 1, 3};
  326. static UINT ids_inetIcmpInErrors[] = {27, 1, 4};
  327. static UINT ids_inetIcmpOutMsgs[] = {27, 1, 5};
  328. static UINT ids_inetIcmpOutErrors[] = {27, 1, 6};
  329. static UINT ids_inetIcmpMsgTable[] = {28};
  330. static UINT ids_inetIcmpMsgEntry[] = {28, 1};
  331. static UINT ids_inetIcmpMsgAFType[] = {28, 1, 1};
  332. static UINT ids_inetIcmpMsgIfIndex[] = {28, 1, 2};
  333. static UINT ids_inetIcmpMsgType[] = {28, 1, 3};
  334. static UINT ids_inetIcmpMsgCode[] = {28, 1, 4};
  335. static UINT ids_inetIcmpMsgInPkts[] = {28, 1, 5};
  336. static UINT ids_inetIcmpMsgOutPkts[] = {28, 1, 6};
  337. //
  338. // The TCP group. It consists of some scalars (the TCP statistics) and the
  339. // TCP Connection table
  340. //
  341. static UINT ids_tcpRtoAlgorithm[] = {1, 0};
  342. static UINT ids_tcpRtoMin[] = {2, 0};
  343. static UINT ids_tcpRtoMax[] = {3, 0};
  344. static UINT ids_tcpMaxConn[] = {4, 0};
  345. static UINT ids_tcpActiveOpens[] = {5, 0};
  346. static UINT ids_tcpPassiveOpens[] = {6, 0};
  347. static UINT ids_tcpAttemptFails[] = {7, 0};
  348. static UINT ids_tcpEstabResets[] = {8, 0};
  349. static UINT ids_tcpCurrEstab[] = {9, 0};
  350. static UINT ids_tcpInSegs[] = {10, 0};
  351. static UINT ids_tcpOutSegs[] = {11, 0};
  352. static UINT ids_tcpRetransSegs[] = {12, 0};
  353. static UINT ids_tcpInErrs[] = {14, 0};
  354. static UINT ids_tcpOutRsts[] = {15, 0};
  355. //
  356. // The connection table fits between TcpRetransSegs and TcpInErrs
  357. //
  358. static UINT ids_tcpConnTable[] = {13};
  359. static UINT ids_tcpNewConnTable[] = {19};
  360. //
  361. // The TCP Connection Table is composed of TCP Connection Entries which are
  362. // indexed by TcpConnLocalAddress, TcpConnLocalPort, TcpConnRemAddress,
  363. // TcpConnRemPort
  364. //
  365. static UINT ids_tcpConnEntry[] = {13, 1};
  366. static UINT ids_tcpNewConnEntry[] = {19, 1};
  367. //
  368. // The entry is a sequence of:
  369. //
  370. static UINT ids_tcpConnState[] = {13, 1, 1};
  371. static UINT ids_tcpConnLocalAddress[] = {13, 1, 2};
  372. static UINT ids_tcpConnLocalPort[] = {13, 1, 3};
  373. static UINT ids_tcpConnRemAddress[] = {13, 1, 4};
  374. static UINT ids_tcpConnRemPort[] = {13, 1, 5};
  375. static UINT ids_tcpNewConnLocalAddressType[] = {19, 1, 1};
  376. static UINT ids_tcpNewConnLocalAddress[] = {19, 1, 2};
  377. static UINT ids_tcpNewConnLocalPort[] = {19, 1, 3};
  378. static UINT ids_tcpNewConnRemAddressType[] = {19, 1, 4};
  379. static UINT ids_tcpNewConnRemAddress[] = {19, 1, 5};
  380. static UINT ids_tcpNewConnRemPort[] = {19, 1, 6};
  381. static UINT ids_tcpNewConnState[] = {19, 1, 7};
  382. //
  383. // The UDP group. Like the TCP, scalar statistics and a Listener table
  384. //
  385. static UINT ids_udpInDatagrams[] = {1, 0};
  386. static UINT ids_udpNoPorts[] = {2, 0};
  387. static UINT ids_udpInErrors[] = {3, 0};
  388. static UINT ids_udpOutDatagrams[] = {4, 0};
  389. static UINT ids_udpTable[] = {5, 0};
  390. static UINT ids_udpListenerTable[] = {7, 0};
  391. //
  392. // The UDP Listener Table is composed of Udp Entries which are indexed by
  393. // UdpLocalAddress and UdpLocalPort
  394. //
  395. static UINT ids_udpEntry[] = {5, 1};
  396. static UINT ids_udpListenerEntry[] = {7, 1};
  397. //
  398. // The entry is a sequence of:
  399. //
  400. static UINT ids_udpLocalAddress[] = {5, 1, 1};
  401. static UINT ids_udpLocalPort[] = {5, 1, 2};
  402. static UINT ids_udpListenerLocalAddressType[] = {7, 1, 1};
  403. static UINT ids_udpListenerLocalAddress[] = {7, 1, 2};
  404. static UINT ids_udpListenerLocalPort[] = {7, 1, 3};
  405. SnmpMibEntry mib_sysGroup[] =
  406. {
  407. MIB_OCTETSTRING_L(sysDescr,0,255),
  408. MIB_OBJECTIDENTIFIER(sysObjectID),
  409. MIB_TIMETICKS(sysUpTime),
  410. MIB_OCTETSTRING_RW_L(sysContact,0,255),
  411. MIB_OCTETSTRING_RW_L(sysName,0,255),
  412. MIB_OCTETSTRING_RW_L(sysLocation,0,255),
  413. MIB_INTEGER_L(sysServices,0,127),
  414. MIB_END()
  415. };
  416. SnmpMibEntry mib_ifGroup[] =
  417. {
  418. MIB_INTEGER(ifNumber),
  419. MIB_TABLE_ROOT(ifTable),
  420. MIB_TABLE_ENTRY(ifEntry),
  421. MIB_INTEGER(ifIndex),
  422. MIB_DISPSTRING_L(ifDescr,0,255),
  423. MIB_INTEGER(ifType),
  424. MIB_INTEGER(ifMtu),
  425. MIB_GAUGE(ifSpeed),
  426. MIB_PHYSADDRESS(ifPhysAddress),
  427. MIB_INTEGER_RW(ifAdminStatus),
  428. MIB_INTEGER(ifOperStatus),
  429. MIB_TIMETICKS(ifLastChange),
  430. MIB_COUNTER(ifInOctets),
  431. MIB_COUNTER(ifInUcastPkts),
  432. MIB_COUNTER(ifInNUcastPkts),
  433. MIB_COUNTER(ifInDiscards),
  434. MIB_COUNTER(ifInErrors),
  435. MIB_COUNTER(ifInUnknownProtos),
  436. MIB_COUNTER(ifOutOctets),
  437. MIB_COUNTER(ifOutUcastPkts),
  438. MIB_COUNTER(ifOutNUcastPkts),
  439. MIB_COUNTER(ifOutDiscards),
  440. MIB_COUNTER(ifOutErrors),
  441. MIB_GAUGE(ifOutQLen),
  442. MIB_OBJECTIDENTIFIER(ifSpecific),
  443. MIB_END()
  444. };
  445. SnmpMibEntry mib_ipGroup[] =
  446. {
  447. MIB_INTEGER(ipForwarding),
  448. MIB_INTEGER_RW(ipDefaultTTL),
  449. MIB_COUNTER(ipInReceives),
  450. MIB_COUNTER(ipInHdrErrors),
  451. MIB_COUNTER(ipInAddrErrors),
  452. MIB_COUNTER(ipForwDatagrams),
  453. MIB_COUNTER(ipInUnknownProtos),
  454. MIB_COUNTER(ipInDiscards),
  455. MIB_COUNTER(ipInDelivers),
  456. MIB_COUNTER(ipOutRequests),
  457. MIB_COUNTER(ipOutDiscards),
  458. MIB_COUNTER(ipOutNoRoutes),
  459. MIB_INTEGER(ipReasmTimeout),
  460. MIB_COUNTER(ipReasmReqds),
  461. MIB_COUNTER(ipReasmOKs),
  462. MIB_COUNTER(ipReasmFails),
  463. MIB_COUNTER(ipFragOKs),
  464. MIB_COUNTER(ipFragFails),
  465. MIB_COUNTER(ipFragCreates),
  466. MIB_TABLE_ROOT(ipAddrTable),
  467. MIB_TABLE_ENTRY(ipAddrEntry),
  468. MIB_IPADDRESS(ipAdEntAddr),
  469. MIB_INTEGER(ipAdEntIfIndex),
  470. MIB_IPADDRESS(ipAdEntNetMask),
  471. MIB_INTEGER(ipAdEntBcastAddr),
  472. MIB_INTEGER_L(ipAdEntReasmMaxSize,0,65535),
  473. MIB_TABLE_ROOT(ipRouteTable),
  474. MIB_TABLE_ENTRY(ipRouteEntry),
  475. MIB_IPADDRESS_RW(ipRouteDest),
  476. MIB_INTEGER_RW(ipRouteIfIndex),
  477. MIB_INTEGER_RW(ipRouteMetric1),
  478. MIB_INTEGER_RW(ipRouteMetric2),
  479. MIB_INTEGER_RW(ipRouteMetric3),
  480. MIB_INTEGER_RW(ipRouteMetric4),
  481. MIB_IPADDRESS_RW(ipRouteNextHop),
  482. MIB_INTEGER_RW(ipRouteType),
  483. MIB_INTEGER(ipRouteProto),
  484. MIB_INTEGER_RW(ipRouteAge),
  485. MIB_IPADDRESS_RW(ipRouteMask),
  486. MIB_INTEGER_RW(ipRouteMetric5),
  487. MIB_OBJECTIDENTIFIER(ipRouteInfo),
  488. MIB_TABLE_ROOT(ipNetToMediaTable),
  489. MIB_TABLE_ENTRY(ipNetToMediaEntry),
  490. MIB_INTEGER_RW(ipNetToMediaIfIndex),
  491. MIB_PHYSADDRESS_RW(ipNetToMediaPhysAddress),
  492. MIB_IPADDRESS_RW(ipNetToMediaNetAddress),
  493. MIB_INTEGER_RW(ipNetToMediaType),
  494. MIB_COUNTER(ipRoutingDiscards),
  495. MIB_GROUP(ipForwardGroup),
  496. MIB_GAUGE(ipForwardNumber),
  497. MIB_TABLE_ROOT(ipForwardTable),
  498. MIB_TABLE_ENTRY(ipForwardEntry),
  499. MIB_IPADDRESS(ipForwardDest),
  500. MIB_IPADDRESS_RW(ipForwardMask),
  501. MIB_INTEGER(ipForwardPolicy),
  502. MIB_IPADDRESS(ipForwardNextHop),
  503. MIB_INTEGER_RW(ipForwardIfIndex),
  504. MIB_INTEGER_RW(ipForwardType),
  505. MIB_INTEGER(ipForwardProto),
  506. MIB_INTEGER(ipForwardAge),
  507. MIB_OBJECTIDENTIFIER(ipForwardInfo),
  508. MIB_INTEGER_RW(ipForwardNextHopAS),
  509. MIB_INTEGER_RW(ipForwardMetric1),
  510. MIB_INTEGER_RW(ipForwardMetric2),
  511. MIB_INTEGER_RW(ipForwardMetric3),
  512. MIB_INTEGER_RW(ipForwardMetric4),
  513. MIB_INTEGER_RW(ipForwardMetric5),
  514. MIB_END()
  515. };
  516. SnmpMibEntry mib_icmpGroup[] =
  517. {
  518. MIB_COUNTER(icmpInMsgs),
  519. MIB_COUNTER(icmpInErrors),
  520. MIB_COUNTER(icmpInDestUnreachs),
  521. MIB_COUNTER(icmpInTimeExcds),
  522. MIB_COUNTER(icmpInParmProbs),
  523. MIB_COUNTER(icmpInSrcQuenchs),
  524. MIB_COUNTER(icmpInRedirects),
  525. MIB_COUNTER(icmpInEchos),
  526. MIB_COUNTER(icmpInEchoReps),
  527. MIB_COUNTER(icmpInTimestamps),
  528. MIB_COUNTER(icmpInTimestampReps),
  529. MIB_COUNTER(icmpInAddrMasks),
  530. MIB_COUNTER(icmpInAddrMaskReps),
  531. MIB_COUNTER(icmpOutMsgs),
  532. MIB_COUNTER(icmpOutErrors),
  533. MIB_COUNTER(icmpOutDestUnreachs),
  534. MIB_COUNTER(icmpOutTimeExcds),
  535. MIB_COUNTER(icmpOutParmProbs),
  536. MIB_COUNTER(icmpOutSrcQuenchs),
  537. MIB_COUNTER(icmpOutRedirects),
  538. MIB_COUNTER(icmpOutEchos),
  539. MIB_COUNTER(icmpOutEchoReps),
  540. MIB_COUNTER(icmpOutTimestamps),
  541. MIB_COUNTER(icmpOutTimestampReps),
  542. MIB_COUNTER(icmpOutAddrMasks),
  543. MIB_COUNTER(icmpOutAddrMaskReps),
  544. MIB_TABLE_ROOT(inetIcmpTable),
  545. MIB_TABLE_ENTRY(inetIcmpEntry),
  546. MIB_INTEGER_NA(inetIcmpAFType),
  547. MIB_INTEGER_NA(inetIcmpIfIndex),
  548. MIB_COUNTER(inetIcmpInMsgs),
  549. MIB_COUNTER(inetIcmpInErrors),
  550. MIB_COUNTER(inetIcmpOutMsgs),
  551. MIB_COUNTER(inetIcmpOutErrors),
  552. MIB_TABLE_ROOT(inetIcmpMsgTable),
  553. MIB_TABLE_ENTRY(inetIcmpMsgEntry),
  554. MIB_INTEGER_NA(inetIcmpMsgAFType),
  555. MIB_INTEGER_NA(inetIcmpMsgIfIndex),
  556. MIB_INTEGER_NA(inetIcmpMsgType),
  557. MIB_INTEGER_NA(inetIcmpMsgCode),
  558. MIB_COUNTER(inetIcmpMsgInPkts),
  559. MIB_COUNTER(inetIcmpMsgOutPkts),
  560. MIB_END()
  561. };
  562. SnmpMibEntry mib_tcpGroup[] =
  563. {
  564. MIB_INTEGER(tcpRtoAlgorithm),
  565. MIB_INTEGER(tcpRtoMin),
  566. MIB_INTEGER(tcpRtoMax),
  567. MIB_INTEGER(tcpMaxConn),
  568. MIB_COUNTER(tcpActiveOpens),
  569. MIB_COUNTER(tcpPassiveOpens),
  570. MIB_COUNTER(tcpAttemptFails),
  571. MIB_COUNTER(tcpEstabResets),
  572. MIB_GAUGE(tcpCurrEstab),
  573. MIB_COUNTER(tcpInSegs),
  574. MIB_COUNTER(tcpOutSegs),
  575. MIB_COUNTER(tcpRetransSegs),
  576. MIB_TABLE_ROOT(tcpConnTable),
  577. MIB_TABLE_ENTRY(tcpConnEntry),
  578. MIB_INTEGER_RW(tcpConnState),
  579. MIB_IPADDRESS(tcpConnLocalAddress),
  580. MIB_INTEGER_L(tcpConnLocalPort,0,65535),
  581. MIB_IPADDRESS(tcpConnRemAddress),
  582. MIB_INTEGER_L(tcpConnRemPort,0,65535),
  583. MIB_COUNTER(tcpInErrs),
  584. MIB_COUNTER(tcpOutRsts),
  585. // skips some oids here
  586. MIB_TABLE_ROOT(tcpNewConnTable),
  587. MIB_TABLE_ENTRY(tcpNewConnEntry),
  588. MIB_INTEGER_NA(tcpNewConnLocalAddressType),
  589. MIB_OCTETSTRING_NA(tcpNewConnLocalAddress),
  590. MIB_INTEGER_NA_L(tcpNewConnLocalPort,0,65535),
  591. MIB_INTEGER_NA(tcpNewConnRemAddressType),
  592. MIB_OCTETSTRING_NA(tcpNewConnRemAddress),
  593. MIB_INTEGER_NA_L(tcpNewConnRemPort,0,65535),
  594. MIB_INTEGER_RW(tcpNewConnState),
  595. MIB_END()
  596. };
  597. SnmpMibEntry mib_udpGroup[] =
  598. {
  599. MIB_COUNTER(udpInDatagrams),
  600. MIB_COUNTER(udpNoPorts),
  601. MIB_COUNTER(udpInErrors),
  602. MIB_COUNTER(udpOutDatagrams),
  603. MIB_TABLE_ROOT(udpTable),
  604. MIB_TABLE_ENTRY(udpEntry),
  605. MIB_IPADDRESS(udpLocalAddress),
  606. MIB_INTEGER_L(udpLocalPort,0,65535),
  607. // ipv6UdpTable goes here, but is obsolete
  608. MIB_TABLE_ROOT(udpListenerTable),
  609. MIB_TABLE_ENTRY(udpListenerEntry),
  610. MIB_INTEGER_NA(udpListenerLocalAddressType),
  611. MIB_OCTETSTRING_NA(udpListenerLocalAddress),
  612. MIB_UNSIGNED32_L(udpListenerLocalPort,0,65535),
  613. MIB_END()
  614. };
  615. //
  616. // IPv6 MIB (RFC 2465)
  617. //
  618. SnmpMibEntry mib_ipv6Group[] =
  619. {
  620. MIB_INTEGER(ipv6Forwarding),
  621. MIB_INTEGER(ipv6DefaultHopLimit),
  622. MIB_UNSIGNED32(ipv6Interfaces),
  623. MIB_TIMETICKS(ipv6IfTableLastChange),
  624. MIB_TABLE_ROOT(ipv6IfTable),
  625. MIB_TABLE_ENTRY(ipv6IfEntry),
  626. MIB_INTEGER_NA(ipv6IfIndex),
  627. MIB_DISPSTRING_L(ipv6IfDescr,0,255),
  628. MIB_OBJECTIDENTIFIER(ipv6IfLowerLayer),
  629. MIB_UNSIGNED32(ipv6IfEffectiveMtu),
  630. MIB_UNSIGNED32(ipv6IfReasmMaxSize),
  631. MIB_OCTETSTRING(ipv6IfIdentifier),
  632. MIB_INTEGER(ipv6IfIdentifierLength),
  633. MIB_PHYSADDRESS(ipv6IfPhysicalAddress),
  634. MIB_INTEGER(ipv6IfAdminStatus),
  635. MIB_INTEGER(ipv6IfOperStatus),
  636. MIB_TIMETICKS(ipv6IfLastChange),
  637. MIB_TABLE_ROOT(ipv6IfStatsTable),
  638. MIB_TABLE_ENTRY(ipv6IfStatsEntry),
  639. MIB_INTEGER_NA(ipv6IfIndex),
  640. MIB_COUNTER(ipv6IfStatsInReceives),
  641. MIB_COUNTER(ipv6IfStatsInHdrErrors),
  642. MIB_COUNTER(ipv6IfStatsInTooBigErrors),
  643. MIB_COUNTER(ipv6IfStatsInNoRoutes),
  644. MIB_COUNTER(ipv6IfStatsInAddrErrors),
  645. MIB_COUNTER(ipv6IfStatsInUnknownProtos),
  646. MIB_COUNTER(ipv6IfStatsInTruncatedPkts),
  647. MIB_COUNTER(ipv6IfStatsInDiscards),
  648. MIB_COUNTER(ipv6IfStatsInDelivers),
  649. MIB_COUNTER(ipv6IfStatsOutForwDatagrams),
  650. MIB_COUNTER(ipv6IfStatsOutRequests),
  651. MIB_COUNTER(ipv6IfStatsOutDiscards),
  652. MIB_COUNTER(ipv6IfStatsOutFragOKs),
  653. MIB_COUNTER(ipv6IfStatsOutFragFails),
  654. MIB_COUNTER(ipv6IfStatsOutFragCreates),
  655. MIB_COUNTER(ipv6IfStatsReasmReqds),
  656. MIB_COUNTER(ipv6IfStatsReasmOKs),
  657. MIB_COUNTER(ipv6IfStatsReasmFails),
  658. MIB_COUNTER(ipv6IfStatsInMcastPkts),
  659. MIB_COUNTER(ipv6IfStatsOutMcastPkts),
  660. MIB_TABLE_ROOT(ipv6AddrPrefixTable),
  661. MIB_TABLE_ENTRY(ipv6AddrPrefixEntry),
  662. MIB_INTEGER_NA(ipv6IfIndex),
  663. MIB_OCTETSTRING_NA(ipv6AddrPrefix),
  664. MIB_INTEGER_NA(ipv6AddrPrefixLength),
  665. MIB_INTEGER(ipv6AddrPrefixOnLinkFlag),
  666. MIB_INTEGER(ipv6AddrPrefixAutonomousFlag),
  667. MIB_UNSIGNED32(ipv6AddrPrefixAdvPreferredLifetime),
  668. MIB_UNSIGNED32(ipv6AddrPrefixAdvValidLifetime),
  669. MIB_TABLE_ROOT(ipv6AddrTable),
  670. MIB_TABLE_ENTRY(ipv6AddrEntry),
  671. MIB_INTEGER_NA(ipv6IfIndex),
  672. MIB_OCTETSTRING_NA(ipv6AddrAddress),
  673. MIB_INTEGER(ipv6AddrPfxLength),
  674. MIB_INTEGER(ipv6AddrType),
  675. MIB_INTEGER(ipv6AddrAnycastFlag),
  676. MIB_INTEGER(ipv6AddrStatus),
  677. MIB_GAUGE(ipv6RouteNumber),
  678. MIB_COUNTER(ipv6DiscardedRoutes),
  679. MIB_TABLE_ROOT(ipv6RouteTable),
  680. MIB_TABLE_ENTRY(ipv6RouteEntry),
  681. MIB_OCTETSTRING_NA(ipv6RouteDest),
  682. MIB_INTEGER_NA(ipv6RoutePfxLength),
  683. MIB_INTEGER_NA(ipv6RouteIndex),
  684. MIB_INTEGER(ipv6RouteIfIndex),
  685. MIB_OCTETSTRING(ipv6RouteNextHop),
  686. MIB_INTEGER(ipv6RouteType),
  687. MIB_INTEGER(ipv6RouteProtocol),
  688. MIB_INTEGER(ipv6RoutePolicy),
  689. MIB_UNSIGNED32(ipv6RouteAge),
  690. MIB_UNSIGNED32(ipv6RouteNextHopRDI),
  691. MIB_UNSIGNED32(ipv6RouteMetric),
  692. MIB_UNSIGNED32(ipv6RouteWeight),
  693. MIB_OBJECTIDENTIFIER(ipv6RouteInfo),
  694. MIB_INTEGER(ipv6RouteValid),
  695. MIB_TABLE_ROOT(ipv6NetToMediaTable),
  696. MIB_TABLE_ENTRY(ipv6NetToMediaEntry),
  697. MIB_INTEGER_NA(ipv6IfIndex),
  698. MIB_OCTETSTRING_NA(ipv6NetToMediaNetAddress),
  699. MIB_PHYSADDRESS(ipv6NetToMediaPhysAddress),
  700. MIB_INTEGER(ipv6NetToMediaType),
  701. MIB_INTEGER(ipv6NetToMediaState),
  702. MIB_TIMETICKS(ipv6NetToMediaLastUpdated),
  703. MIB_INTEGER(ipv6NetToMediaValid),
  704. MIB_END()
  705. };
  706. //
  707. // The list of the out-of-order table indices
  708. //
  709. SnmpMibEntry * pi_ipNetToMediaEntry[] = {
  710. MIB_ENTRY_PTR(ipGroup, ipNetToMediaIfIndex),
  711. MIB_ENTRY_PTR(ipGroup, ipNetToMediaNetAddress)
  712. };
  713. SnmpMibEntry * pi_ipForwardEntry[] = {
  714. MIB_ENTRY_PTR(ipGroup, ipForwardDest),
  715. MIB_ENTRY_PTR(ipGroup, ipForwardProto),
  716. MIB_ENTRY_PTR(ipGroup, ipForwardPolicy),
  717. MIB_ENTRY_PTR(ipGroup, ipForwardNextHop)
  718. };
  719. SnmpMibEntry * pi_tcpConnEntry[] = {
  720. MIB_ENTRY_PTR(tcpGroup, tcpConnLocalAddress),
  721. MIB_ENTRY_PTR(tcpGroup, tcpConnLocalPort),
  722. MIB_ENTRY_PTR(tcpGroup, tcpConnRemAddress),
  723. MIB_ENTRY_PTR(tcpGroup, tcpConnRemPort)
  724. };
  725. //
  726. // The list of the tables supported by the sub agent
  727. //
  728. SnmpMibTable tbl_ifGroup[] =
  729. {
  730. MIB_TABLE(ifGroup, ifEntry, NULL)
  731. };
  732. SnmpMibTable tbl_ipGroup[] =
  733. {
  734. MIB_TABLE(ipGroup, ipAddrEntry, NULL),
  735. MIB_TABLE(ipGroup, ipRouteEntry, NULL),
  736. MIB_TABLE(ipGroup, ipNetToMediaEntry, pi_ipNetToMediaEntry),
  737. MIB_TABLE(ipGroup, ipForwardEntry, pi_ipForwardEntry)
  738. };
  739. SnmpMibTable tbl_icmpGroup[] =
  740. {
  741. MIB_TABLE(icmpGroup, inetIcmpEntry, NULL),
  742. MIB_TABLE(icmpGroup, inetIcmpMsgEntry,NULL)
  743. };
  744. SnmpMibTable tbl_tcpGroup[] =
  745. {
  746. MIB_TABLE(tcpGroup, tcpConnEntry, pi_tcpConnEntry),
  747. MIB_TABLE(tcpGroup, tcpNewConnEntry, NULL)
  748. };
  749. SnmpMibTable tbl_udpGroup[] =
  750. {
  751. MIB_TABLE(udpGroup, udpEntry, NULL),
  752. MIB_TABLE(udpGroup, udpListenerEntry, NULL)
  753. };
  754. SnmpMibTable tbl_ipv6Group[] =
  755. {
  756. MIB_TABLE(ipv6Group, ipv6IfEntry, NULL),
  757. MIB_TABLE(ipv6Group, ipv6IfStatsEntry, NULL),
  758. MIB_TABLE(ipv6Group, ipv6AddrPrefixEntry, NULL),
  759. MIB_TABLE(ipv6Group, ipv6AddrEntry, NULL),
  760. MIB_TABLE(ipv6Group, ipv6RouteEntry, NULL),
  761. MIB_TABLE(ipv6Group, ipv6NetToMediaEntry, NULL),
  762. };
  763. //
  764. // This puts the mib_* and tbl_* entries together to create a complete view
  765. //
  766. SnmpMibView v_mib2[] = {{MIB_VERSION,
  767. MIB_VIEW_NORMAL,
  768. MIB_OID(ids_sysGroup),
  769. MIB_ENTRIES(mib_sysGroup),
  770. {NULL,0}},
  771. {MIB_VERSION,
  772. MIB_VIEW_NORMAL,
  773. MIB_OID(ids_ifGroup),
  774. MIB_ENTRIES(mib_ifGroup),
  775. MIB_TABLES(tbl_ifGroup)},
  776. {MIB_VERSION,
  777. MIB_VIEW_NORMAL,
  778. MIB_OID(ids_ipGroup),
  779. MIB_ENTRIES(mib_ipGroup),
  780. MIB_TABLES(tbl_ipGroup)},
  781. {MIB_VERSION,
  782. MIB_VIEW_NORMAL,
  783. MIB_OID(ids_icmpGroup),
  784. MIB_ENTRIES(mib_icmpGroup),
  785. MIB_TABLES(tbl_icmpGroup)},
  786. {MIB_VERSION,
  787. MIB_VIEW_NORMAL,
  788. MIB_OID(ids_tcpGroup),
  789. MIB_ENTRIES(mib_tcpGroup),
  790. MIB_TABLES(tbl_tcpGroup)},
  791. {MIB_VERSION,
  792. MIB_VIEW_NORMAL,
  793. MIB_OID(ids_udpGroup),
  794. MIB_ENTRIES(mib_udpGroup),
  795. MIB_TABLES(tbl_udpGroup)},
  796. {MIB_VERSION,
  797. MIB_VIEW_NORMAL,
  798. MIB_OID(ids_ipv6Group),
  799. MIB_ENTRIES(mib_ipv6Group),
  800. MIB_TABLES(tbl_ipv6Group)}};
  801. #endif