summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schaefer <heikos@users.sourceforge.net>2001-06-09 11:48:12 +0000
committerHeiko Schaefer <heikos@users.sourceforge.net>2001-06-09 11:48:12 +0000
commite0b25d1271e1816b2b41b9af9514c3fa6bf674cf (patch)
tree252c806b2a9059848bd568f584d75a5a6fc4cd32
parentf099432bb49d993e7cb883364ddc193d9ee6493d (diff)
downloadxine-lib-e0b25d1271e1816b2b41b9af9514c3fa6bf674cf.tar.gz
xine-lib-e0b25d1271e1816b2b41b9af9514c3fa6bf674cf.tar.bz2
dave's patch applied to make this compile on freebsd.
CVS patchset: 135 CVS date: 2001/06/09 11:48:12
-rw-r--r--src/input/input_rtp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/input/input_rtp.c b/src/input/input_rtp.c
index cd072724b..c046e813b 100644
--- a/src/input/input_rtp.c
+++ b/src/input/input_rtp.c
@@ -147,11 +147,18 @@ static int host_connect_attempt(struct in_addr ia, int port) {
}
/* multicast ? */
if ((ntohl(sin.sin_addr.s_addr) >> 28) == 0xe) {
+#if defined (__linux__)
struct ip_mreqn mreqn;
mreqn.imr_multiaddr.s_addr = sin.sin_addr.s_addr;
mreqn.imr_address.s_addr = INADDR_ANY;
mreqn.imr_ifindex = 0;
+#elif defined (__FreeBSD__)
+ struct ip_mreq mreqn;
+
+ mreqn.imr_multiaddr.s_addr = sin.sin_addr.s_addr;
+ mreqn.imr_interface.s_addr = INADDR_ANY;
+#endif
if (setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP,&mreqn,sizeof(mreqn))) {
perror("setsockopt IP_ADD_MEMBERSHIP failed (multicast kernel?)");
exit(1);