ref: 50167f317a6c743cf3a2491835210b1fe2144837
parent: 001afc48ac34b343c4b7fee858856bf3df540cdf
author: Jerome Duval <jerome.duval@gmail.com>
date: Fri Oct 31 08:10:25 EDT 2014
Replace BeOS support by Haiku support. Adapted from a Haiku ports packaging patch.
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@
* Support for Android
* Drop support for HP-UX, Windows 9x, and Windows NT 4.0.
Windows NT 4.0 SP4 with IE 5.0 is now required.
+ * Replace BeOS support by Haiku support.
Changes between 1.2.12 and 1.2.13:
--- a/configure.ac
+++ b/configure.ac
@@ -138,7 +138,7 @@
])
])
-dnl for Un*x and BeOS
+dnl for Unix
AC_CHECK_HEADERS(sys/ioctl.h,[
CAN_BUILD_LIBDVDCSS=1
AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h dvd.h)
--- a/libdvdcss.spec.in
+++ b/libdvdcss.spec.in
@@ -32,7 +32,7 @@
libdvdcss is a simple library designed for accessing DVDs like a block device
without having to bother about the decryption. The important features are:
* Portability: Currently supported platforms are GNU/Linux, FreeBSD, NetBSD,
- OpenBSD, BeOS, Mac OS X, Solaris, QNX, OS/2, and Windows NT 4.0 SP4 (with
+ OpenBSD, Haiku, Mac OS X, Solaris, QNX, OS/2, and Windows NT 4.0 SP4 (with
IE 5.0) or later.
* Adaptability: Unlike most similar projects, libdvdcss does not require the
region of your drive to be set and will try its best to read from the disc
@@ -49,7 +49,7 @@
libdvdcss is a simple library designed for accessing DVDs like a block device
without having to bother about the decryption. The important features are:
* Portability: Currently supported platforms are GNU/Linux, FreeBSD, NetBSD,
- OpenBSD, BeOS, Mac OS X, Solaris, QNX, OS/2, and Windows NT 4.0 SP4 (with
+ OpenBSD, Haiku, Mac OS X, Solaris, QNX, OS/2, and Windows NT 4.0 SP4 (with
IE 5.0) or later.
* Adaptability: Unlike most similar projects, libdvdcss does not require the
region of your drive to be set and will try its best to read from the disc
--- a/src/ioctl.c
+++ b/src/ioctl.c
@@ -64,7 +64,7 @@
#ifdef DVD_STRUCT_IN_DVD_H
# include <dvd.h>
#endif
-#ifdef __BEOS__
+#ifdef __HAIKU__
# include <malloc.h>
# include <scsi.h>
#endif
@@ -90,7 +90,7 @@
/*****************************************************************************
* Local prototypes, BeOS specific
*****************************************************************************/
-#if defined( __BEOS__ )
+#if defined( __HAIKU__ )
static void BeInitRDC ( raw_device_command *, int );
#endif
@@ -150,7 +150,7 @@
*pi_copyright = dvd.cpst;
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_READ_DVD_STRUCTURE, 8 );
rdc.command[ 6 ] = i_layer;
@@ -271,7 +271,7 @@
memcpy( p_key, dvd.data, DVD_DISCKEY_SIZE );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_READ_DVD_STRUCTURE, DVD_DISCKEY_SIZE + 4 );
rdc.command[ 7 ] = DVD_STRUCT_DISCKEY;
@@ -396,7 +396,7 @@
memcpy( p_key, auth_info.keychal, DVD_KEY_SIZE );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 12 );
rdc.command[ 2 ] = ( i_pos >> 24 ) & 0xff;
@@ -526,7 +526,7 @@
*pi_agid = auth_info.agid;
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 8 );
rdc.command[ 10 ] = DVD_REPORT_AGID | (*pi_agid << 6);
@@ -624,7 +624,7 @@
memcpy( p_challenge, auth_info.keychal, DVD_CHALLENGE_SIZE );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 16 );
rdc.command[ 10 ] = DVD_REPORT_CHALLENGE | (*pi_agid << 6);
@@ -732,7 +732,7 @@
*pi_asf = auth_info.asf;
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 8 );
rdc.command[ 10 ] = DVD_REPORT_ASF;
@@ -842,7 +842,7 @@
memcpy( p_key, auth_info.keychal, DVD_KEY_SIZE );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 12 );
rdc.command[ 10 ] = DVD_REPORT_KEY1 | (*pi_agid << 6);
@@ -941,7 +941,7 @@
i_ret = ioctl( i_fd, DVDIOCREPORTKEY, &auth_info );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 0 );
rdc.command[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
@@ -1028,7 +1028,7 @@
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_SEND_KEY, 16 );
rdc.command[ 10 ] = DVD_SEND_CHALLENGE | (*pi_agid << 6);
@@ -1137,7 +1137,7 @@
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_SEND_KEY, 12 );
rdc.command[ 10 ] = DVD_SEND_KEY2 | (*pi_agid << 6);
@@ -1252,7 +1252,7 @@
*p_mask = auth_info.region; // ??
*p_scheme = auth_info.rpc_scheme;
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_REPORT_KEY, 8 );
rdc.command[ 10 ] = DVD_REPORT_RPC;
@@ -1348,11 +1348,11 @@
/* Local prototypes */
-#if defined( __BEOS__ )
+#if defined( __HAIKU__ )
/*****************************************************************************
- * BeInitRDC: initialize a RDC structure for the BeOS kernel
+ * BeInitRDC: initialize a RDC structure for the Haiku kernel
*****************************************************************************
- * This function initializes a BeOS raw device command structure for future
+ * This function initializes a Haiku raw device command structure for future
* use, either a read command or a write command.
*****************************************************************************/
static void BeInitRDC( raw_device_command *p_rdc, int i_type )
--- a/src/ioctl.h
+++ b/src/ioctl.h
@@ -44,7 +44,7 @@
/*****************************************************************************
* Common macro, BeOS specific
*****************************************************************************/
-#if defined( __BEOS__ )
+#if defined( __HAIKU__ )
#define INIT_RDC( TYPE, SIZE ) \
raw_device_command rdc = { 0 }; \
uint8_t p_buffer[ (SIZE)+1 ]; \
--- a/src/libdvdcss.c
+++ b/src/libdvdcss.c
@@ -30,7 +30,7 @@
* device without having to bother about the decryption. The important features
* are:
* \li portability: Currently supported platforms are GNU/Linux, FreeBSD,
- * NetBSD, OpenBSD, BeOS, Mac OS X, Solaris, QNX, OS/2, and Windows
+ * NetBSD, OpenBSD, Haiku, Mac OS X, Solaris, QNX, OS/2, and Windows
* NT 4.0 SP4 (with IE 5.0) or later.
* \li adaptability: Unlike most similar projects, libdvdcss does not require
* the region of your drive to be set and will try its best to read from
--- a/test/dvd_region.c
+++ b/test/dvd_region.c
@@ -59,7 +59,7 @@
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
-#elif defined( __BEOS__ )
+#elif defined( __HAIKU__ )
INIT_RDC( GPCMD_SEND_KEY, 8 );
rdc.command[ 10 ] = DVD_SEND_RPC;