diff options
author | Dimitri Papadopoulos <dimitri_at@users.sf.net> | 2006-04-28 10:31:20 +0000 |
---|---|---|
committer | Dimitri Papadopoulos <dimitri_at@users.sf.net> | 2006-04-28 10:31:20 +0000 |
commit | 7eaa966b8f8b86bc4dccb197ed3a26b00cb1ec2e (patch) | |
tree | 33d0ae9fe76a8cc2f90530ded21704d665a90df3 /winsup/w32api/include/mgm.h | |
parent | 523423ee377457db64950dad2fdcd96a4e43c17c (diff) | |
download | cygnal-7eaa966b8f8b86bc4dccb197ed3a26b00cb1ec2e.tar.gz cygnal-7eaa966b8f8b86bc4dccb197ed3a26b00cb1ec2e.tar.bz2 cygnal-7eaa966b8f8b86bc4dccb197ed3a26b00cb1ec2e.zip |
* include/ipifcons.h (MIN_IF_TYPE,IF_TYPE_*,MAX_IF_TYPE,IF_ACCESS_*,
IF_CHECK_*,IF_CONNECTION_*,IF_ADMIN_*,IF_OPER_*): Define.
* include/winbase.h (CancelWaitableTimer,UnregisterWait):
Add function declaration.
* include/mgm.h: New file.
* lib/rtm.def: New file.
Thanks to: Bruce M Simpson <bms_spc at sf dot net>
Diffstat (limited to 'winsup/w32api/include/mgm.h')
-rw-r--r-- | winsup/w32api/include/mgm.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/winsup/w32api/include/mgm.h b/winsup/w32api/include/mgm.h new file mode 100644 index 000000000..d8f0d8907 --- /dev/null +++ b/winsup/w32api/include/mgm.h @@ -0,0 +1,75 @@ +#ifndef _MGM_H +#define _MGM_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if (_WIN32_WINNT >= 0x0500) +#define MGM_JOIN_STATE_FLAG 0x00000001 +#define MGM_FORWARD_STATE_FLAG 0x00000002 +#define MGM_MFE_STATS_0 0x00000001 +#define MGM_MFE_STATS_1 0x00000002 +typedef enum _MGM_ENUM_TYPES { + ANY_SOURCE=0, + ALL_SOURCES +} MGM_ENUM_TYPES; +typedef struct _MGM_IF_ENTRY { + DWORD dwIfIndex; + DWORD dwIfNextHopAddr; + BOOL bIGMP; + BOOL bIsEnabled; +} MGM_IF_ENTRY,*PMGM_IF_ENTRY; +typedef DWORD(CALLBACK *PMGM_RPF_CALLBACK)(DWORD,DWORD,DWORD,DWORD,PDWORD,PDWORD,PDWORD,DWORD,PBYTE,PBYTE); +typedef DWORD(CALLBACK *PMGM_CREATION_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PMGM_IF_ENTRY); +typedef DWORD(CALLBACK *PMGM_PRUNE_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,BOOL,PDWORD); +typedef DWORD(CALLBACK *PMGM_JOIN_ALERT_CALLBACK)(DWORD,DWORD,DWORD,DWORD,BOOL); +typedef DWORD(CALLBACK *PMGM_WRONG_IF_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,PBYTE); +typedef DWORD(CALLBACK *PMGM_LOCAL_JOIN_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD); +typedef DWORD(CALLBACK *PMGM_LOCAL_LEAVE_CALLBACK)(DWORD,DWORD,DWORD,DWORD,DWORD,DWORD); +typedef DWORD(CALLBACK *PMGM_DISABLE_IGMP_CALLBACK)(DWORD,DWORD); +typedef DWORD(CALLBACK *PMGM_ENABLE_IGMP_CALLBACK)(DWORD,DWORD); +typedef struct _ROUTING_PROTOCOL_CONFIG { + DWORD dwCallbackFlags; + PMGM_RPF_CALLBACK pfnRpfCallback; + PMGM_CREATION_ALERT_CALLBACK pfnCreationAlertCallback; + PMGM_PRUNE_ALERT_CALLBACK pfnPruneAlertCallback; + PMGM_JOIN_ALERT_CALLBACK pfnJoinAlertCallback; + PMGM_WRONG_IF_CALLBACK pfnWrongIfCallback; + PMGM_LOCAL_JOIN_CALLBACK pfnLocalJoinCallback; + PMGM_LOCAL_LEAVE_CALLBACK pfnLocalLeaveCallback; + PMGM_DISABLE_IGMP_CALLBACK pfnDisableIgmpCallback; + PMGM_ENABLE_IGMP_CALLBACK pfnEnableIgmpCallback; +} ROUTING_PROTOCOL_CONFIG,*PROUTING_PROTOCOL_CONFIG; +typedef struct _SOURCE_GROUP_ENTRY { + DWORD dwSourceAddr; + DWORD dwSourceMask; + DWORD dwGroupAddr; + DWORD dwGroupMask; +} SOURCE_GROUP_ENTRY,*PSOURCE_GROUP_ENTRY; +DWORD WINAPI MgmAddGroupMembershipEntry(HANDLE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD); +DWORD WINAPI MgmDeleteGroupMembershipEntry(HANDLE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD); +DWORD WINAPI MgmDeRegisterMProtocol(HANDLE); +DWORD WINAPI MgmGetFirstMfe(PDWORD,PBYTE,PDWORD); +DWORD WINAPI MgmGetFirstMfeStats(PDWORD,PBYTE,PDWORD,DWORD); +DWORD WINAPI MgmGetMfe(PMIB_IPMCAST_MFE,PDWORD,PBYTE); +DWORD WINAPI MgmGetMfeStats(PMIB_IPMCAST_MFE,PDWORD,PBYTE,DWORD); +DWORD WINAPI MgmGetNextMfe(PMIB_IPMCAST_MFE,PDWORD,PBYTE,PDWORD); +DWORD WINAPI MgmGetNextMfeStats(PMIB_IPMCAST_MFE,PDWORD,PBYTE,PDWORD,DWORD); +DWORD WINAPI MgmGetProtocolOnInterface(DWORD,DWORD,PDWORD,PDWORD); +DWORD WINAPI MgmGroupEnumerationEnd(HANDLE); +DWORD WINAPI MgmGroupEnumerationGetNext(HANDLE,PDWORD,PBYTE,PDWORD); +DWORD WINAPI MgmGroupEnumerationStart(HANDLE,MGM_ENUM_TYPES,HANDLE*); +DWORD WINAPI MgmRegisterMProtocol(PROUTING_PROTOCOL_CONFIG,DWORD,DWORD,HANDLE*); +DWORD WINAPI MgmReleaseInterfaceOwnership(HANDLE,DWORD,DWORD); +DWORD WINAPI MgmSetMfe(HANDLE,PMIB_IPMCAST_MFE); +DWORD WINAPI MgmTakeInterfaceOwnership(HANDLE,DWORD,DWORD); +#endif + +#ifdef __cplusplus +} +#endif +#endif |