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.

153 lines
2.7 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. tnspecific.h
  5. Abstract:
  6. This module contains all of the code prototypes to
  7. drive the specific tunnel 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. ApplyTnTransform(
  17. PINITNFILTER pFilter,
  18. MATCHING_ADDR * pMatchingAddresses,
  19. DWORD dwAddrCnt,
  20. PSPECIAL_ADDR pSpecialAddrsList,
  21. PINITNSFILTER * ppSpecificFilters
  22. );
  23. DWORD
  24. FormTnOutboundInboundAddresses(
  25. PINITNFILTER pFilter,
  26. MATCHING_ADDR * pMatchingAddresses,
  27. DWORD dwAddrCnt,
  28. PSPECIAL_ADDR pSpecialAddrsList,
  29. PADDR_V4 * ppOutDesTunAddrList,
  30. PDWORD pdwOutDesTunAddrCnt,
  31. PADDR_V4 * ppInDesTunAddrList,
  32. PDWORD pdwInDesTunAddrCnt
  33. );
  34. DWORD
  35. FormSpecificTnFilters(
  36. PINITNFILTER pFilter,
  37. PADDR_V4 pSrcAddrList,
  38. DWORD dwSrcAddrCnt,
  39. PADDR_V4 pDesAddrList,
  40. DWORD dwDesAddrCnt,
  41. PADDR_V4 pDesTunAddrList,
  42. DWORD dwDesTunAddrCnt,
  43. DWORD dwDirection,
  44. PINITNSFILTER * ppSpecificFilters
  45. );
  46. DWORD
  47. CreateSpecificTnFilter(
  48. PINITNFILTER pGenericFilter,
  49. ADDR_V4 SrcAddr,
  50. ADDR_V4 DesAddr,
  51. ADDR_V4 DesTunnelAddr,
  52. PINITNSFILTER * ppSpecificFilter
  53. );
  54. VOID
  55. AssignTnFilterWeight(
  56. PINITNSFILTER pSpecificFilter
  57. );
  58. VOID
  59. AddToSpecificTnList(
  60. PINITNSFILTER * ppSpecificTnFilterList,
  61. PINITNSFILTER pSpecificTnFilters
  62. );
  63. VOID
  64. FreeIniTnSFilterList(
  65. PINITNSFILTER pIniTnSFilterList
  66. );
  67. VOID
  68. FreeIniTnSFilter(
  69. PINITNSFILTER pIniTnSFilter
  70. );
  71. VOID
  72. LinkTnSpecificFilters(
  73. PINIQMPOLICY pIniQMPolicy,
  74. PINITNSFILTER pIniTnSFilters
  75. );
  76. VOID
  77. RemoveIniTnSFilter(
  78. PINITNSFILTER pIniTnSFilter
  79. );
  80. DWORD
  81. EnumSpecificTnFilters(
  82. PINITNSFILTER pIniTnSFilterList,
  83. DWORD dwResumeHandle,
  84. DWORD dwPreferredNumEntries,
  85. PTUNNEL_FILTER * ppTnFilters,
  86. PDWORD pdwNumTnFilters
  87. );
  88. DWORD
  89. CopyTnSFilter(
  90. PINITNSFILTER pIniTnSFilter,
  91. PTUNNEL_FILTER pTnFilter
  92. );
  93. DWORD
  94. EnumSelectSpecificTnFilters(
  95. PINITNFILTER pIniTnFilter,
  96. DWORD dwResumeHandle,
  97. DWORD dwPreferredNumEntries,
  98. PTUNNEL_FILTER * ppTnFilters,
  99. PDWORD pdwNumTnFilters
  100. );
  101. DWORD
  102. ValidateTnFilterTemplate(
  103. PTUNNEL_FILTER pTnFilter
  104. );
  105. BOOL
  106. MatchIniTnSFilter(
  107. PINITNSFILTER pIniTnSFilter,
  108. PTUNNEL_FILTER pTnFilter
  109. );
  110. DWORD
  111. CopyTnMatchDefaults(
  112. DWORD dwFlags,
  113. PTUNNEL_FILTER * ppTnFilters,
  114. PIPSEC_QM_POLICY * ppQMPolicies,
  115. PDWORD pdwNumMatches
  116. );
  117. DWORD
  118. CopyDefaultTnFilter(
  119. PTUNNEL_FILTER pTnFilter,
  120. PINIQMPOLICY pIniQMPolicy
  121. );