diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-03-05 20:42:40 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-03-17 21:59:20 +0100 |
commit | d9c09e573db5dabbdece52e93df5a30dd937a5b5 (patch) | |
tree | d982a918202b8bdb764ba0893e3dd79eb1985f9c /src/util.h | |
parent | 666235c02866039536cdd535c36e8d0fd29dde93 (diff) | |
download | slirp-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.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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; |