Source code of Windows XP (NT5)
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.

361 lines
13 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. routing\ip\mcastmib\defs.h
  5. Abstract:
  6. IP Multicast MIB instrumentation callbacks
  7. Revision history:
  8. Dave Thaler 4/17/98 Created
  9. --*/
  10. #ifndef _MIBFUNCS_H_
  11. #define _MIBFUNCS_H_
  12. ///////////////////////////////////////////////////////////////////////////////
  13. // //
  14. // global group //
  15. // //
  16. ///////////////////////////////////////////////////////////////////////////////
  17. UINT
  18. get_global(
  19. UINT actionId,
  20. AsnAny * objectArray,
  21. UINT * errorIndex
  22. );
  23. UINT
  24. set_global(
  25. UINT actionId,
  26. AsnAny * objectArray,
  27. UINT * errorIndex
  28. );
  29. typedef struct _buf_global {
  30. AsnAny ipMRouteEnable;
  31. } buf_global;
  32. #define gf_ipMRouteEnable get_global
  33. #define gb_ipMRouteEnable buf_global
  34. UINT
  35. get_ipMRouteEntry(
  36. UINT actionId,
  37. AsnAny * objectArray,
  38. UINT * errorIndex
  39. );
  40. typedef struct _buf_ipMRouteEntry {
  41. AsnAny ipMRouteGroup;
  42. AsnAny ipMRouteSource;
  43. AsnAny ipMRouteSourceMask;
  44. AsnAny ipMRouteUpstreamNeighbor;
  45. AsnAny ipMRouteInIfIndex;
  46. AsnAny ipMRouteUpTime;
  47. AsnAny ipMRouteExpiryTime;
  48. AsnAny ipMRoutePkts;
  49. AsnAny ipMRouteDifferentInIfPackets;
  50. AsnAny ipMRouteOctets;
  51. AsnAny ipMRouteProtocol;
  52. AsnAny ipMRouteRtProto;
  53. AsnAny ipMRouteRtAddress;
  54. AsnAny ipMRouteRtMask;
  55. // Buffers for IP address objects above
  56. DWORD dwIpMRouteGroupInfo;
  57. DWORD dwIpMRouteSourceInfo;
  58. DWORD dwIpMRouteSourceMaskInfo;
  59. DWORD dwIpMRouteUpstreamNeighborInfo;
  60. DWORD dwIpMRouteRtAddressInfo;
  61. DWORD dwIpMRouteRtMaskInfo;
  62. } buf_ipMRouteEntry;
  63. #define gf_ipMRouteUpstreamNeighbor get_ipMRouteEntry
  64. #define gf_ipMRouteInIfIndex get_ipMRouteEntry
  65. #define gf_ipMRouteUpTime get_ipMRouteEntry
  66. #define gf_ipMRouteExpiryTime get_ipMRouteEntry
  67. #define gf_ipMRoutePkts get_ipMRouteEntry
  68. #define gf_ipMRouteDifferentInIfPackets get_ipMRouteEntry
  69. #define gf_ipMRouteOctets get_ipMRouteEntry
  70. #define gf_ipMRouteProtocol get_ipMRouteEntry
  71. #define gf_ipMRouteRtProto get_ipMRouteEntry
  72. #define gf_ipMRouteRtAddress get_ipMRouteEntry
  73. #define gf_ipMRouteRtMask get_ipMRouteEntry
  74. #define gb_ipMRouteGroup buf_ipMRouteEntry
  75. #define gb_ipMRouteSource buf_ipMRouteEntry
  76. #define gb_ipMRouteSourceMask buf_ipMRouteEntry
  77. #define gb_ipMRouteUpstreamNeighbor buf_ipMRouteEntry
  78. #define gb_ipMRouteInIfIndex buf_ipMRouteEntry
  79. #define gb_ipMRouteUpTime buf_ipMRouteEntry
  80. #define gb_ipMRouteExpiryTime buf_ipMRouteEntry
  81. #define gb_ipMRoutePkts buf_ipMRouteEntry
  82. #define gb_ipMRouteDifferentInIfPackets buf_ipMRouteEntry
  83. #define gb_ipMRouteOctets buf_ipMRouteEntry
  84. #define gb_ipMRouteProtocol buf_ipMRouteEntry
  85. #define gb_ipMRouteRtProto buf_ipMRouteEntry
  86. #define gb_ipMRouteRtAddress buf_ipMRouteEntry
  87. #define gb_ipMRouteRtMask buf_ipMRouteEntry
  88. ///////////////////////////////////////////////////////////////////////////////
  89. // //
  90. // ipMRouteNextHopEntry table //
  91. // //
  92. ///////////////////////////////////////////////////////////////////////////////
  93. UINT
  94. get_ipMRouteNextHopEntry(
  95. UINT actionId,
  96. AsnAny * objectArray,
  97. UINT * errorIndex
  98. );
  99. UINT
  100. set_ipMRouteNextHopEntry(
  101. UINT actionId,
  102. AsnAny * objectArray,
  103. UINT * errorIndex
  104. );
  105. typedef struct _buf_ipMRouteNextHopEntry {
  106. AsnAny ipMRouteNextHopGroup;
  107. AsnAny ipMRouteNextHopSource;
  108. AsnAny ipMRouteNextHopSourceMask;
  109. AsnAny ipMRouteNextHopIfIndex;
  110. AsnAny ipMRouteNextHopAddress;
  111. AsnAny ipMRouteNextHopState;
  112. AsnAny ipMRouteNextHopUpTime;
  113. AsnAny ipMRouteNextHopExpiryTime;
  114. #ifdef CLOSEST_MEMBER_HOPS
  115. AsnAny ipMRouteNextHopClosestMemberHops;
  116. #endif
  117. AsnAny ipMRouteNextHopProtocol;
  118. AsnAny ipMRouteNextHopPkts;
  119. // Buffers for IP Address objects above
  120. DWORD dwIpMRouteNextHopGroupInfo;
  121. DWORD dwIpMRouteNextHopSourceInfo;
  122. DWORD dwIpMRouteNextHopSourceMaskInfo;
  123. DWORD dwIpMRouteNextHopAddressInfo;
  124. } buf_ipMRouteNextHopEntry;
  125. typedef struct _sav_ipMRouteNextHopEntry {
  126. AsnAny ipMRouteNextHopState;
  127. AsnAny ipMRouteNextHopUpTime;
  128. AsnAny ipMRouteNextHopExpiryTime;
  129. #ifdef CLOSEST_MEMBER_HOPS
  130. AsnAny ipMRouteNextHopClosestMemberHops;
  131. #endif
  132. AsnAny ipMRouteNextHopProtocol;
  133. AsnAny ipMRouteNextHopPkts;
  134. } sav_ipMRouteNextHopEntry;
  135. #define gf_ipMRouteNextHopState get_ipMRouteNextHopEntry
  136. #define gf_ipMRouteNextHopUpTime get_ipMRouteNextHopEntry
  137. #define gf_ipMRouteNextHopExpiryTime get_ipMRouteNextHopEntry
  138. #ifdef CLOSEST_MEMBER_HOPS
  139. #define gf_ipMRouteNextHopClosestMemberHops get_ipMRouteNextHopEntry
  140. #endif
  141. #define gf_ipMRouteNextHopProtocol get_ipMRouteNextHopEntry
  142. #define gf_ipMRouteNextHopPkts get_ipMRouteNextHopEntry
  143. #define gb_ipMRouteNextHopGroup buf_ipMRouteNextHopEntry
  144. #define gb_ipMRouteNextHopSource buf_ipMRouteNextHopEntry
  145. #define gb_ipMRouteNextHopSourceMask buf_ipMRouteNextHopEntry
  146. #define gb_ipMRouteNextHopIfIndex buf_ipMRouteNextHopEntry
  147. #define gb_ipMRouteNextHopAddress buf_ipMRouteNextHopEntry
  148. #define gb_ipMRouteNextHopState buf_ipMRouteNextHopEntry
  149. #define gb_ipMRouteNextHopUpTime buf_ipMRouteNextHopEntry
  150. #define gb_ipMRouteNextHopExpiryTime buf_ipMRouteNextHopEntry
  151. #ifdef CLOSEST_MEMBER_HOPS
  152. #define gb_ipMRouteNextHopClosestMemberHops buf_ipMRouteNextHopEntry
  153. #endif
  154. #define gb_ipMRouteNextHopProtocol buf_ipMRouteNextHopEntry
  155. #define gb_ipMRouteNextHopPkts buf_ipMRouteNextHopEntry
  156. ///////////////////////////////////////////////////////////////////////////////
  157. // //
  158. // ipMRouteInterfaceEntry table //
  159. // //
  160. ///////////////////////////////////////////////////////////////////////////////
  161. UINT
  162. get_ipMRouteInterfaceEntry(
  163. UINT actionId,
  164. AsnAny * objectArray,
  165. UINT * errorIndex
  166. );
  167. UINT
  168. set_ipMRouteInterfaceEntry(
  169. UINT actionId,
  170. AsnAny * objectArray,
  171. UINT * errorIndex
  172. );
  173. typedef struct _buf_ipMRouteInterfaceEntry {
  174. AsnAny ipMRouteInterfaceIfIndex;
  175. AsnAny ipMRouteInterfaceTtl;
  176. AsnAny ipMRouteInterfaceProtocol;
  177. AsnAny ipMRouteInterfaceRateLimit;
  178. AsnAny ipMRouteInterfaceInMcastOctets;
  179. AsnAny ipMRouteInterfaceOutMcastOctets;
  180. } buf_ipMRouteInterfaceEntry;
  181. typedef struct _sav_ipMRouteInterfaceEntry {
  182. AsnAny ipMRouteInterfaceIfIndex;
  183. AsnAny ipMRouteInterfaceTtl;
  184. AsnAny ipMRouteInterfaceProtocol;
  185. AsnAny ipMRouteInterfaceRateLimit;
  186. } sav_ipMRouteInterfaceEntry;
  187. #define gf_ipMRouteInterfaceIfIndex get_ipMRouteInterfaceEntry
  188. #define gf_ipMRouteInterfaceTtl get_ipMRouteInterfaceEntry
  189. #define gf_ipMRouteInterfaceProtocol get_ipMRouteInterfaceEntry
  190. #define gf_ipMRouteInterfaceRateLimit get_ipMRouteInterfaceEntry
  191. #define gf_ipMRouteInterfaceInMcastOctets get_ipMRouteInterfaceEntry
  192. #define gf_ipMRouteInterfaceOutMcastOctets get_ipMRouteInterfaceEntry
  193. #define gb_ipMRouteInterfaceIfIndex buf_ipMRouteInterfaceEntry
  194. #define gb_ipMRouteInterfaceTtl buf_ipMRouteInterfaceEntry
  195. #define gb_ipMRouteInterfaceProtocol buf_ipMRouteInterfaceEntry
  196. #define gb_ipMRouteInterfaceRateLimit buf_ipMRouteInterfaceEntry
  197. #define gb_ipMRouteInterfaceInMcastOctets buf_ipMRouteInterfaceEntry
  198. #define gb_ipMRouteInterfaceOutMcastOctets buf_ipMRouteInterfaceEntry
  199. #define sf_ipMRouteInterfaceIfIndex set_ipMRouteInterfaceEntry
  200. #define sf_ipMRouteInterfaceTtl set_ipMRouteInterfaceEntry
  201. #define sf_ipMRouteInterfaceProtocol set_ipMRouteInterfaceEntry
  202. #define sf_ipMRouteInterfaceRateLimit set_ipMRouteInterfaceEntry
  203. #define sb_ipMRouteInterfaceIfIndex sav_ipMRouteInterfaceEntry
  204. #define sb_ipMRouteInterfaceTtl sav_ipMRouteInterfaceEntry
  205. #define sb_ipMRouteInterfaceProtocol sav_ipMRouteInterfaceEntry
  206. #define sb_ipMRouteInterfaceRateLimit sav_ipMRouteInterfaceEntry
  207. ///////////////////////////////////////////////////////////////////////////////
  208. // //
  209. // ipMRouteBoundaryEntry table //
  210. // //
  211. ///////////////////////////////////////////////////////////////////////////////
  212. UINT
  213. get_ipMRouteBoundaryEntry(
  214. UINT actionId,
  215. AsnAny * objectArray,
  216. UINT * errorIndex
  217. );
  218. UINT
  219. set_ipMRouteBoundaryEntry(
  220. UINT actionId,
  221. AsnAny * objectArray,
  222. UINT * errorIndex
  223. );
  224. typedef struct _buf_ipMRouteBoundaryEntry {
  225. AsnAny ipMRouteBoundaryIfIndex;
  226. AsnAny ipMRouteBoundaryAddress;
  227. AsnAny ipMRouteBoundaryAddressMask;
  228. AsnAny ipMRouteBoundaryStatus;
  229. // Buffers for IP address objects above
  230. DWORD dwIpMRouteBoundaryAddressInfo;
  231. DWORD dwIpMRouteBoundaryAddressMaskInfo;
  232. } buf_ipMRouteBoundaryEntry;
  233. typedef struct _sav_ipMRouteBoundaryEntry {
  234. // Index terms
  235. AsnAny ipMRouteBoundaryIfIndex;
  236. AsnAny ipMRouteBoundaryAddress;
  237. AsnAny ipMRouteBoundaryAddressMask;
  238. // Writable objects
  239. AsnAny ipMRouteBoundaryStatus;
  240. } sav_ipMRouteBoundaryEntry;
  241. #define gf_ipMRouteBoundaryStatus get_ipMRouteBoundaryEntry
  242. #define gb_ipMRouteBoundaryIfIndex buf_ipMRouteBoundaryEntry
  243. #define gb_ipMRouteBoundaryAddress buf_ipMRouteBoundaryEntry
  244. #define gb_ipMRouteBoundaryAddressMask buf_ipMRouteBoundaryEntry
  245. #define gb_ipMRouteBoundaryStatus buf_ipMRouteBoundaryEntry
  246. #define sf_ipMRouteBoundaryStatus set_ipMRouteBoundaryEntry
  247. #define sb_ipMRouteBoundaryIfIndex sav_ipMRouteBoundaryEntry
  248. #define sb_ipMRouteBoundaryAddress sav_ipMRouteBoundaryEntry
  249. #define sb_ipMRouteBoundaryAddressMask sav_ipMRouteBoundaryEntry
  250. #define sb_ipMRouteBoundaryStatus sav_ipMRouteBoundaryEntry
  251. ///////////////////////////////////////////////////////////////////////////////
  252. // //
  253. // ipMRouteScopeEntry table //
  254. // //
  255. ///////////////////////////////////////////////////////////////////////////////
  256. UINT
  257. get_ipMRouteScopeEntry(
  258. UINT actionId,
  259. AsnAny * objectArray,
  260. UINT * errorIndex
  261. );
  262. UINT
  263. set_ipMRouteScopeEntry(
  264. UINT actionId,
  265. AsnAny * objectArray,
  266. UINT * errorIndex
  267. );
  268. typedef struct _buf_ipMRouteScopeEntry {
  269. AsnAny ipMRouteScopeAddress;
  270. AsnAny ipMRouteScopeAddressMask;
  271. AsnAny ipMRouteScopeName;
  272. AsnAny ipMRouteScopeStatus;
  273. // Buffers for IP address and string objects above
  274. DWORD dwIpMRouteScopeAddressInfo;
  275. DWORD dwIpMRouteScopeAddressMaskInfo;
  276. BYTE rgbyScopeNameInfo[MAX_SCOPE_NAME_LEN+1];
  277. } buf_ipMRouteScopeEntry;
  278. typedef struct _sav_ipMRouteScopeEntry {
  279. // Index terms
  280. AsnAny ipMRouteScopeAddress;
  281. AsnAny ipMRouteScopeAddressMask;
  282. // Writable objects
  283. AsnAny ipMRouteScopeName;
  284. AsnAny ipMRouteScopeStatus;
  285. // Buffers
  286. BYTE rgbyScopeNameInfo[MAX_SCOPE_NAME_LEN+1];
  287. } sav_ipMRouteScopeEntry;
  288. #define gf_ipMRouteScopeName get_ipMRouteScopeEntry
  289. #define gf_ipMRouteScopeStatus get_ipMRouteScopeEntry
  290. #define gb_ipMRouteScopeAddress buf_ipMRouteScopeEntry
  291. #define gb_ipMRouteScopeAddressMask buf_ipMRouteScopeEntry
  292. #define gb_ipMRouteScopeName buf_ipMRouteScopeEntry
  293. #define gb_ipMRouteScopeStatus buf_ipMRouteScopeEntry
  294. #define sf_ipMRouteScopeName set_ipMRouteScopeEntry
  295. #define sf_ipMRouteScopeStatus set_ipMRouteScopeEntry
  296. #define sb_ipMRouteScopeAddress sav_ipMRouteScopeEntry
  297. #define sb_ipMRouteScopeAddressMask sav_ipMRouteScopeEntry
  298. #define sb_ipMRouteScopeName sav_ipMRouteScopeEntry
  299. #define sb_ipMRouteScopeStatus sav_ipMRouteScopeEntry
  300. #endif // _MIBFUNCS_H_