/*++ Copyright (c) 1999, Microsoft Corporation Module Name: sample\rtmapi.h Abstract: The file contains the header for rtmapi.c... --*/ #ifndef _RTMAPI_H_ #define _RTMAPI_H_ // // this indirection would be useful if i ever write a protocol emulator // #define RTM_RegisterEntity(preiEntity, \ preemMethods, \ recCallback, \ bReserve, \ rrpProfile, \ phHandle) \ RtmRegisterEntity(preiEntity, \ preemMethods, \ recCallback, \ bReserve, \ rrpProfile, \ phHandle) #define RTM_DeregisterEntity(hHandle) \ RtmDeregisterEntity(hHandle) #define RTM_RegisterForChangeNotification(hHandle, \ rvsViews, \ rnfFlags, \ pvContext, \ phNotificationHandle) \ RtmRegisterForChangeNotification(hHandle, \ rvsViews, \ rnfFlags, \ pvContext, \ phNotificationHandle) #define RTM_DeregisterFromChangeNotification(hHandle, \ hNotificationHandle) \ RtmDeregisterFromChangeNotification(hHandle, \ hNotificationHandle) #define RTM_GetChangedDests(hRtmHandle, \ hNotificationHandle, \ puiNumDests, \ pRtmDestInfo) \ RtmGetChangedDests(hRtmHandle, \ hNotificationHandle, \ puiNumDests, \ pRtmDestInfo) #define RTM_ReleaseChangedDests(hRtmHandle, \ hNotificationHandle, \ uiNumDests, \ pRtmDestInfo) \ RtmReleaseChangedDests(hRtmHandle, \ hNotificationHandle, \ uiNumDests, \ pRtmDestInfo) #define RTM_SetAddress(prnaAddress, \ ipAddress) \ RTM_IPV4_SET_ADDR_AND_LEN(prnaAddress, \ ipAddress, \ sizeof(IPADDRESS)) #define RTM_GetAddress(pipAddress, \ prnaAddress) \ ( \ IP_ASSIGN((pipAddress), (* (ULONG *) (prnaAddress)->AddrBits)) \ ) #define RTM_GetMostSpecificDestination (RtmRegHandle, \ DestAddress, \ ProtocolId, \ TargetView, \ DestInfo) \ RtmGetMostSpecificDestination (RtmRegHandle, \ DestAddress, \ ProtocolId, \ TargetView, \ DestInfo) #define RTM_ReleaseDestInfo (RtmRegHandle, \ DestInfo) \ RtmReleaseDestInfo (RtmRegHandle, \ DestInfo) #define RTM_MarkDestForChangeNotification (RtmRegHandle, \ NotifyHandle, \ DestHandle, \ MarkDest) \ RtmMarkDestForChangeNotification (RtmRegHandle, \ NotifyHandle, \ DestHandle, \ MarkDest) #define RTM_IsMarkedForChangeNotification (RtmRegHandle, \ NotifyHandle, \ DestHandle, \ DestMarked) \ RtmIsMarkedForChangeNotification (RtmRegHandle, \ NotifyHandle, \ DestHandle, \ DestMarked) #define RTM_GetOpaqueInformationPointer (RtmRegHandle, \ DestHandle, \ OpaqueInfoPointer) \ RtmGetOpaqueInformationPointer (RtmRegHandle, \ DestHandle, \ OpaqueInfoPointer) // // function declarations for rtmv2 interface // #ifdef DEBUG DWORD RTM_DisplayDestInfo( IN PRTM_DEST_INFO prdi); #else #define RTM_DisplayDestInfo(prdi) #endif // DEBUG DWORD RTM_NextHop ( IN PRTM_DEST_INFO prdiDestination, OUT PDWORD pdwIfIndex, OUT PIPADDRESS pipNeighbor); DWORD APIENTRY RTM_CallbackEvent ( IN RTM_ENTITY_HANDLE hRtmHandle, IN RTM_EVENT_TYPE retEvent, IN PVOID pvContext1, IN PVOID pvContext2); #endif // _RTMAPI_H_