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.

234 lines
4.1 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. public\sdk\inc\iphlpapi.h
  5. Abstract:
  6. Some private APIs. These are used by multimedia streaming code and
  7. MIB-II subagent. From the days this was mib2util.dll
  8. Revision History:
  9. Amritansh Raghav Created
  10. --*/
  11. #ifndef __IPHLPINT_H__
  12. #define __IPHLPINT_H__
  13. #include <iprtrmib.h>
  14. //////////////////////////////////////////////////////////////////////////////
  15. // //
  16. // The InternalGetXXXTable APIs take a pointer to a pointer to a buffer, //
  17. // a heap from which to allocate from, and flags used for allocation. The //
  18. // APIs allocate a buffer for the user. If NO_ERROR is returned, the //
  19. // the returned buffer is valid (even if it has no entries) and it is the //
  20. // callers duty to free the memory. This is different from the external //
  21. // APIs in that those return ERROR_NO_DATA if there are no entries //
  22. // //
  23. //////////////////////////////////////////////////////////////////////////////
  24. DWORD
  25. InternalGetIfTable(
  26. OUT MIB_IFTABLE **ppIfTable,
  27. IN HANDLE hHeap,
  28. IN DWORD dwAllocFlags
  29. );
  30. DWORD
  31. InternalGetIpAddrTable(
  32. OUT MIB_IPADDRTABLE **ppIpAddrTable,
  33. IN HANDLE hHeap,
  34. IN DWORD dwAllocFlags
  35. );
  36. DWORD
  37. InternalGetIpNetTable(
  38. OUT MIB_IPNETTABLE **ppIpNetTable,
  39. IN HANDLE hHeap,
  40. IN DWORD dwAllocFlags
  41. );
  42. DWORD
  43. InternalGetIpForwardTable(
  44. OUT MIB_IPFORWARDTABLE **ppIpForwardTable,
  45. IN HANDLE hHeap,
  46. IN DWORD dwAllocFlags
  47. );
  48. DWORD
  49. InternalGetTcpTable(
  50. OUT MIB_TCPTABLE **ppTcpTable,
  51. IN HANDLE hHeap,
  52. IN DWORD dwAllocFlags
  53. );
  54. DWORD
  55. InternalGetUdpTable(
  56. OUT MIB_UDPTABLE **ppUdpTable,
  57. IN HANDLE hHeap,
  58. IN DWORD dwAllocFlags
  59. );
  60. DWORD
  61. InternalSetIfEntry(
  62. IN PMIB_OPAQUE_INFO pInfoRow
  63. );
  64. DWORD
  65. InternalCreateIpForwardEntry(
  66. IN PMIB_OPAQUE_INFO pInfoRow
  67. );
  68. DWORD
  69. InternalSetIpForwardEntry(
  70. IN PMIB_OPAQUE_INFO pInfoRow
  71. );
  72. DWORD
  73. InternalDeleteIpForwardEntry(
  74. IN PMIB_OPAQUE_INFO pInfoRow
  75. );
  76. DWORD
  77. InternalSetIpStats(
  78. IN PMIB_OPAQUE_INFO pInfoRow
  79. );
  80. DWORD
  81. InternalCreateIpNetEntry(
  82. IN PMIB_OPAQUE_INFO pInfoRow
  83. );
  84. DWORD
  85. InternalSetIpNetEntry(
  86. PMIB_OPAQUE_INFO pInfoRow
  87. );
  88. DWORD
  89. InternalDeleteIpNetEntry(
  90. PMIB_OPAQUE_INFO pInfoRow
  91. );
  92. DWORD
  93. InternalSetTcpEntry(
  94. PMIB_OPAQUE_INFO pInfoRow
  95. );
  96. DWORD
  97. OpenAdapterKey(
  98. LPSTR Name,
  99. PHKEY Key
  100. );
  101. DWORD
  102. ReadRegistryDword(
  103. HKEY Key,
  104. LPSTR ParameterName,
  105. PULONG Value
  106. );
  107. DWORD
  108. GetAdapterIPInterfaceContext(
  109. IN LPSTR AdapterName,
  110. OUT PULONG Context
  111. );
  112. DWORD
  113. GetAdapterIndex(
  114. IN LPWSTR AdapterName,
  115. OUT PULONG IfIndex
  116. );
  117. DWORD
  118. AddIPAddress(
  119. IPAddr Address,
  120. IPMask IpMask,
  121. ULONG IfIndex,
  122. PULONG NTEContext,
  123. PULONG NTEInstance
  124. );
  125. DWORD
  126. DeleteIPAddress(
  127. ULONG NTEContext
  128. );
  129. BOOL
  130. GetRTT(
  131. IPAddr DestIpAddress,
  132. PULONG Rtt
  133. );
  134. BOOLEAN
  135. GetHopCounts(
  136. IPAddr DestIpAddress,
  137. PULONG HopCount,
  138. ULONG MaxHops
  139. );
  140. BOOL
  141. GetRTTAndHopCount(
  142. IPAddr DestIpAddress,
  143. PULONG HopCount,
  144. ULONG MaxHops,
  145. PULONG RTT
  146. );
  147. DWORD
  148. GetInterfaceInfo(OUT PIP_INTERFACE_INFO pIPIfInfo,
  149. OUT PULONG dwOutBufLen
  150. );
  151. DWORD
  152. IsLocalAddress(
  153. IPAddr InAddress
  154. );
  155. DWORD
  156. AddArpEntry(
  157. IPAddr IPAddress,
  158. PUCHAR pPhyAddress,
  159. ULONG PhyAddrLen,
  160. ULONG IfIndex,
  161. BOOLEAN Dynamic
  162. );
  163. DWORD
  164. DeleteArpEntry(
  165. IPAddr IPAddress,
  166. ULONG IfIndex
  167. );
  168. DWORD
  169. NotifyAddrChange(
  170. HANDLE *pHandle,
  171. OVERLAPPED *pOverlapped
  172. );
  173. DWORD
  174. NotifyRouteChange(
  175. HANDLE *pHandle,
  176. OVERLAPPED *pOverlapped
  177. );
  178. DWORD
  179. DhcpReleaseParameters(
  180. LPWSTR AdapterName
  181. );
  182. DWORD
  183. DhcpRenewAddress(
  184. LPWSTR AdapterName
  185. );
  186. #endif // __IPHLPINT_H__