From 57f1cca0c582f655a18fda5c177c56131f8c99bb Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <nathbap...@gmail.com> Date: Thu, 7 Oct 2021 23:36:52 +0530 Subject: [PATCH 2/2] headers: Add APIs in computenetwork.h
Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com> --- mingw-w64-headers/include/computenetwork.h | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/mingw-w64-headers/include/computenetwork.h b/mingw-w64-headers/include/computenetwork.h index 6d2b8a0..3fc8080 100644 --- a/mingw-w64-headers/include/computenetwork.h +++ b/mingw-w64-headers/include/computenetwork.h @@ -25,6 +25,12 @@ typedef enum HCN_NOTIFICATIONS { HcnNotificationNetworkDelete = 0x00000004, HcnNotificationNamespaceCreate = 0x00000005, HcnNotificationNamespaceDelete = 0x00000006, + HcnNotificationGuestNetworkServiceCreate = 0x00000007, + HcnNotificationGuestNetworkServiceDelete = 0x00000008, + HcnNotificationNetworkEndpointAttached = 0x00000009, + HcnNotificationNetworkEndpointDetached = 0x00000010, + HcnNotificationGuestNetworkServiceStateChanged = 0x00000011, + HcnNotificationGuestNetworkServiceInterfaceStateChanged = 0x00000012, HcnNotificationServiceDisconnect = 0x01000000, HcnNotificationFlagsReserved = 0xF0000000 } HCN_NOTIFICATIONS; @@ -83,6 +89,50 @@ typedef HCN_SERVICE* PHCN_SERVICE; HRESULT WINAPI HcnRegisterServiceCallback (HCN_NOTIFICATION_CALLBACK Callback, void *Context, HCN_CALLBACK *CallbackHandle); HRESULT WINAPI HcnUnregisterServiceCallback (HCN_CALLBACK CallbackHandle); +typedef void* HCN_GUESTNETWORKSERVICE; +typedef HCN_GUESTNETWORKSERVICE* PHCN_GUESTNETWORKSERVICE; + +HRESULT WINAPI HcnRegisterGuestNetworkServiceCallback (HCN_GUESTNETWORKSERVICE GuestNetworkService, HCN_NOTIFICATION_CALLBACK Callback, void* Context, HCN_CALLBACK* CallbackHandle); +HRESULT WINAPI HcnUnregisterGuestNetworkServiceCallback (HCN_CALLBACK CallbackHandle); +HRESULT WINAPI HcnCreateGuestNetworkService (REFGUID Id, PCWSTR Settings, PHCN_GUESTNETWORKSERVICE GuestNetworkService, PWSTR* ErrorRecord); +HRESULT WINAPI HcnCloseGuestNetworkService (HCN_GUESTNETWORKSERVICE GuestNetworkService); +HRESULT WINAPI HcnModifyGuestNetworkService (HCN_GUESTNETWORKSERVICE GuestNetworkService, PCWSTR Settings, PWSTR* ErrorRecord); +HRESULT WINAPI HcnDeleteGuestNetworkService (REFGUID Id, PWSTR* ErrorRecord); + +typedef enum tagHCN_PORT_PROTOCOL { + HCN_PORT_PROTOCOL_TCP = 0x01, + HCN_PORT_PROTOCOL_UDP = 0x02, + HCN_PORT_PROTOCOL_BOTH = 0x03 +} HCN_PORT_PROTOCOL; + +typedef enum tagHCN_PORT_ACCESS { + HCN_PORT_ACCESS_EXCLUSIVE = 0x01, + HCN_PORT_ACCESS_SHARED = 0x02 +} HCN_PORT_ACCESS; + +typedef struct tagHCN_PORT_RANGE_RESERVATION { + USHORT startingPort; + USHORT endingPort; +} HCN_PORT_RANGE_RESERVATION; + +typedef struct tagHCN_PORT_RANGE_ENTRY { + GUID OwningPartitionId; + GUID TargetPartitionId; + HCN_PORT_PROTOCOL Protocol; + UINT64 Priority; + UINT32 ReservationType; + UINT32 SharingFlags; + UINT32 DeliveryMode; + UINT16 StartingPort; + UINT16 EndingPort; +} HCN_PORT_RANGE_ENTRY, *PHCN_PORT_RANGE_ENTRY; + +HRESULT WINAPI HcnReserveGuestNetworkServicePort (HCN_GUESTNETWORKSERVICE GuestNetworkService, HCN_PORT_PROTOCOL Protocol, HCN_PORT_ACCESS Access, USHORT Port, HANDLE* PortReservationHandle); +HRESULT WINAPI HcnReserveGuestNetworkServicePortRange (HCN_GUESTNETWORKSERVICE GuestNetworkService, USHORT PortCount, HCN_PORT_RANGE_RESERVATION* PortRangeReservation, HANDLE* PortReservationHandle); +HRESULT WINAPI HcnReleaseGuestNetworkServicePortReservationHandle (HANDLE PortReservationHandle); +HRESULT WINAPI HcnEnumerateGuestNetworkPortReservations (ULONG* ReturnCount, HCN_PORT_RANGE_ENTRY** PortEntries); +VOID WINAPI HcnFreeGuestNetworkPortReservations (HCN_PORT_RANGE_ENTRY* PortEntries); + #ifdef __cplusplus } #endif -- 2.33.0
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public