$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 #include #include @@ -21,28 +30,28 @@ #include 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;