/usr/i586-mingw32msvc/include/mgm.h is in mingw32-runtime 3.15.2-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 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
|