diff options
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | ethtool-util.h | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index f2401a4..2e31e3a 100644 --- a/configure.ac +++ b/configure.ac @@ -17,6 +17,13 @@ dnl Checks for header files. AC_CHECK_HEADERS(sys/ioctl.h) dnl Checks for typedefs, structures, and compiler characteristics. +AC_MSG_CHECKING([whether <linux/types.h> defines big-endian types]) +AC_TRY_COMPILE([#include <linux/types.h>], + [__be16 foo;__be32 bar;], + [AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_BE_TYPES], [1], + [Define to 1 if <linux/types.h> defines big-endian types])], + [AC_MSG_RESULT(no)]) dnl Checks for library functions. AC_HEADER_STDC diff --git a/ethtool-util.h b/ethtool-util.h index 4ef3a9f..f053028 100644 --- a/ethtool-util.h +++ b/ethtool-util.h @@ -6,6 +6,12 @@ #include <sys/types.h> #include <endian.h> +/* ethtool.h expects these to be defined by <linux/types.h> */ +#ifndef HAVE_BE_TYPES +typedef __uint16_t __be16; +typedef __uint32_t __be32; +#endif + #include "ethtool-copy.h" typedef unsigned long long u64; |