Index: os.h
--- os.h.orig	2015-01-12 11:24:18.486364000 +0100
+++ os.h	2015-01-12 11:24:34.836198754 +0100
@@ -92,10 +92,6 @@
 #include <net/if_media.h>
 #include <net/if_mib.h>
 #include <arpa/inet.h>
-#ifndef __DragonFly__
-#include <net/ppp_defs.h>
-#include <net/if_ppp.h>
-#endif
 #elif defined (__NetBSD__)            /* N E T B S D */
 #include <stdio.h>
 #include <sys/param.h>
Index: src/if_media.c
--- src/if_media.c.orig	2014-10-14 09:30:22.000000000 +0200
+++ src/if_media.c	2015-01-12 11:24:18.486364208 +0100
@@ -95,8 +95,13 @@
      *
      */
 
+#if __FreeBSD__ >= 2 
+    type = IFM_TYPE(ifmr.ifm_active);
+    physical = IFM_SUBTYPE(ifmr.ifm_active);
+#else
     type = ifmr.ifm_active & 0xf0;
     physical = ifmr.ifm_active & 0x0f;
+#endif
 
 #ifdef MEDIADEBUG
     printf("      all: %6d\n", ifmr.ifm_current);
