This seems sufficient for ifup and ifdown to actually work
[oweals/busybox.git] / networking / libiproute / iplink.c
index ef4d6b9a5ca64f0b60a24253f6f0a142e508d70e..1cfaf6d6a05621920d376cd261c3c3087ff4a6f3 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
-#include <linux/if.h>
-#include <linux/if_packet.h>
+#include <net/if.h>
+#include <net/if_packet.h>
+#include <netpacket/packet.h>
+
+#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1
+#include <net/ethernet.h>
+#else
 #include <linux/if_ether.h>
-#include <linux/sockios.h>
+#endif
 
 #include "rt_names.h"
 #include "utils.h"
 
 #include "libbb.h"
 
+
+/* take from linux/sockios.h */
+#define SIOCSIFNAME    0x8923          /* set interface name */
+
 static int do_link;
 
 static int on_off(char *msg)
@@ -334,7 +343,7 @@ static int ipaddr_list_link(int argc, char **argv)
 {
        preferred_family = AF_PACKET;
        do_link = 1;
-       return ipaddr_list(argc, argv);
+       return ipaddr_list_or_flush(argc, argv, 0);
 }
 
 int do_iplink(int argc, char **argv)