$NetBSD: patch-aa,v 1.1.1.1 2004/06/25 23:20:19 xtraeme Exp $

--- libdal/file_dal.c.orig	2004-06-26 03:03:22.000000000 +0200
+++ libdal/file_dal.c	2004-06-26 03:04:29.000000000 +0200
@@ -12,6 +12,15 @@
 #	define _GNU_SOURCE
 #endif
 
+#ifdef __NetBSD__
+#define LOFF_T off_t
+#define O_LARGEFILE	200000 /* Taken from linux sources... */
+#define LSEEK	lseek
+#else /* Linux, FreeBSD, ???? */
+#define LSEEK	lseek64
+#define LOFF_T	loff_t
+#endif
+
 #include <fcntl.h>
 #include <unistd.h>
 #include <string.h>
@@ -21,28 +30,28 @@
 #include <dal/dal.h>
 
 static blk_t file_dal_len(dal_t *dal) {
-    loff_t max_off = 0;
+    LOFF_T max_off = 0;
     
     if (!dal) return 0;
     
-	if ((max_off = lseek64((int)dal->dev, 0, SEEK_END)) == (loff_t)-1)
+	if ((max_off = LSEEK((int)dal->dev, 0, SEEK_END)) == (LOFF_T)-1)
 		return 0;
 	
     return max_off / dal->blocksize;
 }
 
 static int file_dal_read(dal_t *dal, void *buff, blk_t block, blk_t count) {
-    loff_t off, blocklen;
+    LOFF_T off, blocklen;
     
     if (!dal || !buff)
 		return 0;
     
-    off = (loff_t)block * (loff_t)dal->blocksize;
+    off = (LOFF_T)block * (LOFF_T)dal->blocksize;
     
-    if (lseek64((int)dal->dev, off, SEEK_SET) == -1)
+    if (LSEEK((int)dal->dev, off, SEEK_SET) == -1)
 		return 0;
 
-    blocklen = (loff_t)count * (loff_t)dal->blocksize;
+    blocklen = (LOFF_T)count * (LOFF_T)dal->blocksize;
     
     if (read((int)dal->dev, buff, blocklen) <= 0)
 		return 0;
@@ -51,17 +60,17 @@
 }
 
 static int file_dal_write(dal_t *dal, void *buff, blk_t block, blk_t count) {
-    loff_t off, blocklen;
+    LOFF_T off, blocklen;
     
     if (!dal || !buff)
 		return 0;
     
-    off = (loff_t)block * (loff_t)dal->blocksize;
+    off = (LOFF_T)block * (LOFF_T)dal->blocksize;
     
-    if (lseek64((int)dal->dev, off, SEEK_SET) == -1)
+    if (LSEEK((int)dal->dev, off, SEEK_SET) == -1)
 		return 0;
 
-    blocklen = (loff_t)count * (loff_t)dal->blocksize;
+    blocklen = (LOFF_T)count * (LOFF_T)dal->blocksize;
     
     if (write((int)dal->dev, buff, blocklen) <= 0)
 		return 0;
