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.

194 lines
3.1 KiB

  1. #ifndef _IGMP_IF_H_
  2. #define _IGMP_IF_H_
  3. //=============================================================================
  4. //
  5. // Copyright (c) 1997 Microsoft Corporation
  6. //
  7. // File Name: If.h
  8. //
  9. // Abstract:
  10. // This file contains declarations for if.c
  11. //
  12. // Author: K.S.Lokesh (lokeshs@) 11-1-97
  13. //
  14. // Revision History:
  15. //
  16. //=============================================================================
  17. //
  18. // API PROTOTYPES
  19. //
  20. DWORD
  21. WINAPI
  22. AddInterface(
  23. IN PWCHAR pwszInterfaceName,//not used
  24. IN ULONG IfIndex,
  25. IN NET_INTERFACE_TYPE dwIfType,
  26. IN DWORD dwMediaType,
  27. IN WORD wAccessType,
  28. IN WORD wConnectionType,
  29. IN PVOID pvConfig,
  30. IN ULONG ulStructureVersion,
  31. IN ULONG ulStructureSize,
  32. IN ULONG ulStructureCount
  33. );
  34. DWORD
  35. WINAPI
  36. DeleteInterface(
  37. IN DWORD IfIndex
  38. );
  39. DWORD
  40. WINAPI
  41. ConnectRasClient (
  42. DWORD IfIndex,
  43. PVOID pvNHAddr
  44. );
  45. DWORD
  46. WINAPI
  47. DisconnectRasClient (
  48. DWORD IfIndex,
  49. PVOID pvNHAddr
  50. );
  51. DWORD
  52. WINAPI
  53. SetInterfaceConfigInfo(
  54. IN DWORD IfIndex,
  55. IN PVOID pvConfig,
  56. IN ULONG ulStructureVersion,
  57. IN ULONG ulStructureSize,
  58. IN ULONG ulStructureCount
  59. );
  60. DWORD
  61. WINAPI
  62. GetInterfaceConfigInfo(
  63. IN DWORD IfIndex,
  64. IN OUT PVOID pvConfig,
  65. IN OUT PDWORD pdwSize,
  66. IN OUT PULONG pulStructureVersion,
  67. IN OUT PULONG pulStructureSize,
  68. IN OUT PULONG pulStructureCount
  69. );
  70. DWORD
  71. WINAPI
  72. InterfaceStatus(
  73. ULONG IfIndex,
  74. BOOL bIfActive,
  75. DWORD dwStatusType,
  76. PVOID pvStatusInfo
  77. );
  78. DWORD
  79. WINAPI
  80. IgmpMibIfConfigSize(
  81. PIGMP_MIB_IF_CONFIG pConfig
  82. );
  83. //
  84. // EXPORTED PROTOTYPES
  85. //
  86. VOID
  87. CompleteIfDeletion (
  88. PIF_TABLE_ENTRY pite
  89. );
  90. DWORD
  91. ActivateInterface (
  92. PIF_TABLE_ENTRY pite
  93. );
  94. VOID
  95. DeActivateInterfaceComplete (
  96. PIF_TABLE_ENTRY pite
  97. );
  98. DWORD
  99. CreateRasClient (
  100. PIF_TABLE_ENTRY pite,
  101. PRAS_TABLE_ENTRY *prteNew,
  102. DWORD NHAddr
  103. );
  104. //
  105. // INTERNAL PROTOTYPES
  106. //
  107. DWORD
  108. BindInterface(
  109. IN DWORD IfIndex,
  110. IN PVOID pBinding
  111. );
  112. DWORD
  113. UnBindInterface(
  114. IN DWORD IfIndex
  115. );
  116. DWORD
  117. EnableInterface(
  118. IN DWORD IfIndex
  119. );
  120. DWORD
  121. DisableInterface(
  122. IN DWORD IfIndex
  123. );
  124. DWORD
  125. AddIfEntry(
  126. DWORD IfIndex,
  127. NET_INTERFACE_TYPE dwIfType,
  128. PIGMP_MIB_IF_CONFIG pConfig,
  129. ULONG ulStructureVersion,
  130. ULONG ulStructureSize
  131. );
  132. DWORD
  133. DeleteIfEntry (
  134. PIF_TABLE_ENTRY pite
  135. );
  136. DWORD
  137. BindIfEntry(
  138. DWORD IfIndex,
  139. PIP_ADAPTER_BINDING_INFO pBinding
  140. );
  141. DWORD
  142. UnBindIfEntry(
  143. DWORD IfIndex
  144. );
  145. DWORD
  146. EnableIfEntry(
  147. DWORD IfIndex,
  148. BOOL bChangedByRtrmgr // changed by rtrmgr or by SetInterfaceConfigInfo
  149. );
  150. DWORD
  151. DisableIfEntry(
  152. DWORD IfIndex,
  153. BOOL bChangedByRtrmgr // changed by rtrmgr or by SetInterfaceConfigInfo
  154. );
  155. DWORD
  156. ProcessIfProtocolChange(
  157. DWORD IfIndex,
  158. PIGMP_MIB_IF_CONFIG pConfigSrc
  159. );
  160. DWORD
  161. DeActivationDeregisterFromMgm(
  162. PIF_TABLE_ENTRY pite
  163. );
  164. #endif // _IGMP_IF_H_