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.

183 lines
6.3 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997.
  5. //
  6. // File: R O U T E R . H
  7. //
  8. // Contents: Declaration of functions used to setup the router.
  9. //
  10. // Notes:
  11. //
  12. // Author: shaunco 12 Oct 1997
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. void WINAPI MakeIpInterfaceInfo (PCWSTR pszwAdapterName,
  17. DWORD dwPacketType,
  18. LPBYTE* ppBuff);
  19. void WINAPI MakeIpTransportInfo (LPBYTE* ppBuffGlobal,
  20. LPBYTE* ppBuffClient);
  21. void WINAPI MakeIpxInterfaceInfo (PCWSTR pszwAdapterName,
  22. DWORD dwPacketType,
  23. LPBYTE* ppBuff);
  24. void WINAPI MakeIpxTransportInfo (LPBYTE* ppBuffGlobal,
  25. LPBYTE* ppBuffClient);
  26. HRESULT
  27. HrMprAdminServerConnect(
  28. IN PWSTR lpwsServerName OPTIONAL,
  29. OUT MPR_SERVER_HANDLE * phMprServer
  30. );
  31. HRESULT
  32. HrMprAdminInterfaceGetHandle(
  33. IN MPR_SERVER_HANDLE hMprServer,
  34. IN PWSTR lpwsInterfaceName,
  35. OUT HANDLE * phInterface,
  36. IN BOOL fIncludeClientInterfaces
  37. );
  38. HRESULT
  39. HrMprAdminInterfaceCreate(
  40. IN MPR_SERVER_HANDLE hMprServer,
  41. IN DWORD dwLevel,
  42. IN LPBYTE lpbBuffer,
  43. OUT HANDLE * phInterface
  44. );
  45. HRESULT
  46. HrMprAdminInterfaceEnum(
  47. IN MPR_SERVER_HANDLE hMprServer,
  48. IN DWORD dwLevel,
  49. OUT LPBYTE * lplpbBuffer,
  50. IN DWORD dwPrefMaxLen,
  51. OUT LPDWORD lpdwEntriesRead,
  52. OUT LPDWORD lpdwTotalEntries,
  53. IN LPDWORD lpdwResumeHandle OPTIONAL
  54. );
  55. HRESULT
  56. HrMprAdminInterfaceTransportAdd(
  57. IN MPR_SERVER_HANDLE hMprServer,
  58. IN HANDLE hInterface,
  59. IN DWORD dwTransportId,
  60. IN LPBYTE pInterfaceInfo,
  61. IN DWORD dwInterfaceInfoSize
  62. );
  63. HRESULT
  64. HrMprAdminTransportCreate(
  65. IN HANDLE hMprAdmin,
  66. IN DWORD dwTransportId,
  67. IN PWSTR lpwsTransportName OPTIONAL,
  68. IN LPBYTE pGlobalInfo,
  69. IN DWORD dwGlobalInfoSize,
  70. IN LPBYTE pClientInterfaceInfo OPTIONAL,
  71. IN DWORD dwClientInterfaceInfoSize OPTIONAL,
  72. IN PWSTR lpwsDLLPath
  73. );
  74. HRESULT
  75. HrMprConfigServerConnect(
  76. IN PWSTR lpwsServerName,
  77. OUT HANDLE* phMprConfig
  78. );
  79. HRESULT
  80. HrMprConfigInterfaceCreate(
  81. IN HANDLE hMprConfig,
  82. IN DWORD dwLevel,
  83. IN LPBYTE lpbBuffer,
  84. OUT HANDLE* phRouterInterface
  85. );
  86. HRESULT
  87. HrMprConfigInterfaceGetHandle(
  88. IN HANDLE hMprConfig,
  89. IN PWSTR lpwsInterfaceName,
  90. OUT HANDLE* phRouterInterface
  91. );
  92. HRESULT
  93. HrMprConfigInterfaceTransportAdd(
  94. IN HANDLE hMprConfig,
  95. IN HANDLE hRouterInterface,
  96. IN DWORD dwTransportId,
  97. IN PWSTR lpwsTransportName OPTIONAL,
  98. IN LPBYTE pInterfaceInfo,
  99. IN DWORD dwInterfaceInfoSize,
  100. OUT HANDLE* phRouterIfTransport
  101. );
  102. HRESULT
  103. HrMprConfigInterfaceEnum(
  104. IN HANDLE hMprConfig,
  105. IN DWORD dwLevel,
  106. IN OUT LPBYTE* lplpBuffer,
  107. IN DWORD dwPrefMaxLen,
  108. OUT LPDWORD lpdwEntriesRead,
  109. OUT LPDWORD lpdwTotalEntries,
  110. IN OUT LPDWORD lpdwResumeHandle OPTIONAL
  111. );
  112. HRESULT
  113. HrMprConfigInterfaceTransportEnum(
  114. IN HANDLE hMprConfig,
  115. IN HANDLE hRouterInterface,
  116. IN DWORD dwLevel,
  117. IN OUT LPBYTE* lplpBuffer, // MPR_IFTRANSPORT_0
  118. IN DWORD dwPrefMaxLen,
  119. OUT LPDWORD lpdwEntriesRead,
  120. OUT LPDWORD lpdwTotalEntries,
  121. IN OUT LPDWORD lpdwResumeHandle OPTIONAL
  122. );
  123. HRESULT
  124. HrMprConfigInterfaceTransportGetHandle(
  125. IN HANDLE hMprConfig,
  126. IN HANDLE hRouterInterface,
  127. IN DWORD dwTransportId,
  128. OUT HANDLE* phRouterIfTransport
  129. );
  130. HRESULT
  131. HrMprConfigTransportCreate(
  132. IN HANDLE hMprConfig,
  133. IN DWORD dwTransportId,
  134. IN PWSTR lpwsTransportName OPTIONAL,
  135. IN LPBYTE pGlobalInfo,
  136. IN DWORD dwGlobalInfoSize,
  137. IN LPBYTE pClientInterfaceInfo OPTIONAL,
  138. IN DWORD dwClientInterfaceInfoSize OPTIONAL,
  139. IN PWSTR lpwsDLLPath,
  140. OUT HANDLE* phRouterTransport
  141. );
  142. HRESULT
  143. HrMprConfigTransportDelete(
  144. IN HANDLE hMprConfig,
  145. IN HANDLE hRouterTransport
  146. );
  147. HRESULT
  148. HrMprConfigTransportGetHandle(
  149. IN HANDLE hMprConfig,
  150. IN DWORD dwTransportId,
  151. OUT HANDLE* phRouterTransport
  152. );
  153. HRESULT
  154. HrMprConfigTransportGetInfo(
  155. IN HANDLE hMprConfig,
  156. IN HANDLE hRouterTransport,
  157. IN OUT LPBYTE* ppGlobalInfo OPTIONAL,
  158. OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
  159. IN OUT LPBYTE* ppClientInterfaceInfo OPTIONAL,
  160. OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL,
  161. IN OUT PWSTR* lplpwsDLLPath OPTIONAL
  162. );