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.

196 lines
6.9 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. HrMprAdminInterfaceTransportRemove(
  65. IN MPR_SERVER_HANDLE hMprServer,
  66. IN HANDLE hInterface,
  67. IN DWORD dwTransportId
  68. );
  69. HRESULT
  70. HrMprAdminTransportCreate(
  71. IN HANDLE hMprAdmin,
  72. IN DWORD dwTransportId,
  73. IN PWSTR lpwsTransportName OPTIONAL,
  74. IN LPBYTE pGlobalInfo,
  75. IN DWORD dwGlobalInfoSize,
  76. IN LPBYTE pClientInterfaceInfo OPTIONAL,
  77. IN DWORD dwClientInterfaceInfoSize OPTIONAL,
  78. IN PWSTR lpwsDLLPath
  79. );
  80. HRESULT
  81. HrMprConfigServerConnect(
  82. IN PWSTR lpwsServerName,
  83. OUT HANDLE* phMprConfig
  84. );
  85. HRESULT
  86. HrMprConfigInterfaceCreate(
  87. IN HANDLE hMprConfig,
  88. IN DWORD dwLevel,
  89. IN LPBYTE lpbBuffer,
  90. OUT HANDLE* phRouterInterface
  91. );
  92. HRESULT
  93. HrMprConfigInterfaceGetHandle(
  94. IN HANDLE hMprConfig,
  95. IN PWSTR lpwsInterfaceName,
  96. OUT HANDLE* phRouterInterface
  97. );
  98. HRESULT
  99. HrMprConfigInterfaceTransportAdd(
  100. IN HANDLE hMprConfig,
  101. IN HANDLE hRouterInterface,
  102. IN DWORD dwTransportId,
  103. IN PWSTR lpwsTransportName OPTIONAL,
  104. IN LPBYTE pInterfaceInfo,
  105. IN DWORD dwInterfaceInfoSize,
  106. OUT HANDLE* phRouterIfTransport
  107. );
  108. HRESULT
  109. HrMprConfigInterfaceTransportRemove(
  110. IN HANDLE hMprConfig,
  111. IN HANDLE hRouterInterface,
  112. IN HANDLE hRouterIfTransport
  113. );
  114. HRESULT
  115. HrMprConfigInterfaceEnum(
  116. IN HANDLE hMprConfig,
  117. IN DWORD dwLevel,
  118. IN OUT LPBYTE* lplpBuffer,
  119. IN DWORD dwPrefMaxLen,
  120. OUT LPDWORD lpdwEntriesRead,
  121. OUT LPDWORD lpdwTotalEntries,
  122. IN OUT LPDWORD lpdwResumeHandle OPTIONAL
  123. );
  124. HRESULT
  125. HrMprConfigInterfaceTransportEnum(
  126. IN HANDLE hMprConfig,
  127. IN HANDLE hRouterInterface,
  128. IN DWORD dwLevel,
  129. IN OUT LPBYTE* lplpBuffer, // MPR_IFTRANSPORT_0
  130. IN DWORD dwPrefMaxLen,
  131. OUT LPDWORD lpdwEntriesRead,
  132. OUT LPDWORD lpdwTotalEntries,
  133. IN OUT LPDWORD lpdwResumeHandle OPTIONAL
  134. );
  135. HRESULT
  136. HrMprConfigInterfaceTransportGetHandle(
  137. IN HANDLE hMprConfig,
  138. IN HANDLE hRouterInterface,
  139. IN DWORD dwTransportId,
  140. OUT HANDLE* phRouterIfTransport
  141. );
  142. HRESULT
  143. HrMprConfigTransportCreate(
  144. IN HANDLE hMprConfig,
  145. IN DWORD dwTransportId,
  146. IN PWSTR lpwsTransportName OPTIONAL,
  147. IN LPBYTE pGlobalInfo,
  148. IN DWORD dwGlobalInfoSize,
  149. IN LPBYTE pClientInterfaceInfo OPTIONAL,
  150. IN DWORD dwClientInterfaceInfoSize OPTIONAL,
  151. IN PWSTR lpwsDLLPath,
  152. OUT HANDLE* phRouterTransport
  153. );
  154. HRESULT
  155. HrMprConfigTransportDelete(
  156. IN HANDLE hMprConfig,
  157. IN HANDLE hRouterTransport
  158. );
  159. HRESULT
  160. HrMprConfigTransportGetHandle(
  161. IN HANDLE hMprConfig,
  162. IN DWORD dwTransportId,
  163. OUT HANDLE* phRouterTransport
  164. );
  165. HRESULT
  166. HrMprConfigTransportGetInfo(
  167. IN HANDLE hMprConfig,
  168. IN HANDLE hRouterTransport,
  169. IN OUT LPBYTE* ppGlobalInfo OPTIONAL,
  170. OUT LPDWORD lpdwGlobalInfoSize OPTIONAL,
  171. IN OUT LPBYTE* ppClientInterfaceInfo OPTIONAL,
  172. OUT LPDWORD lpdwClientInterfaceInfoSize OPTIONAL,
  173. IN OUT PWSTR* lplpwsDLLPath OPTIONAL
  174. );