//////////////////////////////////////////////////////////////////////// // // Module: Dynamic/DynamicAdd.h // // Purpose : Dynamic add and set commands for IPSec // // // Developers Name : Bharat/Radhika // // History : // // Date Author Comments // 10-8-2001 Bharat Initial Version. V1.0 // //////////////////////////////////////////////////////////////////////// #ifndef _DYNAMICADD_H_ #define _DYNAMICADD_H_ #define NAME_PREFIX _TEXT("IPSec") //Prefix to the all created names DWORD AddMainModePolicy( IN LPTSTR pPolicyName, IN IPSEC_MM_POLICY& ParserMMPol ); DWORD SetMainModePolicy( IN LPTSTR pPolicyName, IN IPSEC_MM_POLICY& ParserMMPol ); DWORD LoadMMOffersDefaults( IN OUT IPSEC_MM_POLICY & MMPolicy ); DWORD AddQuickModePolicy( IN LPTSTR pPolicyName, IN BOOL bDefault, IN BOOL bSoft, IN IPSEC_QM_POLICY& QMPol ); DWORD SetQuickModePolicy( IN LPTSTR pPolicyName, IN PIPSEC_QM_POLICY pQMPol ); DWORD AddQuickModeFilter( IN LPTSTR pFilterName, IN LPTSTR pPolicyName, IN TUNNEL_FILTER& ParserTunnelFltr ); DWORD AddQuickModeFilter( IN LPTSTR pFilterName, IN LPTSTR pPolicyName, IN TRANSPORT_FILTER& ParserTrpFltr ); DWORD SetQuickModeTransportFilter( IN LPTSTR pFilterName, IN LPTSTR pNewFilterName, IN LPTSTR pPolicyName, IN LPTSTR pMMFilterName, IN FILTER_ACTION Inbound, IN FILTER_ACTION Outbound ); DWORD SetTransportRule( IN TRANSPORT_FILTER& TrpFltr, IN LPTSTR pFilterActionName, IN FILTER_ACTION Inbound, IN FILTER_ACTION Outbound ); DWORD SetQuickModeTunnelFilter( IN LPTSTR pFilterName, IN LPTSTR pNewFilterName, IN LPTSTR pPolicyName, IN LPTSTR pMMFilterName, IN FILTER_ACTION Inbound, IN FILTER_ACTION Outbound ); DWORD SetTunnelRule( IN TUNNEL_FILTER& TunnelFltr, IN LPTSTR pFilterActionName, IN FILTER_ACTION Inbound, IN FILTER_ACTION Outbound ); BOOL FindAndGetMMFilterRule( IN ADDR SrcAddr, IN ADDR DstAddr, IN BOOL bMirror, IN IF_TYPE dwConType, IN BOOL bSrcMask, IN BOOL bDstMask, OUT PMM_FILTER *pMMFilterRule, OUT DWORD& dwReturn ); BOOL FindAndGetTransportRule( IN ADDR SrcAddr, IN ADDR DstAddr, IN BOOL bMirror, IN IF_TYPE ConType, IN DWORD dwProtocol, IN DWORD dwSrcPort, IN DWORD dwDstPort, IN BOOL bSrcMask, IN BOOL bDstMask, OUT PTRANSPORT_FILTER *pQMFilterRule, OUT DWORD& dwReturn ); BOOL FindAndGetTunnelRule( IN ADDR SrcAddr, IN ADDR DstAddr, IN BOOL bMirror, IN IF_TYPE ConType, IN DWORD dwProtocol, IN DWORD dwSrcPort, IN DWORD dwDstPort, IN BOOL bSrcMask, IN BOOL bDstMask, IN ADDR SrcTunnel, IN ADDR DstTunnel, OUT PTUNNEL_FILTER *pQMFilterRule, OUT DWORD& dwReturn ); DWORD AddMainModeFilter( IN LPTSTR pFilterName, IN LPTSTR pPolicyName, IN MM_FILTER& ParserMMFilter, IN STA_AUTH_METHODS& ParserAuthMethod ); DWORD SetDynamicMMFilter( IN LPTSTR pszFilterName, IN LPTSTR pszNewFilterName, IN LPTSTR pszPolicyName, IN MM_FILTER& ParserMMFilter, IN INT_MM_AUTH_METHODS& MMAuthMethod ); DWORD SetDynamicMMFilterRule( IN LPTSTR pszPolicyName, IN MM_FILTER& ParserMMFilter, IN STA_AUTH_METHODS& MMAuthMethod ); DWORD LoadMMFilterDefaults( IN OUT MM_FILTER& MMFilter ); DWORD AddAuthMethods( IN OUT STA_AUTH_METHODS& ParserAuthMethod ); DWORD DynamicDecodeCertificateName( IN BYTE *EncodedName, IN DWORD EncodedNameLength, IN OUT LPTSTR *ppszSubjectName ); DWORD ConnectDynamicMachine( IN LPCWSTR pwszMachine ); DWORD CreateName( IN LPTSTR * ppszQMFilterName ); BOOL IsLastRuleOfMMFilter( IN ADDR SrcAddr, IN ADDR DstAddr, IN BOOL bMirror, IN IF_TYPE ConType, IN BOOL bSrcMask, IN BOOL bDstMask, IN OUT DWORD& dwStatus ); DWORD FloorCountTransportRuleOfMMFilter( IN ADDR SrcAddr, IN ADDR DstAddr, IN BOOL bMirror, IN IF_TYPE ConType, IN BOOL bSrcMask, IN BOOL bDstMask, IN OUT DWORD& dwStatus ); DWORD FloorCountTunnelRuleOfMMFilter( IN ADDR SrcTunnel, IN ADDR DstTunnel, IN BOOL bMirror, IN IF_TYPE ConType, OUT DWORD& dwStatus ); #endif //_DYNAMICADD_H_