add missing multicast socket options to netinet/in.h
authorSzabolcs Nagy <nsz@port70.net>
Fri, 11 Jan 2013 00:54:53 +0000 (01:54 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Sat, 12 Jan 2013 18:42:39 +0000 (19:42 +0100)
based on linux headers add the missing MCAST_* options
under _GNU_SOURCE as they are not in the reserved namespace
(this api was originally specified by RFC 3678)

include/netinet/in.h

index 1086f07..fcab298 100644 (file)
@@ -5,6 +5,8 @@
 extern "C" {
 #endif
 
+#include <features.h>
+
 #define __NEED_in_addr_t
 #define __NEED_in_port_t
 #define __NEED_sa_family_t
@@ -203,6 +205,21 @@ uint16_t ntohs(uint16_t);
 #define IP_ADD_SOURCE_MEMBERSHIP  39
 #define IP_DROP_SOURCE_MEMBERSHIP 40
 #define IP_MSFILTER        41
+#define IP_MULTICAST_ALL   49
+#define IP_UNICAST_IF      50
+
+#ifdef _GNU_SOURCE
+#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 MCAST_EXCLUDE 0
+#define MCAST_INCLUDE 1
+#endif
 
 #define IP_RECVRETOPTS IP_RETOPTS