rtmv2.h (5.2.3790.3959-Windows 5.0) | | rtmv2.h (6.0.6001.18000-Windows 6.0) |
| | |
skipping to change at line 22 | | skipping to change at line 22 |
Author: | | Author: |
Chaitanya Kodeboyina (chaitk) 01-Jun-1998 | | Chaitanya Kodeboyina (chaitk) 01-Jun-1998 |
| | |
Revision History: | | Revision History: |
| | |
--*/ | | --*/ |
| | |
#ifndef __ROUTING_RTMv2_H__ | | #ifndef __ROUTING_RTMv2_H__ |
#define __ROUTING_RTMv2_H__ | | #define __ROUTING_RTMv2_H__ |
| | |
|
| | #pragma once |
| | |
| | #include <in6addr.h> |
| | |
#ifdef __cplusplus | | #ifdef __cplusplus |
extern "C" | | extern "C" |
{ | | { |
#endif | | #endif |
| | |
// | | // |
// General Constants defined by the API | | // General Constants defined by the API |
// | | // |
| | |
// Max addr size for an address family | | // Max addr size for an address family |
| | |
skipping to change at line 161 | | skipping to change at line 165 |
#define RTM_IPV4_SET_ADDR_AND_MASK(NetAddress, Addr, Mask) \ | | #define RTM_IPV4_SET_ADDR_AND_MASK(NetAddress, Addr, Mask) \ |
(NetAddress)->AddressFamily = AF_INET; \ | | (NetAddress)->AddressFamily = AF_INET; \ |
(* (ULONG *) ((NetAddress)->AddrBits)) = (Addr); \ | | (* (ULONG *) ((NetAddress)->AddrBits)) = (Addr); \ |
RTM_IPV4_LEN_FROM_MASK((NetAddress)->NumBits, Mask) | | RTM_IPV4_LEN_FROM_MASK((NetAddress)->NumBits, Mask) |
| | |
#define RTM_IPV4_GET_ADDR_AND_MASK(Addr, Mask, NetAddress) \ | | #define RTM_IPV4_GET_ADDR_AND_MASK(Addr, Mask, NetAddress) \ |
(Addr) = (* (ULONG *) ((NetAddress)->AddrBits)); \ | | (Addr) = (* (ULONG *) ((NetAddress)->AddrBits)); \ |
(Mask) = RTM_IPV4_MASK_FROM_LEN((NetAddress)->NumBits); \ | | (Mask) = RTM_IPV4_MASK_FROM_LEN((NetAddress)->NumBits); \ |
| | |
// | | // |
|
| | // IPv6 Helper functions on addresss |
| | // |
| | |
| | DWORD |
| | RtmConvertNetAddressToIpv6AddressAndLength( |
| | IN PRTM_NET_ADDRESS pNetAddress, |
| | OUT PIN6_ADDR pAddress, |
| | OUT PDWORD pLength, |
| | IN DWORD dwAddressSize |
| | ); |
| | |
| | DWORD |
| | RtmConvertIpv6AddressAndLengthToNetAddress( |
| | OUT PRTM_NET_ADDRESS pNetAddress, |
| | IN IN6_ADDR Address, |
| | IN DWORD dwLength, |
| | IN DWORD dwAddressSize |
| | ); |
| | |
| | // |
| | // IPv6 macros to work on addresses |
| | // |
| | #define IPV6_ADDRESS_LEN_IN_BYTES 16 |
| | |
| | #define RTM_IPV6_MAKE_NET_ADDRESS(NetAddress, Addr, Len) \ |
| | RTM_IPV6_SET_ADDR_AND_LEN(NetAddress, Addr, Len) |
| | |
| | #define RTM_IPV6_SET_ADDR_AND_LEN(NetAddress, Addr, Len) \ |
| | (NetAddress)->AddressFamily = AF_INET6; \ |
| | (RtmConvertIpv6AddressAndLengthToNetAddress(NetAddress, Addr, Len, IPV6_ |
| | ADDRESS_LEN_IN_BYTES)) \ |
| | |
| | #define RTM_IPV6_GET_ADDR_AND_LEN(Addr, Len, NetAddress) \ |
| | (RtmConvertNetAddressToIpv6AddressAndLength(NetAddress, Addr, Len, IPV6_ |
| | ADDRESS_LEN_IN_BYTES)) \ |
| | |
| | // |
// This structure encapsulates info | | // This structure encapsulates info |
// used in comparing any two routes | | // used in comparing any two routes |
// [Preference is impt than metric] | | // [Preference is impt than metric] |
// | | // |
typedef struct _RTM_PREF_INFO | | typedef struct _RTM_PREF_INFO |
{ | | { |
ULONG Metric; // Routing protocol specific metric | | ULONG Metric; // Routing protocol specific metric |
ULONG Preference; // Determined by the router policy | | ULONG Preference; // Determined by the router policy |
} | | } |
RTM_PREF_INFO, *PRTM_PREF_INFO; | | RTM_PREF_INFO, *PRTM_PREF_INFO; |
| | |
skipping to change at line 484 | | skipping to change at line 523 |
// Methods exported by a registered entity | | // Methods exported by a registered entity |
// | | // |
| | |
#define METHOD_TYPE_ALL_METHODS 0xFFFFFFFF | | #define METHOD_TYPE_ALL_METHODS 0xFFFFFFFF |
| | |
#define METHOD_RIP2_NEIGHBOUR_ADDR 0x00000001 | | #define METHOD_RIP2_NEIGHBOUR_ADDR 0x00000001 |
#define METHOD_RIP2_OUTBOUND_INTF 0x00000002 | | #define METHOD_RIP2_OUTBOUND_INTF 0x00000002 |
#define METHOD_RIP2_ROUTE_TAG 0x00000004 | | #define METHOD_RIP2_ROUTE_TAG 0x00000004 |
#define METHOD_RIP2_ROUTE_TIMESTAMP 0x00000008 | | #define METHOD_RIP2_ROUTE_TIMESTAMP 0x00000008 |
| | |
|
#define METHOD_OSPF_ROUTE_TYPE 0x00000001 | | |
#define METHOD_OSPF_ROUTE_METRIC 0x00000002 | | |
#define METHOD_OSPF_LSDB_TYPE 0x00000004 | | |
#define METHOD_OSPF_ROUTE_TAG 0x00000008 | | |
#define METHOD_OSPF_ROUTE_AREA 0x00000010 | | |
#define METHOD_OSPF_FWD_ADDRESS 0x00000020 | | |
| | |
#define METHOD_BGP4_AS_PATH 0x00000001 | | #define METHOD_BGP4_AS_PATH 0x00000001 |
#define METHOD_BGP4_PEER_ID 0x00000002 | | #define METHOD_BGP4_PEER_ID 0x00000002 |
#define METHOD_BGP4_PA_ORIGIN 0x00000004 | | #define METHOD_BGP4_PA_ORIGIN 0x00000004 |
#define METHOD_BGP4_NEXTHOP_ATTR 0x00000008 | | #define METHOD_BGP4_NEXTHOP_ATTR 0x00000008 |
| | |
typedef DWORD RTM_ENTITY_METHOD_TYPE, | | typedef DWORD RTM_ENTITY_METHOD_TYPE, |
*PRTM_ENTITY_METHOD_TYPE; | | *PRTM_ENTITY_METHOD_TYPE; |
| | |
// | | // |
// Generic Input Structure for entity methods | | // Generic Input Structure for entity methods |
| | |
skipping to change at line 1166 | | skipping to change at line 1198 |
IN RTM_ROUTE_LIST_HANDLE RouteListHandle, | | IN RTM_ROUTE_LIST_HANDLE RouteListHandle, |
OUT PRTM_ENUM_HANDLE RtmEnumHandle | | OUT PRTM_ENUM_HANDLE RtmEnumHandle |
); | | ); |
| | |
DWORD | | DWORD |
WINAPI | | WINAPI |
RtmGetListEnumRoutes ( | | RtmGetListEnumRoutes ( |
IN RTM_ENTITY_HANDLE RtmRegHandle, | | IN RTM_ENTITY_HANDLE RtmRegHandle, |
IN RTM_ENUM_HANDLE EnumHandle, | | IN RTM_ENUM_HANDLE EnumHandle, |
IN OUT PUINT NumRoutes, | | IN OUT PUINT NumRoutes, |
|
OUT PRTM_ROUTE_HANDLE RouteHandles | | __out_ecount(*NumRoutes) OUT PRTM_ROUTE_HANDLE RouteHandle
s |
); | | ); |
| | |
DWORD | | DWORD |
WINAPI | | WINAPI |
RtmDeleteRouteList ( | | RtmDeleteRouteList ( |
IN RTM_ENTITY_HANDLE RtmRegHandle, | | IN RTM_ENTITY_HANDLE RtmRegHandle, |
IN RTM_ROUTE_LIST_HANDLE RouteListHandle | | IN RTM_ROUTE_LIST_HANDLE RouteListHandle |
); | | ); |
| | |
// | | // |
| | |
End of changes. 4 change blocks. |
8 lines changed or deleted | | 42 lines changed or added |
|