/* ---- Who misses what? ------------------------------------ */
-/* Assume all these functions exist by default. Platforms where it is not
- * true will #undef them below.
+/* Assume all these functions and header files exist by default.
+ * Platforms where it is not true will #undef them below.
*/
#define HAVE_CLEARENV 1
#define HAVE_FDATASYNC 1
#define HAVE_STRSEP 1
#define HAVE_STRSIGNAL 1
#define HAVE_VASPRINTF 1
+#define HAVE_XTABS 1
#define HAVE_MNTENT_H 1
+#define HAVE_NET_ETHERNET_H 1
#define HAVE_SYS_STATFS_H 1
-#define HAVE_XTABS 1
+
+#if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 1)
+# undef HAVE_NET_ETHERNET_H
+#endif
#if defined(__dietlibc__)
# undef HAVE_STRCHRNUL
# undef HAVE_STRSEP
# undef HAVE_STRSIGNAL
# undef HAVE_VASPRINTF
+# undef HAVE_NET_ETHERNET_H
#endif
#if defined(__FreeBSD__)
# undef HAVE_DPRINTF
# undef HAVE_STPCPY
# undef HAVE_STRCHRNUL
+# undef HAVE_NET_ETHERNET_H
#endif
/*
//usage: "\n -i iface Interface to use (default eth0)"
//usage: "\n -p pass Append four or six byte password PW to the packet"
+#include "libbb.h"
#include <netpacket/packet.h>
-#include <net/ethernet.h>
#include <netinet/ether.h>
#include <linux/if.h>
-#include "libbb.h"
-
/* Note: PF_INET, SOCK_DGRAM, IPPROTO_UDP would allow SIOCGIFHWADDR to
* work as non-root, but we need SOCK_PACKET to specify the Ethernet
* destination address.
//usage: " [mem_start NN] [io_addr NN] [irq NN]\n")
//usage: " [up|down] ..."
+#include "libbb.h"
+#include "inet_common.h"
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
-#if defined(__GLIBC__) && __GLIBC__ >=2 && __GLIBC_MINOR__ >= 1
-#include <netpacket/packet.h>
-#include <net/ethernet.h>
-#else
-#include <sys/types.h>
-#include <netinet/if_ether.h>
+#ifdef HAVE_NET_ETHERNET_H
+# include <net/ethernet.h>
#endif
-#include "libbb.h"
-#include "inet_common.h"
#if ENABLE_FEATURE_IFCONFIG_SLIP
# include <net/if_slip.h>
#include <linux/if.h>
#include <linux/mii.h>
#include <linux/ethtool.h>
-#include <net/ethernet.h>
+#ifdef HAVE_NET_ETHERNET_H
+# include <net/ethernet.h>
+#endif
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/sockios.h>
* 20001008 - Bernd Eckenfels, Patch from RH for setting mtu
* (default AF was wrong)
*/
+
+#include "libbb.h"
+#include "inet_common.h"
#include <net/if.h>
#include <net/if_arp.h>
-#ifndef __UCLIBC__
+#ifdef HAVE_NET_ETHERNET_H
# include <net/ethernet.h>
-#else
-# include <linux/if_ether.h>
#endif
-#include "libbb.h"
-#include "inet_common.h"
#if ENABLE_FEATURE_HWIB
/* #include <linux/if_infiniband.h> */
#include "rt_names.h"
#include "utils.h"
-#if defined(__GLIBC__) && __GLIBC__ >=2 && __GLIBC_MINOR__ >= 1
-#include <net/ethernet.h>
-#else
-#include <linux/if_ether.h>
-#endif
+#include <netinet/if_ether.h>
#if !ENABLE_WERROR
#warning de-bloat
#include "dhcpd.h"
#include "dhcpc.h"
-#include <asm/types.h>
-#if (defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1) || defined(_NEWLIB_VERSION)
-# include <netpacket/packet.h>
-# include <net/ethernet.h>
-#else
-# include <linux/if_packet.h>
-# include <linux/if_ether.h>
-#endif
+#include <netinet/if_ether.h>
+#include <netpacket/packet.h>
#include <linux/filter.h>
/* struct client_config_t client_config is in bb_common_bufsiz1 */
*
* Licensed under GPLv2, see file LICENSE in this source tree.
*/
-#include <netinet/in.h>
-#if (defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1) || defined _NEWLIB_VERSION
-# include <netpacket/packet.h>
-# include <net/ethernet.h>
-#else
-# include <asm/types.h>
-# include <linux/if_packet.h>
-# include <linux/if_ether.h>
-#endif
-
#include "common.h"
#include "dhcpd.h"
+#include <netinet/in.h>
+#include <netinet/if_ether.h>
+#include <netpacket/packet.h>
void FAST_FUNC udhcp_init_header(struct dhcp_packet *packet, char type)
{
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <net/if.h>
-#if (defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1) || defined _NEWLIB_VERSION
-# include <netpacket/packet.h>
-# include <net/ethernet.h>
-#else
-# include <asm/types.h>
-# include <linux/if_packet.h>
-# include <linux/if_ether.h>
-#endif
-
#include "common.h"
+#include <net/if.h>
int FAST_FUNC udhcp_read_interface(const char *interface, int *ifindex, uint32_t *nip, uint8_t *mac)
{
//usage: "\nWith no -q, runs continuously monitoring for ARP conflicts,"
//usage: "\nexits only on I/O errors (link down etc)"
+#include "libbb.h"
#include <netinet/ether.h>
-#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_arp.h>
-#include <linux/if_packet.h>
#include <linux/sockios.h>
-#include "libbb.h"
#include <syslog.h>
/* We don't need more than 32 bits of the counter */