summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kppp/configure.in.in3
-rw-r--r--kppp/opener.cpp5
-rw-r--r--kppp/pppstats.cpp8
3 files changed, 15 insertions, 1 deletions
diff --git a/kppp/configure.in.in b/kppp/configure.in.in
index 867d5f07..720680c2 100644
--- a/kppp/configure.in.in
+++ b/kppp/configure.in.in
@@ -30,6 +30,9 @@ AC_TRY_LINK([
#ifndef STREAMS
#if defined(linux)
+ #ifndef aligned_u64
+ #define aligned_u64 unsigned long long __attribute__((aligned(8)))
+ #endif
#include <linux/if_ppp.h>
#elif defined(__DragonFly__)
#include <net/ppp/if_ppp.h>
diff --git a/kppp/opener.cpp b/kppp/opener.cpp
index 2d88ef88..0d46edd9 100644
--- a/kppp/opener.cpp
+++ b/kppp/opener.cpp
@@ -72,6 +72,11 @@ extern "C" int _Precvmsg(int, void*, int);
# include <net/ppp_layer/ppp_defs.h>
# include <net/if.h>
# include <net/ppp/if_ppp.h>
+# elif defined HAVE_LINUX_IF_PPP_H
+# ifndef aligned_u64
+# define aligned_u64 unsigned long long __attribute__((aligned(8)))
+# endif
+# include <linux/if_ppp.h>
# endif
#else
# include <net/ppp_defs.h>
diff --git a/kppp/pppstats.cpp b/kppp/pppstats.cpp
index d4b3007e..fb4d6428 100644
--- a/kppp/pppstats.cpp
+++ b/kppp/pppstats.cpp
@@ -71,7 +71,13 @@
#endif
#include <sys/socket.h> /* *BSD, Linux, NeXT, Ultrix etc. */
#ifndef HAVE_NET_IF_PPP_H
- #if defined(__DragonFly__)
+ #ifdef HAVE_LINUX_IF_PPP_H
+ #include <linux/if.h>
+ #ifndef aligned_u64
+ #define aligned_u64 unsigned long long __attribute__((aligned(8)))
+ #endif
+ #include <linux/if_ppp.h>
+ #elif defined(__DragonFly__)
#include <net/if.h>
#include <net/ppp/if_ppp.h>
#endif