[PATCHv2] Move ip_mreqn structure from Linux to generic

Samuel Thibault samuel.thibault@ens-lyon.org
Mon Aug 15 17:15:50 GMT 2022


I.e. from sysdeps/unix/sysv/linux/bits/in.h to netinet/in.h

It is following both the BSD and Linux definitions.
---
 inet/netinet/in.h                 | 13 +++++++++++++
 sysdeps/unix/sysv/linux/bits/in.h |  8 --------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/inet/netinet/in.h b/inet/netinet/in.h
index 1633bc64e4..362eb9e9e7 100644
--- a/inet/netinet/in.h
+++ b/inet/netinet/in.h
@@ -278,6 +278,19 @@ struct ip_mreq
     struct in_addr imr_interface;
   };
 
+/* IPv4 multicast request with interface index.  */
+struct ip_mreqn
+  {
+    /* IP multicast address of group.  */
+    struct in_addr imr_multiaddr;
+
+    /* Local IP address of interface.  */
+    struct in_addr imr_address;
+
+    /* Interface index.  */
+    int imr_ifindex;
+  };
+
 struct ip_mreq_source
   {
     /* IP multicast address of group.  */
diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h
index af6898a5ce..00d10d812c 100644
--- a/sysdeps/unix/sysv/linux/bits/in.h
+++ b/sysdeps/unix/sysv/linux/bits/in.h
@@ -146,14 +146,6 @@ struct ip_opts
     char ip_opts[40];		/* Actually variable in size.  */
   };
 
-/* Like `struct ip_mreq' but including interface specification by index.  */
-struct ip_mreqn
-  {
-    struct in_addr imr_multiaddr;	/* IP multicast address of group */
-    struct in_addr imr_address;		/* local IP address of interface */
-    int	imr_ifindex;			/* Interface index */
-  };
-
 /* Structure used for IP_PKTINFO.  */
 struct in_pktinfo
   {
-- 
2.35.1



More information about the Libc-alpha mailing list