net/if.h: add some missing IFF_ constants
[musl] / include / net / if.h
index 2ae5f89..3f4fc09 100644 (file)
@@ -1,6 +1,12 @@
 #ifndef _NET_IF_H
 #define _NET_IF_H
 
 #ifndef _NET_IF_H
 #define _NET_IF_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
+
 #define IF_NAMESIZE 16
 
 struct if_nameindex
 #define IF_NAMESIZE 16
 
 struct if_nameindex
@@ -17,7 +23,7 @@ void if_freenameindex (struct if_nameindex *);
 
 
 
 
 
 
-#ifdef _GNU_SOURCE
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
 #include <sys/socket.h>
 
 
 #include <sys/socket.h>
 
@@ -37,6 +43,11 @@ void if_freenameindex (struct if_nameindex *);
 #define IFF_PORTSEL 0x2000
 #define IFF_AUTOMEDIA 0x4000
 #define IFF_DYNAMIC 0x8000
 #define IFF_PORTSEL 0x2000
 #define IFF_AUTOMEDIA 0x4000
 #define IFF_DYNAMIC 0x8000
+#define IFF_LOWER_UP 0x10000
+#define IFF_DORMANT 0x20000
+#define IFF_ECHO 0x40000
+#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \
+        IFF_ECHO|IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
 
 struct ifaddr {
        struct sockaddr ifa_addr;
 
 struct ifaddr {
        struct sockaddr ifa_addr;
@@ -117,6 +128,8 @@ struct ifconf {
 
 #endif
 
 
 #endif
 
-
+#ifdef __cplusplus
+}
+#endif
 
 #endif
 
 #endif