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.

174 lines
3.3 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. mmspecific.h
  5. Abstract:
  6. This module contains all of the code prototypes to
  7. drive the specific mm filter list management of
  8. IPSecSPD Service.
  9. Author:
  10. Environment
  11. Revision History:
  12. --*/
  13. DWORD
  14. ApplyMMTransform(
  15. PINIMMFILTER pFilter,
  16. MATCHING_ADDR * pMatchingAddresses,
  17. DWORD dwAddrCnt,
  18. PSPECIAL_ADDR pSpecialAddrsList,
  19. PINIMMSFILTER * ppSpecificFilters
  20. );
  21. DWORD
  22. FormMMOutboundInboundAddresses(
  23. PINIMMFILTER pFilter,
  24. MATCHING_ADDR * pMatchingAddresses,
  25. DWORD dwAddrCnt,
  26. PSPECIAL_ADDR pSpecialAddrsList,
  27. PADDR_V4 * ppOutSrcAddrList,
  28. PDWORD pdwOutSrcAddrCnt,
  29. PADDR_V4 * ppInSrcAddrList,
  30. PDWORD pdwInSrcAddrCnt,
  31. PADDR_V4 * ppOutDesAddrList,
  32. PDWORD pdwOutDesAddrCnt,
  33. PADDR_V4 * ppInDesAddrList,
  34. PDWORD pdwInDesAddrCnt
  35. );
  36. DWORD
  37. FormSpecificMMFilters(
  38. PINIMMFILTER pFilter,
  39. PADDR_V4 pSrcAddrList,
  40. DWORD dwSrcAddrCnt,
  41. PADDR_V4 pDesAddrList,
  42. DWORD dwDesAddrCnt,
  43. DWORD dwDirection,
  44. PINIMMSFILTER * ppSpecificFilters
  45. );
  46. DWORD
  47. CreateSpecificMMFilter(
  48. PINIMMFILTER pGenericFilter,
  49. ADDR_V4 SrcAddr,
  50. ADDR_V4 DesAddr,
  51. PINIMMSFILTER * ppSpecificFilter
  52. );
  53. VOID
  54. AssignMMFilterWeight(
  55. PINIMMSFILTER pSpecificFilter
  56. );
  57. VOID
  58. AddToSpecificMMList(
  59. PINIMMSFILTER * ppSpecificMMFilterList,
  60. PINIMMSFILTER pSpecificMMFilters
  61. );
  62. VOID
  63. FreeIniMMSFilterList(
  64. PINIMMSFILTER pIniMMSFilterList
  65. );
  66. VOID
  67. FreeIniMMSFilter(
  68. PINIMMSFILTER pIniMMSFilter
  69. );
  70. VOID
  71. LinkMMSpecificFiltersToPolicy(
  72. PINIMMPOLICY pIniMMPolicy,
  73. PINIMMSFILTER pIniMMSFilters
  74. );
  75. VOID
  76. LinkMMSpecificFiltersToAuth(
  77. PINIMMAUTHMETHODS pIniMMAuthMethods,
  78. PINIMMSFILTER pIniMMSFilters
  79. );
  80. VOID
  81. RemoveIniMMSFilter(
  82. PINIMMSFILTER pIniMMSFilter
  83. );
  84. DWORD
  85. EnumSpecificMMFilters(
  86. PINIMMSFILTER pIniMMSFilterList,
  87. DWORD dwResumeHandle,
  88. DWORD dwPreferredNumEntries,
  89. PMM_FILTER * ppMMFilters,
  90. PDWORD pdwNumMMFilters
  91. );
  92. DWORD
  93. CopyMMSFilter(
  94. PINIMMSFILTER pIniMMSFilter,
  95. PMM_FILTER pMMFilter
  96. );
  97. DWORD
  98. EnumSelectSpecificMMFilters(
  99. PINIMMFILTER pIniMMFilter,
  100. DWORD dwResumeHandle,
  101. DWORD dwPreferredNumEntries,
  102. PMM_FILTER * ppMMFilters,
  103. PDWORD pdwNumMMFilters
  104. );
  105. DWORD
  106. ValidateMMFilterTemplate(
  107. PMM_FILTER pMMFilter
  108. );
  109. BOOL
  110. MatchIniMMSFilter(
  111. PINIMMSFILTER pIniMMSFilter,
  112. PMM_FILTER pMMFilter
  113. );
  114. DWORD
  115. CopyMMMatchDefaults(
  116. PMM_FILTER * ppMMFilters,
  117. PINT_MM_AUTH_METHODS * ppMMAuthMethods,
  118. PIPSEC_MM_POLICY * ppMMPolicies,
  119. PDWORD pdwNumMatches
  120. );
  121. DWORD
  122. CopyDefaultMMFilter(
  123. PMM_FILTER pMMFilter,
  124. PINIMMAUTHMETHODS pIniMMAuthMethods,
  125. PINIMMPOLICY pIniMMPolicy
  126. );
  127. DWORD
  128. IntMatchMMFilter(
  129. LPWSTR pServerName,
  130. DWORD dwVersion,
  131. PMM_FILTER pMMFilter,
  132. DWORD dwFlags,
  133. DWORD dwPreferredNumEntries,
  134. PMM_FILTER * ppMatchedMMFilters,
  135. PIPSEC_MM_POLICY * ppMatchedMMPolicies,
  136. PINT_MM_AUTH_METHODS * ppMatchedMMAuthMethods,
  137. LPDWORD pdwNumMatches,
  138. LPDWORD pdwResumeHandle,
  139. LPVOID pvReserved
  140. );