Eliminate most instances where we use linux kernel headers
-Erik
diff --git a/libbb/interface.c b/libbb/interface.c
index ff79703..bdb77bc 100644
--- a/libbb/interface.c
+++ b/libbb/interface.c
@@ -15,7 +15,7 @@
* that either displays or sets the characteristics of
* one or more of the system's networking interfaces.
*
- * Version: $Id: interface.c,v 1.12 2002/11/28 10:20:45 bug1 Exp $
+ * Version: $Id: interface.c,v 1.13 2003/01/14 08:54:06 andersen Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* and others. Copyright 1993 MicroWalt Corporation
@@ -93,7 +93,7 @@
#ifdef HAVE_HWSLIP
-#include <linux/if_slip.h>
+#include <net/if_slip.h>
#endif
#if HAVE_AFINET6
@@ -1397,7 +1397,12 @@
#if HAVE_HWETHER
#include <net/if_arp.h>
+
+#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1
+#include <net/ethernet.h>
+#else
#include <linux/if_ether.h>
+#endif
/* Display an Ethernet address in readable format. */
static char *pr_ether(unsigned char *ptr)
diff --git a/networking/ifconfig.c b/networking/ifconfig.c
index 4c11858..95cc07a 100644
--- a/networking/ifconfig.c
+++ b/networking/ifconfig.c
@@ -15,7 +15,7 @@
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
- * $Id: ifconfig.c,v 1.21 2002/12/27 17:42:01 mjn3 Exp $
+ * $Id: ifconfig.c,v 1.22 2003/01/14 08:54:07 andersen Exp $
*
*/
@@ -38,15 +38,21 @@
#include <ctype.h> /* isdigit and friends */
#include <stddef.h> /* offsetof */
#include <sys/ioctl.h>
+#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
+#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1
+#include <netpacket/packet.h>
+#include <net/ethernet.h>
+#else
+#include <asm/types.h>
#include <linux/if_ether.h>
-#include <net/if.h>
+#endif
#include "inet_common.h"
#include "busybox.h"
#ifdef CONFIG_FEATURE_IFCONFIG_SLIP
-# include <linux/if_slip.h>
+# include <net/if_slip.h>
#endif
/* I don't know if this is needed for busybox or not. Anyone? */
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c
index 3b2f4da..1cfaf6d 100644
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -18,10 +18,15 @@
#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"
@@ -29,6 +34,10 @@
#include "libbb.h"
+
+/* take from linux/sockios.h */
+#define SIOCSIFNAME 0x8923 /* set interface name */
+
static int do_link;
static int on_off(char *msg)
diff --git a/networking/libiproute/iptunnel.c b/networking/libiproute/iptunnel.c
index dcf717e..1eb1779 100644
--- a/networking/libiproute/iptunnel.c
+++ b/networking/libiproute/iptunnel.c
@@ -25,10 +25,13 @@
#include <arpa/inet.h>
#include <netinet/ip.h>
+#include <netinet/in.h>
-#define sysinfo kernel_sysinfo
-#include <linux/if_arp.h>
-#undef sysinfo
+#include <net/if.h>
+#include <net/if_arp.h>
+
+#include <asm/types.h>
+#define __constant_htons htons
#include <linux/if_tunnel.h>
#include "rt_names.h"
diff --git a/networking/libiproute/ll_addr.c b/networking/libiproute/ll_addr.c
index 08d5b78..39e561f 100644
--- a/networking/libiproute/ll_addr.c
+++ b/networking/libiproute/ll_addr.c
@@ -11,11 +11,7 @@
#include <arpa/inet.h>
#include <string.h>
-
-#define sysinfo kernel_sysinfo
-#include <linux/if_arp.h>
-#undef sysinfo
-
+#include <net/if_arp.h>
#include "utils.h"
#include "libbb.h"
diff --git a/networking/nameif.c b/networking/nameif.c
index a9d4221..886ff49 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -32,10 +32,12 @@
#include <string.h>
#include <net/if.h>
#include <netinet/ether.h>
-#include <linux/sockios.h>
#include "busybox.h"
+/* take from linux/sockios.h */
+#define SIOCSIFNAME 0x8923 /* set interface name */
+
/* Octets in one ethernet addr, from <linux/if_ether.h> */
#define ETH_ALEN 6