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.
 
 
 
 
 
 

214 lines
4.1 KiB

/*++
Copyright (c) 1999 Microsoft Corporation
Module Name:
txspecific.h
Abstract:
This module contains all of the code prototypes to
drive the specific transport filter list management of
IPSecSPD Service.
Author:
abhisheV 29-October-1999
Environment
User Level: Win32
Revision History:
--*/
DWORD
ApplyTxTransform(
PINITXFILTER pFilter,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwAddrCnt,
PSPECIAL_ADDR pSpecialAddrsList,
PINITXSFILTER * ppSpecificFilters
);
DWORD
FormTxOutboundInboundAddresses(
PINITXFILTER pFilter,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwAddrCnt,
PSPECIAL_ADDR pSpecialAddrsList,
PADDR_V4 * ppOutSrcAddrList,
PDWORD pdwOutSrcAddrCnt,
PADDR_V4 * ppInSrcAddrList,
PDWORD pdwInSrcAddrCnt,
PADDR_V4 * ppOutDesAddrList,
PDWORD pdwOutDesAddrCnt,
PADDR_V4 * ppInDesAddrList,
PDWORD pdwInDesAddrCnt
);
DWORD
FormAddressList(
ADDR_V4 InAddr,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwAddrCnt,
PSPECIAL_ADDR pSpecialAddrsList,
IF_TYPE FilterInterfaceType,
PADDR_V4 * ppOutAddr,
PDWORD pdwOutAddrCnt
);
DWORD
SeparateAddrList(
ADDR_TYPE AddrType,
PADDR_V4 pAddrList,
DWORD dwAddrCnt,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwLocalAddrCnt,
PADDR_V4 * ppOutAddrList,
PDWORD pdwOutAddrCnt,
PADDR_V4 * ppInAddrList,
PDWORD pdwInAddrCnt
);
DWORD
FormSpecificTxFilters(
PINITXFILTER pFilter,
PADDR_V4 pSrcAddrList,
DWORD dwSrcAddrCnt,
PADDR_V4 pDesAddrList,
DWORD dwDesAddrCnt,
DWORD dwDirection,
PINITXSFILTER * ppSpecificFilters
);
DWORD
SeparateUniqueAddresses(
PADDR_V4 pAddrList,
DWORD dwAddrCnt,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwLocalAddrCnt,
PADDR_V4 * ppIsMeAddrList,
PDWORD pdwIsMeAddrCnt,
PADDR_V4 * ppIsNotMeAddrList,
PDWORD pdwIsNotMeAddrCnt
);
DWORD
SeparateSubNetAddresses(
PADDR_V4 pAddrList,
DWORD dwAddrCnt,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwLocalAddrCnt,
PADDR_V4 * ppIsMeAddrList,
PDWORD pdwIsMeAddrCnt,
PADDR_V4 * ppIsNotMeAddrList,
PDWORD pdwIsNotMeAddrCnt
);
DWORD
CreateSpecificTxFilter(
PINITXFILTER pGenericFilter,
ADDR_V4 SrcAddr,
ADDR_V4 DesAddr,
PINITXSFILTER * ppSpecificFilter
);
VOID
AssignTxFilterWeight(
PINITXSFILTER pSpecificFilter
);
VOID
AddToSpecificTxList(
PINITXSFILTER * ppSpecificTxFilterList,
PINITXSFILTER pSpecificTxFilters
);
VOID
FreeIniTxSFilterList(
PINITXSFILTER pIniTxSFilterList
);
VOID
FreeIniTxSFilter(
PINITXSFILTER pIniTxSFilter
);
VOID
LinkTxSpecificFilters(
PINIQMPOLICY pIniQMPolicy,
PINITXSFILTER pIniTxSFilters
);
VOID
RemoveIniTxSFilter(
PINITXSFILTER pIniTxSFilter
);
DWORD
EnumSpecificTxFilters(
PINITXSFILTER pIniTxSFilterList,
DWORD dwResumeHandle,
DWORD dwPreferredNumEntries,
PTRANSPORT_FILTER * ppTxFilters,
PDWORD pdwNumTxFilters
);
DWORD
CopyTxSFilter(
PINITXSFILTER pIniTxSFilter,
PTRANSPORT_FILTER pTxFilter
);
DWORD
EnumSelectSpecificTxFilters(
PINITXFILTER pIniTxFilter,
DWORD dwResumeHandle,
DWORD dwPreferredNumEntries,
PTRANSPORT_FILTER * ppTxFilters,
PDWORD pdwNumTxFilters
);
DWORD
ValidateTxFilterTemplate(
PTRANSPORT_FILTER pTxFilter
);
BOOL
MatchIniTxSFilter(
PINITXSFILTER pIniTxSFilter,
PTRANSPORT_FILTER pTxFilter
);
DWORD
CopyTxMatchDefaults(
DWORD dwFlags,
PTRANSPORT_FILTER * ppTxFilters,
PIPSEC_QM_POLICY * ppQMPolicies,
PDWORD pdwNumMatches
);
DWORD
CopyDefaultTxFilter(
PTRANSPORT_FILTER pTxFilter,
PINIQMPOLICY pIniQMPolicy
);
DWORD
SeparateInterfaceAddresses(
PADDR_V4 pAddrList,
DWORD dwAddrCnt,
MATCHING_ADDR * pMatchingAddresses,
DWORD dwLocalAddrCnt,
PADDR_V4 * ppIsMeAddrList,
PDWORD pdwIsMeAddrCnt,
PADDR_V4 * ppIsNotMeAddrList,
PDWORD pdwIsNotMeAddrCnt
);