aboutsummaryrefslogtreecommitdiff
path: root/src/util.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-03-05 20:42:40 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-03-17 21:59:20 +0100
commitd9c09e573db5dabbdece52e93df5a30dd937a5b5 (patch)
treed982a918202b8bdb764ba0893e3dd79eb1985f9c /src/util.h
parent666235c02866039536cdd535c36e8d0fd29dde93 (diff)
downloadslirp-d9c09e573db5dabbdece52e93df5a30dd937a5b5.zip
slirp-d9c09e573db5dabbdece52e93df5a30dd937a5b5.tar.gz
slirp-d9c09e573db5dabbdece52e93df5a30dd937a5b5.tar.bz2
hostfwd: Add SLIRP_HOSTFWD_V6ONLY flag
That allows to request binding on v6 addresses only. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'src/util.h')
-rw-r--r--src/util.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/util.h b/src/util.h
index 8134db9..07654ec 100644
--- a/src/util.h
+++ b/src/util.h
@@ -39,6 +39,7 @@
#ifdef _WIN32
#include <winsock2.h>
#include <windows.h>
+#include <ws2tcpip.h>
#else
#include <sys/socket.h>
#include <netinet/tcp.h>
@@ -161,6 +162,11 @@ int slirp_inet_aton(const char *cp, struct in_addr *ia);
int slirp_socket(int domain, int type, int protocol);
void slirp_set_nonblock(int fd);
+static inline int slirp_socket_set_v6only(int fd, int v)
+{
+ return setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &v, sizeof(v));
+}
+
static inline int slirp_socket_set_nodelay(int fd)
{
int v = 1;