/*++ 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__