$NetBSD: patch-ab,v 1.3 2007/09/19 23:46:07 wiz Exp $

--- gnome-cd/gst-cdrom.c.orig	2007-01-22 15:01:38.000000000 +0100
+++ gnome-cd/gst-cdrom.c
@@ -36,14 +36,14 @@
 
 #ifdef __linux__
 #include <linux/cdrom.h>
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__sun)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) || defined(__DragonFly__)
 #include <sys/cdio.h>
 #endif
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 #include <sys/cdrio.h>
 #endif
 
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 # define GST_CDROM_IOCTL_CDCAPABILITY_REQUEST  CDIOCCAPABILITY
 # define GST_CDROM_IOCTL_EJECT_REQUEST         CDIOCEJECT
 #elif defined(__NetBSD__) || defined(__OpenBSD__)
@@ -851,7 +851,7 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 /*
 	GstCdparanoiaCDRom *lcd = GST_CDPARANOIA_CDROM (cdrom);
 	GstCdparanoiaCDRomPrivate *priv;
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 	struct ioc_read_toc_single_entry tocentry;
 #elif defined(__NetBSD__) || defined(__OpenBSD__)
 	struct ioc_read_toc_entry tocentries;
@@ -869,7 +869,7 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 		return;
 	}
 
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 	if (ioctl (cdrom->fd, CDIOREADTOCHEADER, priv->tochdr) < 0) {
 #else
 	if (ioctl (cdrom->fd, CDROMREADTOCHDR, priv->tochdr) < 0) {
@@ -880,7 +880,7 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 		return;
 	}
 
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 	priv->track0 = priv->tochdr->starting_track;
 	priv->track1 = priv->tochdr->ending_track;
 #else
@@ -893,8 +893,8 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 	priv->track_info =
 	    g_malloc ((priv->number_tracks +
 		       1) * sizeof (GstCdparanoiaCDRomTrackInfo));
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 	for (i = 0, j = priv->track0; i < priv->number_tracks; i++, j++) {
 		tocentry.track = j;
 		tocentry.address_format = CD_MSF_FORMAT;
@@ -906,7 +906,7 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 		tocentries.address_format = CD_MSF_FORMAT;
 #endif
 
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 		if (ioctl (cdrom->fd, CDIOREADTOCENTRY, &tocentry) < 0) {
 #else
 		if (ioctl (cdrom->fd, CDIOREADTOCENTRYS, &tocentries) < 0) {
@@ -916,7 +916,7 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 		}
 
 		priv->track_info[i].track = j;
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 		priv->track_info[i].audio_track =
 		    tocentry.entry.control != CDROM_DATA_TRACK ? 1 : 0;
 		ASSIGN_MSF (priv->track_info[i].address,
@@ -943,8 +943,8 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 			    tocentry.cdte_addr.msf);
 #endif
 	}
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 	tocentry.track = CDROM_LEADOUT;
 	tocentry.address_format = CD_MSF_FORMAT;
 	if (ioctl (cdrom->fd, CDIOREADTOCENTRY, &tocentry) < 0) {
@@ -957,7 +957,7 @@ gst_cdrom_update_cd (GnomeCDRom * gnome_
 		gst_cdparanoia_cdrom_invalidate (lcd);
 		return;
 	}
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 	ASSIGN_MSF (priv->track_info[priv->number_tracks].address,
 		    tocentry.entry.addr.msf);
 #else
