Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/mgm.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _MGM_H_ | |
| 7 #define _MGM_H_ | |
| 8 | |
| 9 typedef struct _MGM_IF_ENTRY { | |
| 10 DWORD dwIfIndex; | |
| 11 DWORD dwIfNextHopAddr; | |
| 12 WINBOOL bIGMP; | |
| 13 WINBOOL bIsEnabled; | |
| 14 } MGM_IF_ENTRY,*PMGM_IF_ENTRY; | |
| 15 | |
| 16 typedef DWORD (*PMGM_RPF_CALLBACK)(DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,PDWORD pdwInIfIndex,PDWORD pdwInIfNextHopAddr,PDWORD pdwUpStreamNbr,DWORD dwHdrSize,PBYTE pbPacketHdr,PBYTE pbRoute); | |
| 17 typedef DWORD (*PMGM_CREATION_ALERT_CALLBACK)(DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,DWORD dwInIfIndex,DWORD dwInIfNextHopAddr,DWORD dwIfCount,PMGM_IF_ENTRY pmieOutIfList); | |
| 18 typedef DWORD (*PMGM_PRUNE_ALERT_CALLBACK)(DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,DWORD dwIfIndex,DWORD dwIfNextHopAddr,WINBOOL bMemberDelete,PDWORD pdwTimeout); | |
| 19 typedef DWORD (*PMGM_JOIN_ALERT_CALLBACK)(DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,WINBOOL bMemberUpdate); | |
| 20 typedef DWORD (*PMGM_WRONG_IF_CALLBACK)(DWORD dwSourceAddr,DWORD dwGroupAddr,DWORD dwIfIndex,DWORD dwIfNextHopAddr,DWORD dwHdrSize,PBYTE pbPacketHdr); | |
| 21 typedef DWORD (*PMGM_LOCAL_JOIN_CALLBACK) (DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,DWORD dwIfIndex,DWORD dwIfNextHopAddr); | |
| 22 typedef DWORD (*PMGM_LOCAL_LEAVE_CALLBACK) (DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,DWORD dwIfIndex,DWORD dwIfNextHopAddr); | |
| 23 typedef DWORD (*PMGM_DISABLE_IGMP_CALLBACK) (DWORD dwIfIndex,DWORD dwIfNextHopAddr); | |
| 24 typedef DWORD (*PMGM_ENABLE_IGMP_CALLBACK) (DWORD dwIfIndex,DWORD dwIfNextHopAddr); | |
| 25 | |
| 26 typedef struct _ROUTING_PROTOCOL_CONFIG { | |
| 27 DWORD dwCallbackFlags; | |
| 28 PMGM_RPF_CALLBACK pfnRpfCallback; | |
| 29 PMGM_CREATION_ALERT_CALLBACK pfnCreationAlertCallback; | |
| 30 PMGM_PRUNE_ALERT_CALLBACK pfnPruneAlertCallback; | |
| 31 PMGM_JOIN_ALERT_CALLBACK pfnJoinAlertCallback; | |
| 32 PMGM_WRONG_IF_CALLBACK pfnWrongIfCallback; | |
| 33 PMGM_LOCAL_JOIN_CALLBACK pfnLocalJoinCallback; | |
| 34 PMGM_LOCAL_LEAVE_CALLBACK pfnLocalLeaveCallback; | |
| 35 PMGM_DISABLE_IGMP_CALLBACK pfnDisableIgmpCallback; | |
| 36 PMGM_ENABLE_IGMP_CALLBACK pfnEnableIgmpCallback; | |
| 37 } ROUTING_PROTOCOL_CONFIG,*PROUTING_PROTOCOL_CONFIG; | |
| 38 | |
| 39 typedef enum _MGM_ENUM_TYPES { | |
| 40 ANY_SOURCE = 0,ALL_SOURCES | |
| 41 } MGM_ENUM_TYPES; | |
| 42 | |
| 43 typedef struct _SOURCE_GROUP_ENTRY { | |
| 44 DWORD dwSourceAddr; | |
| 45 DWORD dwSourceMask; | |
| 46 DWORD dwGroupAddr; | |
| 47 DWORD dwGroupMask; | |
| 48 } SOURCE_GROUP_ENTRY,*PSOURCE_GROUP_ENTRY; | |
| 49 | |
| 50 #define MGM_JOIN_STATE_FLAG 0x00000001 | |
| 51 #define MGM_FORWARD_STATE_FLAG 0x00000002 | |
| 52 | |
| 53 #define MGM_MFE_STATS_0 0x00000001 | |
| 54 #define MGM_MFE_STATS_1 0x00000002 | |
| 55 | |
| 56 DWORD MgmRegisterMProtocol(PROUTING_PROTOCOL_CONFIG prpiInfo,DWORD dwProtocolId,DWORD dwComponentId,HANDLE *phProtocol); | |
| 57 DWORD MgmDeRegisterMProtocol(HANDLE hProtocol); | |
| 58 DWORD MgmTakeInterfaceOwnership(HANDLE hProtocol,DWORD dwIfIndex,DWORD dwIfNextHopAddr); | |
| 59 DWORD MgmReleaseInterfaceOwnership(HANDLE hProtocol,DWORD dwIfIndex,DWORD dwIfNextHopAddr); | |
| 60 DWORD MgmGetProtocolOnInterface(DWORD dwIfIndex,DWORD dwIfNextHopAddr,PDWORD pdwIfProtocolId,PDWORD pdwIfComponentId); | |
| 61 DWORD MgmAddGroupMembershipEntry(HANDLE hProtocol,DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,DWORD dwIfIndex,DWORD dwIfNextHopIPAddr,DWORD dwFlags); | |
| 62 DWORD MgmDeleteGroupMembershipEntry(HANDLE hProtocol,DWORD dwSourceAddr,DWORD dwSourceMask,DWORD dwGroupAddr,DWORD dwGroupMask,DWORD dwIfIndex,DWORD dwIfNextHopIPAddr,DWORD dwFlags); | |
| 63 DWORD MgmGetMfe(PMIB_IPMCAST_MFE pimm,PDWORD pdwBufferSize,PBYTE pbBuffer); | |
| 64 DWORD MgmGetFirstMfe(PDWORD pdwBufferSize,PBYTE pbBuffer,PDWORD pdwNumEntries); | |
| 65 DWORD MgmGetNextMfe(PMIB_IPMCAST_MFE pimmStart,PDWORD pdwBufferSize,PBYTE pbBuffer,PDWORD pdwNumEntries); | |
| 66 DWORD MgmGetMfeStats(PMIB_IPMCAST_MFE pimm,PDWORD pdwBufferSize,PBYTE pbBuffer,DWORD dwFlags); | |
| 67 DWORD MgmGetFirstMfeStats(PDWORD pdwBufferSize,PBYTE pbBuffer,PDWORD pdwNumEntries,DWORD dwFlags); | |
| 68 DWORD MgmGetNextMfeStats(PMIB_IPMCAST_MFE pimmStart,PDWORD pdwBufferSize,PBYTE pbBuffer,PDWORD pdwNumEntries,DWORD dwFlags); | |
| 69 DWORD MgmGroupEnumerationStart(HANDLE hProtocol,MGM_ENUM_TYPES metEnumType,HANDLE *phEnumHandle); | |
| 70 DWORD MgmGroupEnumerationGetNext(HANDLE hEnum,PDWORD pdwBufferSize,PBYTE pbBuffer,PDWORD pdwNumEntries); | |
| 71 DWORD MgmGroupEnumerationEnd(HANDLE hEnum); | |
| 72 DWORD MgmSetMfe(HANDLE hProtocol,PMIB_IPMCAST_MFE pmimm); | |
| 73 | |
| 74 #endif |
