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.

209 lines
3.7 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. PINITXSFILTER * ppSpecificFilters
  21. );
  22. DWORD
  23. FormTxOutboundInboundAddresses(
  24. PINITXFILTER pFilter,
  25. MATCHING_ADDR * pMatchingAddresses,
  26. DWORD dwAddrCnt,
  27. PADDR * ppOutSrcAddrList,
  28. PDWORD pdwOutSrcAddrCnt,
  29. PADDR * ppInSrcAddrList,
  30. PDWORD pdwInSrcAddrCnt,
  31. PADDR * ppOutDesAddrList,
  32. PDWORD pdwOutDesAddrCnt,
  33. PADDR * ppInDesAddrList,
  34. PDWORD pdwInDesAddrCnt
  35. );
  36. DWORD
  37. FormAddressList(
  38. ADDR InAddr,
  39. MATCHING_ADDR * pMatchingAddresses,
  40. DWORD dwAddrCnt,
  41. PADDR * ppOutAddr,
  42. PDWORD pdwOutAddrCnt
  43. );
  44. DWORD
  45. SeparateAddrList(
  46. ADDR_TYPE AddrType,
  47. PADDR pAddrList,
  48. DWORD dwAddrCnt,
  49. MATCHING_ADDR * pMatchingAddresses,
  50. DWORD dwLocalAddrCnt,
  51. PADDR * ppOutAddrList,
  52. PDWORD pdwOutAddrCnt,
  53. PADDR * ppInAddrList,
  54. PDWORD pdwInAddrCnt
  55. );
  56. DWORD
  57. FormSpecificTxFilters(
  58. PINITXFILTER pFilter,
  59. PADDR pSrcAddrList,
  60. DWORD dwSrcAddrCnt,
  61. PADDR pDesAddrList,
  62. DWORD dwDesAddrCnt,
  63. DWORD dwDirection,
  64. PINITXSFILTER * ppSpecificFilters
  65. );
  66. DWORD
  67. SeparateUniqueAddresses(
  68. PADDR pAddrList,
  69. DWORD dwAddrCnt,
  70. MATCHING_ADDR * pMatchingAddresses,
  71. DWORD dwLocalAddrCnt,
  72. PADDR * ppIsMeAddrList,
  73. PDWORD pdwIsMeAddrCnt,
  74. PADDR * ppIsNotMeAddrList,
  75. PDWORD pdwIsNotMeAddrCnt
  76. );
  77. DWORD
  78. SeparateSubNetAddresses(
  79. PADDR pAddrList,
  80. DWORD dwAddrCnt,
  81. MATCHING_ADDR * pMatchingAddresses,
  82. DWORD dwLocalAddrCnt,
  83. PADDR * ppIsMeAddrList,
  84. PDWORD pdwIsMeAddrCnt,
  85. PADDR * ppIsNotMeAddrList,
  86. PDWORD pdwIsNotMeAddrCnt
  87. );
  88. DWORD
  89. CreateSpecificTxFilter(
  90. PINITXFILTER pGenericFilter,
  91. ADDR SrcAddr,
  92. ADDR DesAddr,
  93. PINITXSFILTER * ppSpecificFilter
  94. );
  95. VOID
  96. AssignTxFilterWeight(
  97. PINITXSFILTER pSpecificFilter
  98. );
  99. VOID
  100. AddToSpecificTxList(
  101. PINITXSFILTER * ppSpecificTxFilterList,
  102. PINITXSFILTER pSpecificTxFilters
  103. );
  104. VOID
  105. FreeIniTxSFilterList(
  106. PINITXSFILTER pIniTxSFilterList
  107. );
  108. VOID
  109. FreeIniTxSFilter(
  110. PINITXSFILTER pIniTxSFilter
  111. );
  112. VOID
  113. LinkTxSpecificFilters(
  114. PINIQMPOLICY pIniQMPolicy,
  115. PINITXSFILTER pIniTxSFilters
  116. );
  117. VOID
  118. RemoveIniTxSFilter(
  119. PINITXSFILTER pIniTxSFilter
  120. );
  121. DWORD
  122. EnumSpecificTxFilters(
  123. PINITXSFILTER pIniTxSFilterList,
  124. DWORD dwResumeHandle,
  125. DWORD dwPreferredNumEntries,
  126. PTRANSPORT_FILTER * ppTxFilters,
  127. PDWORD pdwNumTxFilters
  128. );
  129. DWORD
  130. CopyTxSFilter(
  131. PINITXSFILTER pIniTxSFilter,
  132. PTRANSPORT_FILTER pTxFilter
  133. );
  134. DWORD
  135. EnumSelectSpecificTxFilters(
  136. PINITXFILTER pIniTxFilter,
  137. DWORD dwResumeHandle,
  138. DWORD dwPreferredNumEntries,
  139. PTRANSPORT_FILTER * ppTxFilters,
  140. PDWORD pdwNumTxFilters
  141. );
  142. DWORD
  143. ValidateTxFilterTemplate(
  144. PTRANSPORT_FILTER pTxFilter
  145. );
  146. BOOL
  147. MatchIniTxSFilter(
  148. PINITXSFILTER pIniTxSFilter,
  149. PTRANSPORT_FILTER pTxFilter
  150. );
  151. DWORD
  152. CopyTxMatchDefaults(
  153. PTRANSPORT_FILTER * ppTxFilters,
  154. PIPSEC_QM_POLICY * ppQMPolicies,
  155. PDWORD pdwNumMatches
  156. );
  157. DWORD
  158. CopyDefaultTxFilter(
  159. PTRANSPORT_FILTER pTxFilter,
  160. PINIQMPOLICY pIniQMPolicy
  161. );
  162. DWORD
  163. SeparateInterfaceAddresses(
  164. PADDR pAddrList,
  165. DWORD dwAddrCnt,
  166. MATCHING_ADDR * pMatchingAddresses,
  167. DWORD dwLocalAddrCnt,
  168. PADDR * ppIsMeAddrList,
  169. PDWORD pdwIsMeAddrCnt,
  170. PADDR * ppIsNotMeAddrList,
  171. PDWORD pdwIsNotMeAddrCnt
  172. );