The patch below makes it possible to disable AF_UNIX (unix-domain) sockets in host environments which do not define _WIN32, by adding -DNO_UNIX_SOCKETS to the compiler flags. This is useful in the effectively-embedded qemu host which are going to be using for device emulation in Xen.
Ian.
Index: qemu_socket.h =================================================================== RCS file: /sources/qemu/qemu/qemu_socket.h,v retrieving revision 1.3 diff -u -r1.3 qemu_socket.h --- qemu_socket.h 17 Dec 2007 04:42:28 -0000 1.3 +++ qemu_socket.h 25 Jan 2008 14:40:19 -0000 @@ -14,12 +14,19 @@ #define EINTR WSAEINTR #define EINPROGRESS WSAEINPROGRESS +#ifndef NO_UNIX_SOCKETS +#define NO_UNIX_SOCKETS 1 +#endif + #else #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> + +#ifndef NO_UNIX_SOCKETS #include <sys/un.h> +#endif #define socket_error() errno #define closesocket(s) close(s) Index: vl.c =================================================================== RCS file: /sources/qemu/qemu/vl.c,v retrieving revision 1.401 diff -u -r1.401 vl.c --- vl.c 23 Jan 2008 19:01:12 -0000 1.401 +++ vl.c 25 Jan 2008 14:40:23 -0000 @@ -3600,7 +3600,7 @@ return 0; } -#ifndef _WIN32 +#ifndef NO_UNIX_SOCKETS static int parse_unix_path(struct sockaddr_un *uaddr, const char *str) { const char *p; Index: vnc.c =================================================================== RCS file: /sources/qemu/qemu/vnc.c,v retrieving revision 1.33 diff -u -r1.33 vnc.c --- vnc.c 14 Jan 2008 21:45:55 -0000 1.33 +++ vnc.c 25 Jan 2008 14:40:24 -0000 @@ -2179,7 +2179,7 @@ } #endif } -#ifndef _WIN32 +#ifndef NO_UNIX_SOCKETS if (strstart(display, "unix:", &p)) { addr = (struct sockaddr *)&uaddr; addrlen = sizeof(uaddr);