hvsocket.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. #ifndef HVSOCKET_H
  7. #define HVSOCKET_H
  8. #include <initguid.h>
  9. #include <ws2def.h>
  10. #define HVSOCKET_CONNECT_TIMEOUT 0x01
  11. #define HVSOCKET_CONNECT_TIMEOUT_MAX 300000
  12. #define HVSOCKET_CONTAINER_PASSTHRU 0x02
  13. #define HVSOCKET_CONNECTED_SUSPEND 0x04
  14. DEFINE_GUID(HV_GUID_ZERO, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
  15. DEFINE_GUID(HV_GUID_BROADCAST, 0xFFFFFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF);
  16. #define HV_GUID_WILDCARD HV_GUID_ZERO
  17. DEFINE_GUID(HV_GUID_CHILDREN, 0x90db8b89, 0x0d35, 0x4f79, 0x8c, 0xe9, 0x49, 0xea, 0x0a, 0xc8, 0xb7, 0xcd);
  18. DEFINE_GUID(HV_GUID_LOOPBACK, 0xe0e16197, 0xdd56, 0x4a10, 0x91, 0x95, 0x5e, 0xe7, 0xa1, 0x55, 0xa8, 0x38);
  19. DEFINE_GUID(HV_GUID_PARENT, 0xa42e7cda, 0xd03f, 0x480c, 0x9c, 0xc2, 0xa4, 0xde, 0x20, 0xab, 0xb8, 0x78);
  20. DEFINE_GUID(HV_GUID_SILOHOST, 0x36bd0c5c, 0x7276, 0x4223, 0x88, 0xba, 0x7d, 0x03, 0xb6, 0x54, 0xc5, 0x68);
  21. DEFINE_GUID(HV_GUID_VSOCK_TEMPLATE, 0x00000000, 0xfacb, 0x11e6, 0xbd, 0x58, 0x64, 0x00, 0x6a, 0x79, 0x86, 0xd3);
  22. #define HV_PROTOCOL_RAW 1
  23. typedef struct _SOCKADDR_HV
  24. {
  25. ADDRESS_FAMILY Family;
  26. USHORT Reserved;
  27. GUID VmId;
  28. GUID ServiceId;
  29. }SOCKADDR_HV, *PSOCKADDR_HV;
  30. #define HVSOCKET_ADDRESS_FLAG_PASSTHRU 0x00000001
  31. typedef struct _HVSOCKET_ADDRESS_INFO
  32. {
  33. GUID SystemId;
  34. GUID VirtualMachineId;
  35. GUID SiloId;
  36. ULONG Flags;
  37. } HVSOCKET_ADDRESS_INFO, *PHVSOCKET_ADDRESS_INFO;
  38. #endif