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.

228 lines
4.1 KiB

  1. ////////////////////////////////////////////////////////////////////////
  2. //
  3. // Module: Dynamic/DynamicAdd.h
  4. //
  5. // Purpose : Dynamic add and set commands for IPSec
  6. //
  7. //
  8. // Developers Name : Bharat/Radhika
  9. //
  10. // History :
  11. //
  12. // Date Author Comments
  13. // 10-8-2001 Bharat Initial Version. V1.0
  14. //
  15. ////////////////////////////////////////////////////////////////////////
  16. #ifndef _DYNAMICADD_H_
  17. #define _DYNAMICADD_H_
  18. #define NAME_PREFIX _TEXT("IPSec") //Prefix to the all created names
  19. DWORD
  20. AddMainModePolicy(
  21. IN LPTSTR pPolicyName,
  22. IN IPSEC_MM_POLICY& ParserMMPol
  23. );
  24. DWORD
  25. SetMainModePolicy(
  26. IN LPTSTR pPolicyName,
  27. IN IPSEC_MM_POLICY& ParserMMPol
  28. );
  29. DWORD
  30. LoadMMOffersDefaults(
  31. IN OUT IPSEC_MM_POLICY & MMPolicy
  32. );
  33. DWORD
  34. AddQuickModePolicy(
  35. IN LPTSTR pPolicyName,
  36. IN BOOL bDefault,
  37. IN BOOL bSoft,
  38. IN IPSEC_QM_POLICY& QMPol
  39. );
  40. DWORD
  41. SetQuickModePolicy(
  42. IN LPTSTR pPolicyName,
  43. IN PIPSEC_QM_POLICY pQMPol
  44. );
  45. DWORD
  46. AddQuickModeFilter(
  47. IN LPTSTR pFilterName,
  48. IN LPTSTR pPolicyName,
  49. IN TUNNEL_FILTER& ParserTunnelFltr
  50. );
  51. DWORD
  52. AddQuickModeFilter(
  53. IN LPTSTR pFilterName,
  54. IN LPTSTR pPolicyName,
  55. IN TRANSPORT_FILTER& ParserTrpFltr
  56. );
  57. DWORD
  58. SetQuickModeTransportFilter(
  59. IN LPTSTR pFilterName,
  60. IN LPTSTR pNewFilterName,
  61. IN LPTSTR pPolicyName,
  62. IN LPTSTR pMMFilterName,
  63. IN FILTER_ACTION Inbound,
  64. IN FILTER_ACTION Outbound
  65. );
  66. DWORD
  67. SetTransportRule(
  68. IN TRANSPORT_FILTER& TrpFltr,
  69. IN LPTSTR pFilterActionName,
  70. IN FILTER_ACTION Inbound,
  71. IN FILTER_ACTION Outbound
  72. );
  73. DWORD
  74. SetQuickModeTunnelFilter(
  75. IN LPTSTR pFilterName,
  76. IN LPTSTR pNewFilterName,
  77. IN LPTSTR pPolicyName,
  78. IN LPTSTR pMMFilterName,
  79. IN FILTER_ACTION Inbound,
  80. IN FILTER_ACTION Outbound
  81. );
  82. DWORD
  83. SetTunnelRule(
  84. IN TUNNEL_FILTER& TunnelFltr,
  85. IN LPTSTR pFilterActionName,
  86. IN FILTER_ACTION Inbound,
  87. IN FILTER_ACTION Outbound
  88. );
  89. BOOL
  90. FindAndGetMMFilterRule(
  91. IN ADDR SrcAddr,
  92. IN ADDR DstAddr,
  93. IN BOOL bMirror,
  94. IN IF_TYPE dwConType,
  95. IN BOOL bSrcMask,
  96. IN BOOL bDstMask,
  97. OUT PMM_FILTER *pMMFilterRule,
  98. OUT DWORD& dwReturn
  99. );
  100. BOOL
  101. FindAndGetTransportRule(
  102. IN ADDR SrcAddr,
  103. IN ADDR DstAddr,
  104. IN BOOL bMirror,
  105. IN IF_TYPE ConType,
  106. IN DWORD dwProtocol,
  107. IN DWORD dwSrcPort,
  108. IN DWORD dwDstPort,
  109. IN BOOL bSrcMask,
  110. IN BOOL bDstMask,
  111. OUT PTRANSPORT_FILTER *pQMFilterRule,
  112. OUT DWORD& dwReturn
  113. );
  114. BOOL
  115. FindAndGetTunnelRule(
  116. IN ADDR SrcAddr,
  117. IN ADDR DstAddr,
  118. IN BOOL bMirror,
  119. IN IF_TYPE ConType,
  120. IN DWORD dwProtocol,
  121. IN DWORD dwSrcPort,
  122. IN DWORD dwDstPort,
  123. IN BOOL bSrcMask,
  124. IN BOOL bDstMask,
  125. IN ADDR SrcTunnel,
  126. IN ADDR DstTunnel,
  127. OUT PTUNNEL_FILTER *pQMFilterRule,
  128. OUT DWORD& dwReturn
  129. );
  130. DWORD
  131. AddMainModeFilter(
  132. IN LPTSTR pFilterName,
  133. IN LPTSTR pPolicyName,
  134. IN MM_FILTER& ParserMMFilter,
  135. IN STA_AUTH_METHODS& ParserAuthMethod
  136. );
  137. DWORD
  138. SetDynamicMMFilter(
  139. IN LPTSTR pszFilterName,
  140. IN LPTSTR pszNewFilterName,
  141. IN LPTSTR pszPolicyName,
  142. IN MM_FILTER& ParserMMFilter,
  143. IN INT_MM_AUTH_METHODS& MMAuthMethod
  144. );
  145. DWORD
  146. SetDynamicMMFilterRule(
  147. IN LPTSTR pszPolicyName,
  148. IN MM_FILTER& ParserMMFilter,
  149. IN STA_AUTH_METHODS& MMAuthMethod
  150. );
  151. DWORD
  152. LoadMMFilterDefaults(
  153. IN OUT MM_FILTER& MMFilter
  154. );
  155. DWORD
  156. AddAuthMethods(
  157. IN OUT STA_AUTH_METHODS& ParserAuthMethod
  158. );
  159. DWORD
  160. DynamicDecodeCertificateName(
  161. IN BYTE *EncodedName,
  162. IN DWORD EncodedNameLength,
  163. IN OUT LPTSTR *ppszSubjectName
  164. );
  165. DWORD
  166. ConnectDynamicMachine(
  167. IN LPCWSTR pwszMachine
  168. );
  169. DWORD
  170. CreateName(
  171. IN LPTSTR * ppszQMFilterName
  172. );
  173. BOOL
  174. IsLastRuleOfMMFilter(
  175. IN ADDR SrcAddr,
  176. IN ADDR DstAddr,
  177. IN BOOL bMirror,
  178. IN IF_TYPE ConType,
  179. IN BOOL bSrcMask,
  180. IN BOOL bDstMask,
  181. IN OUT DWORD& dwStatus
  182. );
  183. DWORD
  184. FloorCountTransportRuleOfMMFilter(
  185. IN ADDR SrcAddr,
  186. IN ADDR DstAddr,
  187. IN BOOL bMirror,
  188. IN IF_TYPE ConType,
  189. IN BOOL bSrcMask,
  190. IN BOOL bDstMask,
  191. IN OUT DWORD& dwStatus
  192. );
  193. DWORD
  194. FloorCountTunnelRuleOfMMFilter(
  195. IN ADDR SrcTunnel,
  196. IN ADDR DstTunnel,
  197. IN BOOL bMirror,
  198. IN IF_TYPE ConType,
  199. OUT DWORD& dwStatus
  200. );
  201. #endif //_DYNAMICADD_H_