windows-nt/Source/XPSP1/NT/net/rras/inc/rtmmgmt.h
2020-09-26 16:20:57 +08:00

107 lines
2.7 KiB
C

/*++
Copyright (c) 1997 - 98, Microsoft Corporation
Module Name:
rtmmgmt.h
Abstract:
Definitions used in performing management
functions on Routing Table Manager v2.
Author:
Chaitanya Kodeboyina (chaitk) 17-Aug-1998
Revision History:
--*/
#ifndef __ROUTING_RTMMGMT_H__
#define __ROUTING_RTMMGMT_H__
#ifdef __cplusplus
extern "C"
{
#endif
//
// Info related to an RTM instance
//
typedef struct RTM_INSTANCE_INFO
{
USHORT RtmInstanceId; // Unique ID for this RTM instance
UINT NumAddressFamilies; // Num. of addr families supported
}
RTM_INSTANCE_INFO, *PRTM_INSTANCE_INFO;
//
// Info related to an address family
// (IPv4..) in a certain RTM instance
//
typedef struct _RTM_ADDRESS_FAMILY_INFO
{
USHORT RtmInstanceId; // Unique ID for the owner RTM instance
USHORT AddressFamily; // Address Family for this info block
RTM_VIEW_SET ViewsSupported; // Views supported by this addr family
UINT MaxHandlesInEnum; // Max. number of handles returned in
// any RTMv2 call that gives handles
UINT MaxNextHopsInRoute;// Max. number of equal cost next-hops
UINT MaxOpaquePtrs; // Number of opaque ptr slots in dest
UINT NumOpaquePtrs; // Num. of opaque ptrs already in use
UINT NumEntities; // Total number of registered entities
UINT NumDests; // Number of dests in route table
UINT NumRoutes; // Number of routes in route table
UINT MaxChangeNotifs; // Max num. of change notify regns
UINT NumChangeNotifs; // Num of registrations active now
}
RTM_ADDRESS_FAMILY_INFO, *PRTM_ADDRESS_FAMILY_INFO;
//
// Funcs used to enumerate instances and address families
//
DWORD
WINAPI
RtmGetInstances (
IN OUT PUINT NumInstances,
OUT PRTM_INSTANCE_INFO InstanceInfos
);
DWORD
WINAPI
RtmGetInstanceInfo (
IN USHORT RtmInstanceId,
OUT PRTM_INSTANCE_INFO InstanceInfo,
IN OUT PUINT NumAddrFamilies,
OUT PRTM_ADDRESS_FAMILY_INFO AddrFamilyInfos OPTIONAL
);
DWORD
WINAPI
RtmGetAddressFamilyInfo (
IN USHORT RtmInstanceId,
IN USHORT AddressFamily,
OUT PRTM_ADDRESS_FAMILY_INFO AddrFamilyInfo,
IN OUT PUINT NumEntities,
OUT PRTM_ENTITY_INFO EntityInfos OPTIONAL
);
#ifdef __cplusplus
}
#endif
#endif //__ROUTING_RTMMGMT_H__