summaryrefslogtreecommitdiff
path: root/src/ip.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ip.cpp')
-rw-r--r--src/ip.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ip.cpp b/src/ip.cpp
index f47e9bf..4bacff3 100644
--- a/src/ip.cpp
+++ b/src/ip.cpp
@@ -457,4 +457,21 @@ void zmq::unblock_socket (fd_t s_)
#endif
}
+void zmq::enable_ipv4_mapping (fd_t s_)
+{
+#ifdef IPV6_V6ONLY
+#ifdef ZMQ_HAVE_WINDOWS
+ DWORD flag = 0;
+#else
+ int flag = 0;
+#endif
+ int rc = setsockopt (s_, IPPROTO_IPV6, IPV6_V6ONLY, (const char*) &flag,
+ sizeof (flag));
+#ifdef ZMQ_HAVE_WINDOWS
+ wsa_assert (rc != SOCKET_ERROR);
+#else
+ errno_assert (rc == 0);
+#endif
+#endif
+}