diff --git a/src/cron.c b/src/cron.c
index 4290664e..41850dd4 100644
--- a/src/cron.c
+++ b/src/cron.c
@@ -17,13 +17,17 @@
* along with this program. If not, see .
*/
+#include "build.h"
#include "cron.h"
#include
#include
#include
#include
+
+#if !defined(PLATFORM_FREEBSD)
#include
+#endif
/*
* Parse value
diff --git a/src/httpc.c b/src/httpc.c
index ed212a67..ac88ba3c 100644
--- a/src/httpc.c
+++ b/src/httpc.c
@@ -28,6 +28,11 @@
#include
#include
+#if defined(PLATFORM_FREEBSD)
+#include
+#include
+#endif
+
#include
#include
diff --git a/src/input/mpegts/satip/satip.c b/src/input/mpegts/satip/satip.c
index b3126be4..4ad23648 100644
--- a/src/input/mpegts/satip/satip.c
+++ b/src/input/mpegts/satip/satip.c
@@ -28,6 +28,11 @@
#include
#include
+#if defined(PLATFORM_FREEBSD)
+#include
+#include
+#endif
+
static void satip_device_discovery_start( void );
/*
diff --git a/src/input/mpegts/satip/satip_frontend.c b/src/input/mpegts/satip/satip_frontend.c
index 218fadfb..7ed424ac 100644
--- a/src/input/mpegts/satip/satip_frontend.c
+++ b/src/input/mpegts/satip/satip_frontend.c
@@ -24,6 +24,11 @@
#include "http.h"
#include "satip_private.h"
+#if defined(PLATFORM_FREEBSD)
+#include
+#include
+#endif
+
static int
satip_frontend_tune1
( satip_frontend_t *lfe, mpegts_mux_instance_t *mmi );
diff --git a/src/muxer.c b/src/muxer.c
index 33399c7d..a359c748 100644
--- a/src/muxer.c
+++ b/src/muxer.c
@@ -30,6 +30,8 @@
#if defined(PLATFORM_DARWIN)
#define fdatasync(fd) fcntl(fd, F_FULLFSYNC)
+#elif defined(PLATFORM_FREEBSD)
+#define fdatasync(fd) fsync(fd)
#endif
/**
diff --git a/src/upnp.c b/src/upnp.c
index 8ff4e567..8b3404a1 100644
--- a/src/upnp.c
+++ b/src/upnp.c
@@ -16,6 +16,10 @@
* along with this program. If not, see .
*/
+#include "tvheadend.h"
+#include "tvhpoll.h"
+#include "upnp.h"
+
#include
#include
#include
@@ -30,9 +34,10 @@
#include
#include
-#include "tvheadend.h"
-#include "tvhpoll.h"
-#include "upnp.h"
+#if defined(PLATFORM_FREEBSD)
+#include
+#include
+#endif
int upnp_running;
static pthread_t upnp_tid;