summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--inet/netinet/in.h28
-rw-r--r--localedata/charmaps/IBM8741
-rw-r--r--sysdeps/unix/sysv/linux/bits/in.h25
4 files changed, 55 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 44ed0587e5..50985e9468 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2004-07-20  Ulrich Drepper  <drepper@redhat.com>
 
+	* inet/netinet/in.h: Define struct ip_mreq and struct
+	ip_mreq_source.
+	* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
+	IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
+	IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
+	MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
+	MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
+	MCAST_MSFILTER.
+
 	* iconvdata/gconv-modules: Add alias for IBM874 [BZ #244].
 
 2004-07-19  Jakub Jelinek  <jakub@redhat.com>
diff --git a/inet/netinet/in.h b/inet/netinet/in.h
index 9f969ccc5c..7ec6741eb1 100644
--- a/inet/netinet/in.h
+++ b/inet/netinet/in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -239,7 +239,30 @@ struct sockaddr_in6
     uint32_t sin6_scope_id;	/* IPv6 scope-id */
   };
 
-/* IPv6 multicast request.  */
+
+/* IPv4 multicast request.  */
+struct ip_mreq
+  {
+    /* IP multicast address of group.  */
+    struct in_addr imr_multiaddr;
+
+    /* Local IP address of interface.  */
+    struct in_addr imr_interface;
+  };
+
+struct ip_mreq_source
+  {
+    /* IP multicast address of group.  */
+    struct in_addr imr_multiaddr;
+
+    /* IP address of source.  */
+    struct in_addr imr_interface;
+
+    /* IP address of interface.  */
+    struct in_addr imr_sourceaddr;
+  };
+
+/* Likewise, for IPv6.  */
 struct ipv6_mreq
   {
     /* IPv6 multicast address of group */
@@ -249,6 +272,7 @@ struct ipv6_mreq
     unsigned int ipv6mr_interface;
   };
 
+
 /* Get system-specific definitions.  */
 #include <bits/in.h>
 
diff --git a/localedata/charmaps/IBM874 b/localedata/charmaps/IBM874
index 6359f78675..3d6618d62a 100644
--- a/localedata/charmaps/IBM874
+++ b/localedata/charmaps/IBM874
@@ -4,6 +4,7 @@
 % automatically generated from the charDB
 
 % alias CP874
+% alias WINDOWS-874
 CHARMAP
 <U0000>     /x00         NULL
 <U0001>     /x01         START OF HEADING
diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h
index ff72d4587b..88cc125b4d 100644
--- a/sysdeps/unix/sysv/linux/bits/in.h
+++ b/sysdeps/unix/sysv/linux/bits/in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1999, 2000, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,11 +33,24 @@
 /* For BSD compatibility.  */
 #define        IP_RECVRETOPTS  IP_RETOPTS       /* bool; Receive IP options for response.  */
 #define        IP_RETOPTS      7       /* ip_opts; Set/get IP per-packet options.  */
-#define IP_MULTICAST_IF 32      /* in_addr; set/get IP multicast i/f */
-#define IP_MULTICAST_TTL 33    /* u_char; set/get IP multicast ttl */
-#define IP_MULTICAST_LOOP 34   /* i_char; set/get IP multicast loopback */
-#define IP_ADD_MEMBERSHIP 35   /* ip_mreq; add an IP group membership */
-#define IP_DROP_MEMBERSHIP 36  /* ip_mreq; drop an IP group membership */
+#define IP_MULTICAST_IF 32	/* in_addr; set/get IP multicast i/f */
+#define IP_MULTICAST_TTL 33	/* u_char; set/get IP multicast ttl */
+#define IP_MULTICAST_LOOP 34	/* i_char; set/get IP multicast loopback */
+#define IP_ADD_MEMBERSHIP 35	/* ip_mreq; add an IP group membership */
+#define IP_DROP_MEMBERSHIP 36	/* ip_mreq; drop an IP group membership */
+#define IP_UNBLOCK_SOURCE 37	/* ip_mreq_source: unblock data from source */
+#define IP_BLOCK_SOURCE 38	/* ip_mreq_source: block data from source */
+#define IP_ADD_SOURCE_MEMBERSHIP 39 /* ip_mreq_source: join source group */
+#define IP_DROP_SOURCE_MEMBERSHIP 40 /* ip_mreq_source: leave source group */
+#define IP_MSFILTER 41
+#define MCAST_JOIN_GROUP 42
+#define MCAST_BLOCK_SOURCE 43
+#define MCAST_UNBLOCK_SOURCE 44
+#define MCAST_LEAVE_GROUP 45
+#define MCAST_JOIN_SOURCE_GROUP 46
+#define MCAST_LEAVE_SOURCE_GROUP 47
+#define MCAST_MSFILTER 48
+
 
 #define IP_ROUTER_ALERT    5	/* bool */
 #define IP_PKTINFO         8	/* bool */