|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
routing\ip\rtrmgr\route.h
Abstract:
Header for route.c
Revision History:
--*/
#ifndef __RTRMGR_ROUTE_H__
#define __RTRMGR_ROUTE_H__
typedef struct _RTM_HANDLE_INFO { DWORD dwProtoId; BOOL bStatic; HANDLE hRouteHandle; }RTM_HANDLE_INFO, *PRTM_HANDLE_INFO;
RTM_HANDLE_INFO g_rgRtmHandles[5];
typedef struct _ROUTE_CHANGE_INFO { IO_STATUS_BLOCK ioStatus; IPRouteNotifyOutput ipNotifyOutput; } ROUTE_CHANGE_INFO, *PROUTE_CHANGE_INFO;
DWORD InitializeStaticRoutes( PICB picb, PRTR_INFO_BLOCK_HEADER pInfoHdr );
DWORD CopyOutClientRoutes( PICB picb, PRTR_INFO_BLOCK_HEADER pInfoHdr );
DWORD AddSingleRoute( DWORD dwInterfaceIndex, PINTERFACE_ROUTE_INFO pRoute, DWORD dwNextHopMask, WORD wRtmFlags, BOOL bValid, BOOL bAddToStack, BOOL bP2P, HANDLE *phRtmRoute OPTIONAL );
DWORD DeleteSingleRoute( DWORD dwInterfaceId, DWORD dwDestAddr, DWORD dwDestMask, DWORD dwNexthop, DWORD dwProtoId, BOOL bP2P );
DWORD DeleteAllRoutes( IN DWORD dwIfIndex, IN BOOL bStaticOnly );
VOID DeleteAllClientRoutes( PICB pIcb, DWORD dwServerIfIndex );
VOID AddAllClientRoutes( PICB pIcb, DWORD dwServerIfIndex );
DWORD GetNumStaticRoutes( PICB picb );
DWORD GetInterfaceRouteInfo( IN PICB picb, IN PRTR_TOC_ENTRY pToc, IN PBYTE pbDataPtr, IN OUT PRTR_INFO_BLOCK_HEADER pInfoHdr, IN OUT PDWORD pdwInfoSize );
DWORD ReadAllStaticRoutesIntoBuffer( PICB picb, PINTERFACE_ROUTE_INFO pRoutes, DWORD dwMaxRoutes );
DWORD SetRouteInfo( PICB picb, PRTR_INFO_BLOCK_HEADER pInfoHdr );
DWORD ConvertRoutesToAutoStatic( DWORD dwProtocolId, DWORD dwIfIndex );
VOID ChangeAdapterIndexForDodRoutes ( DWORD dwInterfaceIndex );
VOID AddAutomaticRoutes( PICB picb, DWORD dwAddress, DWORD dwMask );
VOID DeleteAutomaticRoutes( PICB picb, DWORD dwAddress, DWORD dwMask );
VOID ChangeDefaultRouteMetrics( IN BOOL bIncrement );
VOID AddAllStackRoutes( PICB pIcb );
VOID UpdateDefaultRoutes( VOID );
NTSTATUS PostIoctlForRouteChangeNotification( ULONG );
DWORD HandleRouteChangeNotification( ULONG );
VOID AddLoopbackRoute( DWORD dwIfAddress, DWORD dwIfMask );
VOID UpdateStackRoutesToRestoreList( IN PMIB_IPFORWARDROW pirf, IN DWORD dwFlags );
BOOL LookupStackRoutesToRestoreList( IN PMIB_IPFORWARDROW pmibRoute, OUT PROUTE_LIST_ENTRY *pRoute );
#endif // __RTRMGR_ROUTE_H__
|