From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3792 Path: news.gmane.org!not-for-mail From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH] add multicast structures from RFC 3678 to netinet/in.h Date: Thu, 1 Aug 2013 08:23:13 +0300 Message-ID: <1375334593-1978-1-git-send-email-timo.teras@iki.fi> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1375334578 13929 80.91.229.3 (1 Aug 2013 05:22:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 1 Aug 2013 05:22:58 +0000 (UTC) Cc: =?UTF-8?q?Timo=20Ter=C3=A4s?= To: musl@lists.openwall.com Original-X-From: musl-return-3796-gllmg-musl=m.gmane.org@lists.openwall.com Thu Aug 01 07:22:57 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1V4lLj-0003EK-Hc for gllmg-musl@plane.gmane.org; Thu, 01 Aug 2013 07:22:55 +0200 Original-Received: (qmail 1336 invoked by uid 550); 1 Aug 2013 05:22:55 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 1328 invoked from network); 1 Aug 2013 05:22:54 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer; bh=zWisRNYAKFiMxpzf33nIs2Aa2ROMQjBLwRl7bxvRe00=; b=lluBlfaJC1RBZ3raNDrgKSt4UVTe8R9/wJdY5xXmk/AW2gU6ngiTrnjgvjYzajnwgP exESDP61RoK/dI+MtE694+YjFqkPxhnMOjYw2VXEkJJYRoGntpN9QjclKyRkcfuCTAV0 QeRhuMf6oy6EyTQGYMe69QVBOBEuzLLSTuej+nszpngaa1dvfVqzqdp/W/oFIn/GDF9r 50F3ZSFBAXM+4EUYrkMTNTGWC5I2vGOWnq1QNdTij/rZ/VCjv5DHxIckYykDhIxp3t4F 1BPYhW84EipqJvaPOPim1dZuMLwleEm3d76COv3W6t31IRiFb40gFrY/q4cEjU64+vUZ KCgA== X-Received: by 10.14.205.72 with SMTP id i48mr72044090eeo.139.1375334563470; Wed, 31 Jul 2013 22:22:43 -0700 (PDT) Original-Sender: =?UTF-8?Q?Timo_Ter=C3=A4s?= X-Mailer: git-send-email 1.8.3.3 Xref: news.gmane.org gmane.linux.lib.musl.general:3792 Archived-At: and use _GNU_SOURCE || _BSD_SOURCE guards for all of the RFC 3678 namespace polluting things like glibc/uclibc does. --- include/netinet/in.h | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/include/netinet/in.h b/include/netinet/in.h index d886fc2..b7a8a7a 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -204,7 +204,7 @@ uint16_t ntohs(uint16_t); #define IP_MULTICAST_ALL 49 #define IP_UNICAST_IF 50 -#ifdef _GNU_SOURCE +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define MCAST_JOIN_GROUP 42 #define MCAST_BLOCK_SOURCE 43 #define MCAST_UNBLOCK_SOURCE 44 @@ -249,6 +249,47 @@ struct ip_mreqn int imr_ifindex; }; +struct ip_mreq_source { + uint32_t imr_multiaddr; + uint32_t imr_interface; + uint32_t imr_sourceaddr; +}; + +struct ip_msfilter { + uint32_t imsf_multiaddr; + uint32_t imsf_interface; + uint32_t imsf_fmode; + uint32_t imsf_numsrc; + uint32_t imsf_slist[1]; +}; +#define IP_MSFILTER_SIZE(numsrc) \ + (sizeof(struct ip_msfilter) - sizeof(uint32_t) \ + + (numsrc) * sizeof(uint32_t)) + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct group_req { + uint32_t gr_interface; + struct sockaddr_storage gr_group; +}; + +struct group_source_req { + uint32_t gsr_interface; + struct sockaddr_storage gsr_group; + struct sockaddr_storage gsr_source; +}; + +struct group_filter { + uint32_t gf_interface; + struct sockaddr_storage gf_group; + uint32_t gf_fmode; + uint32_t gf_numsrc; + struct sockaddr_storage gf_slist[1]; +}; +#define GROUP_FILTER_SIZE(numsrc) \ + (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + + (numsrc) * sizeof(struct sockaddr_storage)) +#endif + struct in_pktinfo { int ipi_ifindex; -- 1.8.3.3