From 4b3cc2df8d4b099d8804d76b18c2998701e3e3e4 Mon Sep 17 00:00:00 2001 From: Edward Lee Date: Thu, 1 Oct 2020 10:11:09 -0400 Subject: [PATCH] win32: (Temporarily) Add sockaddr_un definition from This is a temporary addition, until ships with the MinGW toolchain. Part-of: --- src/pulsecore/socket.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/pulsecore/socket.h b/src/pulsecore/socket.h index 72f222818..982901b0e 100644 --- a/src/pulsecore/socket.h +++ b/src/pulsecore/socket.h @@ -11,6 +11,31 @@ typedef long suseconds_t; +/** Windows 10 supports AF_UNIX as of build 17603, with + support provided in the header file . However, + only the latest Windows SDK provides this file; older SDKs and + MinGW do not. + + Hence we define SOCKADDR_UN here. We do not expect this definition to change + as Windows has some pretty good binary backwards-compatibility guarantees. + + This shouldn't pose a problem for older versions of Windows; we expect them to + fail with an error whenever we try to make a socket of type AF_UNIX. */ +#define UNIX_PATH_MAX 108 + +typedef struct sockaddr_un +{ + ADDRESS_FAMILY sun_family; /* AF_UNIX */ + char sun_path[UNIX_PATH_MAX]; /* pathname */ +} SOCKADDR_UN, *PSOCKADDR_UN; + +#ifndef SUN_LEN +#define SUN_LEN(ptr) \ + ((size_t)(((struct sockaddr_un *) 0)->sun_path) + strlen((ptr)->sun_path)) +#endif + +#define HAVE_SYS_UN_H + #endif #ifdef HAVE_WS2TCPIP_H