| 1 |
/** |
| 2 |
* This file has no copyright assigned and is placed in the Public Domain. |
| 3 |
* This file is part of the mingw-w64 runtime package. |
| 4 |
* No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 |
*/ |
| 6 |
|
| 7 |
#ifndef HVSOCKET_H |
| 8 |
#define HVSOCKET_H |
| 9 |
|
| 10 |
#include <initguid.h> |
| 11 |
#include <ws2def.h> |
| 12 |
|
| 13 |
#define HVSOCKET_CONNECT_TIMEOUT 0x01 |
| 14 |
#define HVSOCKET_CONNECT_TIMEOUT_MAX 300000 |
| 15 |
#define HVSOCKET_CONTAINER_PASSTHRU 0x02 |
| 16 |
#define HVSOCKET_CONNECTED_SUSPEND 0x04 |
| 17 |
|
| 18 |
DEFINE_GUID(HV_GUID_ZERO, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); |
| 19 |
DEFINE_GUID(HV_GUID_BROADCAST, 0xFFFFFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); |
| 20 |
|
| 21 |
#define HV_GUID_WILDCARD HV_GUID_ZERO |
| 22 |
|
| 23 |
DEFINE_GUID(HV_GUID_CHILDREN, 0x90db8b89, 0x0d35, 0x4f79, 0x8c, 0xe9, 0x49, 0xea, 0x0a, 0xc8, 0xb7, 0xcd); |
| 24 |
DEFINE_GUID(HV_GUID_LOOPBACK, 0xe0e16197, 0xdd56, 0x4a10, 0x91, 0x95, 0x5e, 0xe7, 0xa1, 0x55, 0xa8, 0x38); |
| 25 |
DEFINE_GUID(HV_GUID_PARENT, 0xa42e7cda, 0xd03f, 0x480c, 0x9c, 0xc2, 0xa4, 0xde, 0x20, 0xab, 0xb8, 0x78); |
| 26 |
DEFINE_GUID(HV_GUID_SILOHOST, 0x36bd0c5c, 0x7276, 0x4223, 0x88, 0xba, 0x7d, 0x03, 0xb6, 0x54, 0xc5, 0x68); |
| 27 |
DEFINE_GUID(HV_GUID_VSOCK_TEMPLATE, 0x00000000, 0xfacb, 0x11e6, 0xbd, 0x58, 0x64, 0x00, 0x6a, 0x79, 0x86, 0xd3); |
| 28 |
|
| 29 |
#define HV_PROTOCOL_RAW 1 |
| 30 |
|
| 31 |
typedef struct _SOCKADDR_HV |
| 32 |
{ |
| 33 |
ADDRESS_FAMILY Family; |
| 34 |
USHORT Reserved; |
| 35 |
GUID VmId; |
| 36 |
GUID ServiceId; |
| 37 |
}SOCKADDR_HV, *PSOCKADDR_HV; |
| 38 |
|
| 39 |
#define HVSOCKET_ADDRESS_FLAG_PASSTHRU 0x00000001 |
| 40 |
|
| 41 |
typedef struct _HVSOCKET_ADDRESS_INFO |
| 42 |
{ |
| 43 |
GUID SystemId; |
| 44 |
GUID VirtualMachineId; |
| 45 |
GUID SiloId; |
| 46 |
ULONG Flags; |
| 47 |
} HVSOCKET_ADDRESS_INFO, *PHVSOCKET_ADDRESS_INFO; |
| 48 |
|
| 49 |
#endif |