LOGLEVEL_VAR(vcpuNUMA), \
LOGLEVEL_VAR(heci), \
LOGLEVEL_VAR(vmiopluginlib), \
+ LOGLEVEL_VAR(vsock), \
\
/* user/disk */ \
LOGLEVEL_VAR(aioMgr), \
* than external kernel modules using VMCI Sockets api inside the kernel.
*/
-#if defined _WIN32
+#if defined VMX86_VMX
+ /*
+ * The VMX is a very special case because hypervisor sockets do not go
+ * through the host kernel and thus do not require an address family.
+ */
+# define VMCI_SOCKETS_AF_VALUE 0
+# define VMCISockGetAFValueInt() VMCI_SOCKETS_AF_VALUE
+#elif defined _WIN32
# define VMCI_SOCKETS_AF_VALUE 28
# if defined WINNT_DDK
# define _WIN2K_COMPAT_SLIST_USAGE
#include "vmci_sockets_packet.h"
-#if defined(_WIN32) || defined(VMKERNEL) || defined(__APPLE__)
+#if defined(_WIN32) || defined(VMKERNEL) || defined(__APPLE__) || defined(VMX86_VMX)
# include "vsockOSInt.h"
#else
# define VSockOS_ClearMemory(_dst, _sz) memset(_dst, 0, _sz)
# define VSockOS_Memcpy(_dst, _src, _sz) memcpy(_dst, _src, _sz)
#endif
+#include "vsockCommon.h"
+
/*
*-----------------------------------------------------------------------------
#define SO_NONBLOCKING 0x1200
#endif // __APPLE__
-#if defined(_WIN32) || defined(VMKERNEL) || defined(__APPLE__)
+#if defined(_WIN32) || defined(VMKERNEL) || defined(__APPLE__) || defined(VMX86_VMX)
# define SS_FREE 0
# define SS_UNCONNECTED 1
# define SS_CONNECTING 2
# define SOCKET_EVENT_CONNECT FD_CONNECT
# define SOCKET_EVENT_CLOSE FD_CLOSE
#else
-#if defined(VMKERNEL) || defined(__APPLE__)
+#if defined(VMKERNEL) || defined(__APPLE__) || defined(VMX86_VMX)
# define SOCKET_EVENT_READ 0x1
# define SOCKET_EVENT_WRITE 0x2
# define SOCKET_EVENT_ACCEPT 0x8
# define ESYSNOTREADY EOPNOTSUPP
#elif defined(linux)
# define ESYSNOTREADY EOPNOTSUPP
+# define __ELOCALSHUTDOWN EPIPE
+# define __ELOCALRCVSHUTDOWN 0
+# define __EPEERSHUTDOWN EPIPE
+# define __ECONNINPROGRESS EINPROGRESS
+# define __ESNDRCVTIMEDOUT EAGAIN
#endif // _WIN32