diff options
-rw-r--r-- | acconfig.h | 3 | ||||
-rw-r--r-- | configure.in | 11 | ||||
-rw-r--r-- | interface.c | 2 |
3 files changed, 15 insertions, 1 deletions
@@ -112,6 +112,9 @@ /* Define if you want built-in SOCKS support */ #undef HAVE_SOCKS +/* Define if it looks like we have new /proc/dev/net format under Linux */ +#undef HAVE_NEWPROCNETDEV + /* Define to the version of the distribution. */ #undef VERSION diff --git a/configure.in b/configure.in index 56098371..d637ddd1 100644 --- a/configure.in +++ b/configure.in @@ -183,6 +183,17 @@ AC_TRY_LINK([#include <signal.h> [AC_DEFINE(SYS_SIGLIST_DECLARED) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no)) +dnl Figure out whether we're using a 2.2 kernel (assuming this is Linux) +AC_MSG_CHECKING(OS kernel major version) +set -- `uname -r | tr '.' ' '` +release="${1}.${2}" +AC_MSG_RESULT($release) +if expr "$release" '>=' '2.2' >/dev/null +then + AC_DEFINE(HAVE_NEWPROCNETDEV) + AC_MSG_RESULT("assuming new /proc/dev/net format") +fi + # Find the right directory to put the root-mode PID file in for dir in "/var/run" "/etc" do diff --git a/interface.c b/interface.c index 9c01a0e9..05d34404 100644 --- a/interface.c +++ b/interface.c @@ -41,7 +41,7 @@ struct interface_pair_s { struct in_addr interface_mask; } *interface_pair; -#ifdef linux22 +#ifdef HAVE_NEWPROCNETDEV /* Linux 2.2 /proc/net/dev format -- transmit packet count in 10th field */ #define PROCNETDEV "%d %d %*d %*d %*d %d %*d %*d %*d %*d %d %*d %d" #else |