134 lines
1.8 KiB
C
134 lines
1.8 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1995 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
routing\ip\rtrmgr\mhrtbt.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Header for multicast heartbeat
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
Amritansh Raghav 26th Dec 1997 Created
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#define MHBEAT_SOCKET_FLAGS \
|
||
|
(WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_MULTIPOINT_D_LEAF)
|
||
|
|
||
|
typedef struct _MCAST_HBEAT_CB
|
||
|
{
|
||
|
BOOL bActive;
|
||
|
|
||
|
//
|
||
|
// The name/address of group
|
||
|
//
|
||
|
|
||
|
WCHAR pwszGroup[MAX_GROUP_LEN];
|
||
|
|
||
|
//
|
||
|
// The resolved address
|
||
|
//
|
||
|
|
||
|
DWORD dwGroup;
|
||
|
|
||
|
//
|
||
|
// Port or protocol
|
||
|
//
|
||
|
|
||
|
WORD wPort;
|
||
|
|
||
|
//
|
||
|
// Protocol or RAW
|
||
|
//
|
||
|
|
||
|
BYTE byProtocol;
|
||
|
|
||
|
//
|
||
|
// Set to TRUE if a gethostbyname is in progress
|
||
|
//
|
||
|
|
||
|
BOOL bResolutionInProgress;
|
||
|
|
||
|
//
|
||
|
// The socket for the interface
|
||
|
//
|
||
|
|
||
|
SOCKET sHbeatSocket;
|
||
|
|
||
|
//
|
||
|
// The dead interval in system ticks
|
||
|
//
|
||
|
|
||
|
ULONGLONG ullDeadInterval;
|
||
|
|
||
|
ULONGLONG ullLastHeard;
|
||
|
|
||
|
}MCAST_HBEAT_CB, *PMCAST_HBEAT_CB;
|
||
|
|
||
|
|
||
|
//
|
||
|
// Structure used to pass to worker function
|
||
|
//
|
||
|
|
||
|
typedef struct _HEARTBEAT_CONTEXT
|
||
|
{
|
||
|
DWORD dwIfIndex;
|
||
|
PICB picb;
|
||
|
WCHAR pwszGroup[MAX_GROUP_LEN];
|
||
|
}HEARTBEAT_CONTEXT, *PHEARTBEAT_CONTEXT;
|
||
|
|
||
|
//
|
||
|
// Forward function declarations
|
||
|
//
|
||
|
|
||
|
DWORD
|
||
|
SetMHeartbeatInfo(
|
||
|
IN PICB picb,
|
||
|
IN PRTR_INFO_BLOCK_HEADER pInfoHdr
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetMHeartbeatInfo(
|
||
|
PICB picb,
|
||
|
PRTR_TOC_ENTRY pToc,
|
||
|
PBYTE pbDataPtr,
|
||
|
PRTR_INFO_BLOCK_HEADER pInfoHdr,
|
||
|
PDWORD pdwSize
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
ActivateMHeartbeat(
|
||
|
IN PICB picb
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
StartMHeartbeat(
|
||
|
IN PICB picb
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
CreateHbeatSocket(
|
||
|
IN PICB picb
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
DeleteHbeatSocket(
|
||
|
IN PICB picb
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeActivateMHeartbeat(
|
||
|
IN PICB picb
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
HandleMHeartbeatMessages(
|
||
|
VOID
|
||
|
);
|
||
|
|