$NetBSD: patch-aa,v 1.16 2006/03/19 22:10:38 joerg Exp $

--- src/sysdeps/bsd-common.c.orig	2005-05-24 03:44:21.000000000 +0000
+++ src/sysdeps/bsd-common.c
@@ -255,7 +255,11 @@ void
 gkrellm_sys_fs_get_mounts_list(void)
 	{
 	gchar		*s, *dev, *dir, *type;
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+	struct statvfs	*mntbuf;
+#else
 	struct statfs	*mntbuf;
+#endif
 	gint		mntsize, i;
 
 	if ((mntsize = getmntinfo(&mntbuf, MNT_NOWAIT)) == 0)
@@ -281,12 +285,24 @@ gkrellm_sys_fs_get_mounts_list(void)
 void
 gkrellm_sys_fs_get_fsusage(gpointer fs, gchar *dir)
 	{
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+	struct statvfs	st;
+#else
 	struct statfs	st;
+#endif
 
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+	if (!statvfs(dir, &st))
+#else
 	if (!statfs(dir, &st))
+#endif
 		gkrellm_fs_assign_fsusage_data(fs,
 					(glong) st.f_blocks, (glong) st.f_bavail,
+#if (defined(__NetBSD__) && __NetBSD_Version__ >= 299000900) /* NetBSD 2.99.9 */
+					(glong) st.f_bfree, (glong) st.f_frsize);
+#else
 					(glong) st.f_bfree, (glong) st.f_bsize);
+#endif
 	else
 		gkrellm_fs_assign_fsusage_data(fs, 0, 0, 0, 0);
 	}
@@ -345,7 +361,7 @@ gkrellm_sys_fs_init(void)
 	}
 #endif
 
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 gboolean
 gkrellm_sys_fs_init(void)
 	{
