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.

290 lines
5.5 KiB

  1. /*++
  2. Copyright (c) 1995-2000 Microsoft Corporation
  3. Module Name:
  4. iphlpstk.h
  5. Abstract:
  6. Revision History:
  7. Amritansh Raghav
  8. --*/
  9. #ifndef _IPHLPSTK_
  10. #define _IPHLPSTK_
  11. #pragma once
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #include <iprtrmib.h>
  16. #include <ntddip.h>
  17. #include <tcpinfo.h>
  18. DWORD
  19. AllocateAndGetIfTableFromStack(
  20. OUT MIB_IFTABLE **ppIfTable,
  21. IN BOOL bOrder,
  22. IN HANDLE hHeap,
  23. IN DWORD dwFlags,
  24. IN BOOL bForceUpdate
  25. );
  26. DWORD
  27. GetIfTableFromStack(
  28. OUT PMIB_IFTABLE pIfTable,
  29. IN DWORD dwSize,
  30. IN BOOL bOrder,
  31. IN BOOL bForceUpdate
  32. );
  33. DWORD
  34. NhpGetInterfaceIndexFromStack(
  35. IN PWCHAR pwszIfName,
  36. OUT PDWORD pdwIfIndex
  37. );
  38. DWORD
  39. GetIfEntryFromStack(
  40. OUT PMIB_IFROW pIfEntry,
  41. IN DWORD dwAdapterIndex,
  42. IN BOOL bForceUpdate
  43. );
  44. DWORD
  45. SetIfEntryToStack(
  46. IN MIB_IFROW *pIfEntry,
  47. IN BOOL bForceUpdate
  48. );
  49. DWORD
  50. AllocateAndGetIpAddrTableFromStack(
  51. OUT MIB_IPADDRTABLE **ppIpAddrTable,
  52. IN BOOL bOrder,
  53. IN HANDLE hHeap,
  54. IN DWORD dwFlags
  55. );
  56. DWORD
  57. GetIpAddrTableFromStack(
  58. OUT PMIB_IPADDRTABLE pIpAddrTable,
  59. IN DWORD dwSize,
  60. IN BOOL bOrder
  61. );
  62. DWORD
  63. AllocateAndGetTcpTableFromStack(
  64. OUT MIB_TCPTABLE **ppTcpTable,
  65. IN BOOL bOrder,
  66. IN HANDLE hHeap,
  67. IN DWORD dwFlags
  68. );
  69. DWORD
  70. AllocateAndGetTcpExTableFromStack(
  71. OUT PVOID *ppTcpTable,
  72. IN BOOL bOrder,
  73. IN HANDLE hHeap,
  74. IN DWORD dwFlags,
  75. IN DWORD dwFamily
  76. );
  77. DWORD
  78. GetTcpTableFromStack(
  79. OUT PMIB_TCPTABLE pTcpTable,
  80. IN DWORD dwSize,
  81. IN BOOL bOrder
  82. );
  83. DWORD
  84. SetTcpEntryToStack(
  85. IN PMIB_TCPROW pTcpRow
  86. );
  87. DWORD
  88. AllocateAndGetUdpTableFromStack(
  89. OUT MIB_UDPTABLE **ppUdpTable,
  90. IN BOOL bOrder,
  91. IN HANDLE hHeap,
  92. IN DWORD dwFlags
  93. );
  94. DWORD
  95. AllocateAndGetUdpExTableFromStack(
  96. OUT PVOID *ppUdpTable,
  97. IN BOOL bOrder,
  98. IN HANDLE hHeap,
  99. IN DWORD dwFlags,
  100. IN DWORD dwFamily
  101. );
  102. DWORD
  103. GetUdpTableFromStack(
  104. OUT PMIB_UDPTABLE pUdpTable,
  105. IN DWORD dwSize,
  106. IN BOOL bOrder
  107. );
  108. DWORD
  109. AllocateAndGetIpForwardTableFromStack(
  110. OUT MIB_IPFORWARDTABLE **ppForwardTable,
  111. IN BOOL bOrder,
  112. IN HANDLE hHeap,
  113. IN DWORD dwFlags
  114. );
  115. DWORD
  116. GetIpForwardTableFromStack(
  117. OUT PMIB_IPFORWARDTABLE pForwardTable,
  118. IN DWORD dwSize,
  119. IN BOOL bOrder
  120. );
  121. DWORD
  122. GetIpStatsFromStack(
  123. OUT PMIB_IPSTATS pIpStats
  124. );
  125. DWORD
  126. GetIpStatsFromStackEx(
  127. OUT PMIB_IPSTATS pIpStats,
  128. IN DWORD dwFamily
  129. );
  130. DWORD
  131. SetIpStatsToStack(
  132. IN PMIB_IPSTATS pIpStats
  133. );
  134. DWORD
  135. GetIcmpStatsFromStack(
  136. OUT PMIB_ICMP pIcmpStats
  137. );
  138. DWORD
  139. GetIcmpStatsFromStackEx(
  140. OUT PVOID pIcmpStats,
  141. IN DWORD dwFamily
  142. );
  143. DWORD
  144. GetUdpStatsFromStack(
  145. OUT PMIB_UDPSTATS pUdpStats
  146. );
  147. DWORD
  148. GetUdpStatsFromStackEx(
  149. OUT PMIB_UDPSTATS pUdpStats,
  150. IN DWORD dwFamily
  151. );
  152. DWORD
  153. GetTcpStatsFromStack(
  154. OUT PMIB_TCPSTATS pTcpStats
  155. );
  156. DWORD
  157. GetTcpStatsFromStackEx(
  158. OUT PMIB_TCPSTATS pTcpStats,
  159. IN DWORD dwFamily
  160. );
  161. DWORD
  162. AllocateAndGetIpNetTableFromStack(
  163. OUT MIB_IPNETTABLE **ppNetTable,
  164. IN BOOL bOrder,
  165. IN HANDLE hHeap,
  166. IN DWORD dwFlags,
  167. IN BOOL bForceUpdate
  168. );
  169. DWORD
  170. GetIpNetTableFromStack(
  171. OUT PMIB_IPNETTABLE pNetTable,
  172. IN DWORD dwSize,
  173. IN BOOL bOrder,
  174. IN BOOL bForceUpdate
  175. );
  176. DWORD
  177. SetIpNetEntryToStack(
  178. IN MIB_IPNETROW *pNetRow,
  179. IN BOOL bForceUpdate
  180. );
  181. DWORD
  182. FlushIpNetTableFromStack(
  183. IN DWORD dwIfIndex
  184. );
  185. DWORD
  186. SetProxyArpEntryToStack(
  187. IN DWORD dwAddress,
  188. IN DWORD dwMask,
  189. IN DWORD dwAdapterIndex,
  190. IN BOOL bAddEntry,
  191. IN BOOL bForceUpdate
  192. );
  193. DWORD
  194. AllocateAndGetArpEntTableFromStack(
  195. OUT PDWORD *ppdwArpEntTable,
  196. OUT PDWORD pdwNumEntries,
  197. IN HANDLE hHeap,
  198. IN DWORD dwAllocFlags,
  199. IN DWORD dwReAllocFlags
  200. );
  201. DWORD
  202. SetIpForwardEntryToStack(
  203. IN PMIB_IPFORWARDROW pForwardRow
  204. );
  205. DWORD
  206. SetIpRouteEntryToStack(
  207. IN IPRouteEntry *pRoute
  208. );
  209. DWORD
  210. SetIpMultihopRouteEntryToStack(
  211. IN IPMultihopRouteEntry *pRoute
  212. );
  213. DWORD
  214. GetBestInterfaceFromStack(
  215. DWORD dwDestAddress,
  216. PDWORD pdwBestIfIndex
  217. );
  218. DWORD
  219. GetBestRouteFromStack(
  220. IN DWORD dwDestAddr,
  221. IN DWORD dwSrcAddr, OPTIONAL
  222. OUT PMIB_IPFORWARDROW pBestRoute
  223. );
  224. #ifndef NHPALLOCATEANDGETINTERFACEINFOFROMSTACK_DEFINED
  225. #define NHPALLOCATEANDGETINTERFACEINFOFROMSTACK_DEFINED
  226. DWORD
  227. NhpAllocateAndGetInterfaceInfoFromStack(
  228. OUT IP_INTERFACE_NAME_INFO **ppTable,
  229. OUT PDWORD pdwCount,
  230. IN BOOL bOrder,
  231. IN HANDLE hHeap,
  232. IN DWORD dwFlags
  233. );
  234. #endif
  235. #ifdef __cplusplus
  236. }
  237. #endif
  238. #endif // _IPHLPSTK_