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

Reply via email to