$NetBSD: patch-aa,v 1.5 2005/10/18 15:31:57 joerg Exp $

--- transport.hxx.orig	2004-08-25 01:36:29.000000000 +0200
+++ transport.hxx
@@ -6,7 +6,7 @@
 // For further details see http://fy.chalmers.se/~appro/linux/DVD+RW/
 //
 
-#if defined(__unix) || defined(__unix__)
+#if defined(__unix) || defined(__unix__) || defined(__NetBSD__)
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -16,6 +16,9 @@
 #include <fcntl.h>
 #include <poll.h>
 #include <sys/time.h>
+#if __NetBSD_Version__ >= 299000900
+#include <sys/statvfs.h>
+#endif
 
 inline long getmsecs()
 { struct timeval tv;
@@ -413,7 +416,11 @@ public:
     // mounted, so that it could as well just return 0;
     int umount(int f=-1)
     { struct stat    fsb,msb;
+#if __NetBSD_Version__ >= 299000900
+      struct statvfs *mntbuf;
+#else
       struct statfs *mntbuf;
+#endif
       int            ret=0,mntsize,i;
 
 	if (f==-1) f=fd;
@@ -442,7 +449,7 @@ public:
     {	return 1;   }
 };
 
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
 
 #include <sys/ioctl.h>
 #include <camlib.h>
@@ -609,7 +616,11 @@ public:
     }
     int umount(int f=-1)
     { struct stat    fsb,msb;
+#if __NetBSD_Version__ >= 299000900
+      struct statvfs *mntbuf;
+#else
       struct statfs *mntbuf;
+#endif
       int            ret=0,mntsize,i;
 
 	if (f==-1) f=fd;
