summaryrefslogtreecommitdiff
path: root/audio/cdparanoia/patches/patch-dg
diff options
context:
space:
mode:
Diffstat (limited to 'audio/cdparanoia/patches/patch-dg')
-rw-r--r--audio/cdparanoia/patches/patch-dg103
1 files changed, 103 insertions, 0 deletions
diff --git a/audio/cdparanoia/patches/patch-dg b/audio/cdparanoia/patches/patch-dg
new file mode 100644
index 00000000000..d2663090286
--- /dev/null
+++ b/audio/cdparanoia/patches/patch-dg
@@ -0,0 +1,103 @@
+$NetBSD: patch-dg,v 1.1 2005/07/13 09:07:10 wiz Exp $
+
+--- interface/scsi_interface.c.orig 2005-05-31 16:02:45.000000000 +0200
++++ interface/scsi_interface.c
+@@ -23,7 +23,7 @@ static void tweak_SG_buffer(cdrom_drive
+ int table,reserved;
+ char buffer[256];
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ #ifdef __linux__
+ /* maximum transfer size? */
+ if(ioctl(d->cdda_fd,SG_GET_RESERVED_SIZE,&reserved)){
+@@ -66,7 +66,7 @@ static void tweak_SG_buffer(cdrom_drive
+ cdmessage(d,"\tCouldn't disable command queue! Continuing anyway...\n");
+ }
+ #endif
+-#else /* FreeBSD */
++#else /* FreeBSD || DragonFly */
+ d->nsectors = 26; /* FreeBSD only supports 64K I/O transfer size */
+ d->bigbuff = d->nsectors * CD_FRAMESIZE_RAW;
+
+@@ -104,7 +104,7 @@ static void reset_scsi(cdrom_drive *d){
+ d->enable_cdda(d,1);
+ }
+
+-#elif defined(__FreeBSD__)
++#elif defined(__FreeBSD__) || defined(__DragonFly__)
+ static void reset_scsi(cdrom_drive *d) {
+ d->enable_cdda(d,0);
+
+@@ -161,7 +161,7 @@ static void clear_garbage(cdrom_drive *d
+ #endif
+
+ /* process a complete scsi command. */
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ static int handle_scsi_cmd(cdrom_drive *d,
+ unsigned int cmd_len,
+ unsigned int in_size,
+@@ -400,7 +400,7 @@ static int handle_scsi_cmd(cdrom_drive *
+ return(0);
+ }
+
+-#elif defined(__FreeBSD__)
++#elif defined(__FreeBSD__) || defined(__DragonFly__)
+ static int handle_scsi_cmd(cdrom_drive *d,
+ unsigned int cmd_len,
+ unsigned int out_size,
+@@ -1060,7 +1060,7 @@ static long scsi_read_map (cdrom_drive *
+ (int)(sg_hd->sense_buffer[2]&0xf),
+ (int)(sg_hd->sense_buffer[12]),
+ (int)(sg_hd->sense_buffer[13]));
+-#elif defined(__FreeBSD__)
++#elif defined(__FreeBSD__) || defined(__DragonFly__)
+ d->ccb->csio.sense_data.flags & SSD_KEY,
+ d->ccb->csio.sense_data.add_sense_code,
+ d->ccb->csio.sense_data.add_sense_code_qual);
+@@ -1078,7 +1078,7 @@ static long scsi_read_map (cdrom_drive *
+ fputs(b, stderr);
+ cdmessage(d,b);
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ fprintf(stderr,"scsi_read error: sector=%ld length=%ld retry=%d\n",
+ begin,sectors,retry_count);
+ fprintf(stderr," Sense key: %x ASC: %x ASCQ: %x\n",
+@@ -1546,7 +1546,7 @@ static void check_fua_bit(cdrom_drive *d
+ return;
+ }
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ static int check_atapi(cdrom_drive *d){
+ #ifdef __linux__
+ int atapiret=-1;
+@@ -1594,7 +1594,7 @@ static int check_atapi(cdrom_drive *d){
+ return(d->is_atapi);
+ }
+ }
+-#elif defined(__FreeBSD__)
++#elif defined(__FreeBSD__) || defined(__DragonFly__)
+ static int
+ check_atapi(cdrom_drive *d)
+ {
+@@ -1681,7 +1681,7 @@ static void check_exceptions(cdrom_drive
+ }
+ }
+
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ /* request vendor brand and model */
+ unsigned char *scsi_inquiry(cdrom_drive *d){
+ memcpy(d->sg_buffer,(char[]){ 0x12,0,0,0,56,0},6);
+@@ -1762,7 +1762,7 @@ int scsi_init_drive(cdrom_drive *d){
+ check_fua_bit(d);
+
+ d->error_retry=1;
+-#ifndef __FreeBSD__
++#if !defined(__FreeBSD__) && !defined(__DragonFly__)
+ d->sg=realloc(d->sg,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
+ d->sg_buffer=d->sg+SG_OFF;
+ #else