From 61fb537c6273c50deb7d33f8af246993eab4bc4d Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 12 Apr 1999 15:27:56 +0000 Subject: Use `struct ip_mreqn' instead of `struct ip_mreq' for multicast operations on 2.1/2.2 kernels. This allows passing of real interface indexes instead of referencing interfaces by their IP addresses which fails badly in presence of unnumbered interfaces. Unfortunately, this structure is not visible with glibc 2.0 as it provides its own networking headers :-( Both libc5 and glibc 2.1 should be OK. --- sysdep/autoconf.h.in | 3 +++ sysdep/unix/io.c | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'sysdep') diff --git a/sysdep/autoconf.h.in b/sysdep/autoconf.h.in index ae4d6b6..6c76f1a 100644 --- a/sysdep/autoconf.h.in +++ b/sysdep/autoconf.h.in @@ -29,6 +29,9 @@ #undef TIME_T_IS_64BIT #undef TIME_T_IS_SIGNED +/* We have struct ip_mreqn in */ +#undef HAVE_STRUCT_IP_MREQN + /* Protocols compiled in */ #undef CONFIG_STATIC #undef CONFIG_RIP diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 69f8a5c..d98972c 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -407,8 +407,7 @@ sk_open(sock *s) case SK_UDP_MC: case SK_IP_MC: { -#ifdef HAVE_IP_MREQN - /* FIXME: Define HAVE_IP_MREQN somewhere :) */ +#ifdef HAVE_STRUCT_IP_MREQN struct ip_mreqn mreq; #define mreq_add mreq ASSERT(s->iface); -- cgit v1.2.3