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.

214 lines
4.1 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. txspecific.h
  5. Abstract:
  6. This module contains all of the code prototypes to
  7. drive the specific transport filter list management of
  8. IPSecSPD Service.
  9. Author:
  10. abhisheV 29-October-1999
  11. Environment
  12. User Level: Win32
  13. Revision History:
  14. --*/
  15. DWORD
  16. ApplyTxTransform(
  17. PINITXFILTER pFilter,
  18. MATCHING_ADDR * pMatchingAddresses,
  19. DWORD dwAddrCnt,
  20. PSPECIAL_ADDR pSpecialAddrsList,
  21. PINITXSFILTER * ppSpecificFilters
  22. );
  23. DWORD
  24. FormTxOutboundInboundAddresses(
  25. PINITXFILTER pFilter,
  26. MATCHING_ADDR * pMatchingAddresses,
  27. DWORD dwAddrCnt,
  28. PSPECIAL_ADDR pSpecialAddrsList,
  29. PADDR_V4 * ppOutSrcAddrList,
  30. PDWORD pdwOutSrcAddrCnt,
  31. PADDR_V4 * ppInSrcAddrList,
  32. PDWORD pdwInSrcAddrCnt,
  33. PADDR_V4 * ppOutDesAddrList,
  34. PDWORD pdwOutDesAddrCnt,
  35. PADDR_V4 * ppInDesAddrList,
  36. PDWORD pdwInDesAddrCnt
  37. );
  38. DWORD
  39. FormAddressList(
  40. ADDR_V4 InAddr,
  41. MATCHING_ADDR * pMatchingAddresses,
  42. DWORD dwAddrCnt,
  43. PSPECIAL_ADDR pSpecialAddrsList,
  44. IF_TYPE FilterInterfaceType,
  45. PADDR_V4 * ppOutAddr,
  46. PDWORD pdwOutAddrCnt
  47. );
  48. DWORD
  49. SeparateAddrList(
  50. ADDR_TYPE AddrType,
  51. PADDR_V4 pAddrList,
  52. DWORD dwAddrCnt,
  53. MATCHING_ADDR * pMatchingAddresses,
  54. DWORD dwLocalAddrCnt,
  55. PADDR_V4 * ppOutAddrList,
  56. PDWORD pdwOutAddrCnt,
  57. PADDR_V4 * ppInAddrList,
  58. PDWORD pdwInAddrCnt
  59. );
  60. DWORD
  61. FormSpecificTxFilters(
  62. PINITXFILTER pFilter,
  63. PADDR_V4 pSrcAddrList,
  64. DWORD dwSrcAddrCnt,
  65. PADDR_V4 pDesAddrList,
  66. DWORD dwDesAddrCnt,
  67. DWORD dwDirection,
  68. PINITXSFILTER * ppSpecificFilters
  69. );
  70. DWORD
  71. SeparateUniqueAddresses(
  72. PADDR_V4 pAddrList,
  73. DWORD dwAddrCnt,
  74. MATCHING_ADDR * pMatchingAddresses,
  75. DWORD dwLocalAddrCnt,
  76. PADDR_V4 * ppIsMeAddrList,
  77. PDWORD pdwIsMeAddrCnt,
  78. PADDR_V4 * ppIsNotMeAddrList,
  79. PDWORD pdwIsNotMeAddrCnt
  80. );
  81. DWORD
  82. SeparateSubNetAddresses(
  83. PADDR_V4 pAddrList,
  84. DWORD dwAddrCnt,
  85. MATCHING_ADDR * pMatchingAddresses,
  86. DWORD dwLocalAddrCnt,
  87. PADDR_V4 * ppIsMeAddrList,
  88. PDWORD pdwIsMeAddrCnt,
  89. PADDR_V4 * ppIsNotMeAddrList,
  90. PDWORD pdwIsNotMeAddrCnt
  91. );
  92. DWORD
  93. CreateSpecificTxFilter(
  94. PINITXFILTER pGenericFilter,
  95. ADDR_V4 SrcAddr,
  96. ADDR_V4 DesAddr,
  97. PINITXSFILTER * ppSpecificFilter
  98. );
  99. VOID
  100. AssignTxFilterWeight(
  101. PINITXSFILTER pSpecificFilter
  102. );
  103. VOID
  104. AddToSpecificTxList(
  105. PINITXSFILTER * ppSpecificTxFilterList,
  106. PINITXSFILTER pSpecificTxFilters
  107. );
  108. VOID
  109. FreeIniTxSFilterList(
  110. PINITXSFILTER pIniTxSFilterList
  111. );
  112. VOID
  113. FreeIniTxSFilter(
  114. PINITXSFILTER pIniTxSFilter
  115. );
  116. VOID
  117. LinkTxSpecificFilters(
  118. PINIQMPOLICY pIniQMPolicy,
  119. PINITXSFILTER pIniTxSFilters
  120. );
  121. VOID
  122. RemoveIniTxSFilter(
  123. PINITXSFILTER pIniTxSFilter
  124. );
  125. DWORD
  126. EnumSpecificTxFilters(
  127. PINITXSFILTER pIniTxSFilterList,
  128. DWORD dwResumeHandle,
  129. DWORD dwPreferredNumEntries,
  130. PTRANSPORT_FILTER * ppTxFilters,
  131. PDWORD pdwNumTxFilters
  132. );
  133. DWORD
  134. CopyTxSFilter(
  135. PINITXSFILTER pIniTxSFilter,
  136. PTRANSPORT_FILTER pTxFilter
  137. );
  138. DWORD
  139. EnumSelectSpecificTxFilters(
  140. PINITXFILTER pIniTxFilter,
  141. DWORD dwResumeHandle,
  142. DWORD dwPreferredNumEntries,
  143. PTRANSPORT_FILTER * ppTxFilters,
  144. PDWORD pdwNumTxFilters
  145. );
  146. DWORD
  147. ValidateTxFilterTemplate(
  148. PTRANSPORT_FILTER pTxFilter
  149. );
  150. BOOL
  151. MatchIniTxSFilter(
  152. PINITXSFILTER pIniTxSFilter,
  153. PTRANSPORT_FILTER pTxFilter
  154. );
  155. DWORD
  156. CopyTxMatchDefaults(
  157. DWORD dwFlags,
  158. PTRANSPORT_FILTER * ppTxFilters,
  159. PIPSEC_QM_POLICY * ppQMPolicies,
  160. PDWORD pdwNumMatches
  161. );
  162. DWORD
  163. CopyDefaultTxFilter(
  164. PTRANSPORT_FILTER pTxFilter,
  165. PINIQMPOLICY pIniQMPolicy
  166. );
  167. DWORD
  168. SeparateInterfaceAddresses(
  169. PADDR_V4 pAddrList,
  170. DWORD dwAddrCnt,
  171. MATCHING_ADDR * pMatchingAddresses,
  172. DWORD dwLocalAddrCnt,
  173. PADDR_V4 * ppIsMeAddrList,
  174. PDWORD pdwIsMeAddrCnt,
  175. PADDR_V4 * ppIsNotMeAddrList,
  176. PDWORD pdwIsNotMeAddrCnt
  177. );