summaryrefslogtreecommitdiffstats
path: root/include/sysemu
diff options
context:
space:
mode:
authorBin Meng2022-08-02 09:51:58 +0200
committerMarc-André Lureau2022-09-02 13:54:46 +0200
commitd409373b9d0482bbce312539d02a648cbb1c790a (patch)
treecb47b4d4406aae190c2e9a932f40f52fb414fe3f /include/sysemu
parentOpen 7.2 development tree (diff)
downloadqemu-d409373b9d0482bbce312539d02a648cbb1c790a.tar.gz
qemu-d409373b9d0482bbce312539d02a648cbb1c790a.tar.xz
qemu-d409373b9d0482bbce312539d02a648cbb1c790a.zip
util/qemu-sockets: Enable unix socket support on Windows
Support for the unix socket has existed both in BSD and Linux for the longest time, but not on Windows. Since Windows 10 build 17063 [1], the native support for the unix socket has come to Windows. Starting this build, two Win32 processes can use the AF_UNIX address family over Winsock API to communicate with each other. [1] https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com> Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220802075200.907360-3-bmeng.cn@gmail.com>
Diffstat (limited to 'include/sysemu')
-rw-r--r--include/sysemu/os-win32.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
index edc3b38a57..5b38c7bd04 100644
--- a/include/sysemu/os-win32.h
+++ b/include/sysemu/os-win32.h
@@ -30,6 +30,23 @@
#include <windows.h>
#include <ws2tcpip.h>
+#ifdef HAVE_AFUNIX_H
+#include <afunix.h>
+#else
+/*
+ * Fallback definitions of things we need in afunix.h, if not available from
+ * the used Windows SDK or MinGW headers.
+ */
+#define UNIX_PATH_MAX 108
+
+typedef struct sockaddr_un {
+ ADDRESS_FAMILY sun_family;
+ char sun_path[UNIX_PATH_MAX];
+} SOCKADDR_UN, *PSOCKADDR_UN;
+
+#define SIO_AF_UNIX_GETPEERPID _WSAIOR(IOC_VENDOR, 256)
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif