mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-14 15:50:07 +02:00
183 lines
6.0 KiB
Plaintext
183 lines
6.0 KiB
Plaintext
From a26e00c0b520782bfc178ac77f2822c85167167b Mon Sep 17 00:00:00 2001
|
|
From: Jerome Duval <jerome.duval@gmail.com>
|
|
Date: Wed, 6 Aug 2014 18:49:28 +0000
|
|
Subject: haiku patch
|
|
|
|
|
|
diff --git a/Makefile.am b/Makefile.am
|
|
index 15002e9..327c134 100644
|
|
--- a/Makefile.am
|
|
+++ b/Makefile.am
|
|
@@ -6,12 +6,6 @@ dist_doc_DATA = AUTHORS COPYING NEWS README ChangeLog
|
|
|
|
MAINTAINERCLEANFILES = ChangeLog
|
|
|
|
-ChangeLog: $(wildcard $(srcdir)/.git/logs/HEAD)
|
|
- -cd $(srcdir) && git log > $(abs_builddir)/$(@)-tmp
|
|
- test -s $(@)-tmp && mv $(@)-tmp $(@)
|
|
- -rm -f $(@)-tmp
|
|
- test -e $(@) || touch $(@)
|
|
-
|
|
lib_LTLIBRARIES = libdvdcss.la
|
|
EXTRA_PROGRAMS = csstest dvd_region
|
|
|
|
diff --git a/src/ioctl.c b/src/ioctl.c
|
|
index 5221c97..ebc2650 100644
|
|
--- a/src/ioctl.c
|
|
+++ b/src/ioctl.c
|
|
@@ -64,7 +64,7 @@
|
|
#ifdef DVD_STRUCT_IN_DVD_H
|
|
# include <dvd.h>
|
|
#endif
|
|
-#ifdef __BEOS__
|
|
+#if defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
# include <malloc.h>
|
|
# include <scsi.h>
|
|
#endif
|
|
@@ -93,7 +93,7 @@
|
|
/*****************************************************************************
|
|
* Local prototypes, BeOS specific
|
|
*****************************************************************************/
|
|
-#if defined( __BEOS__ )
|
|
+#if defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
static void BeInitRDC ( raw_device_command *, int );
|
|
#endif
|
|
|
|
@@ -162,7 +162,7 @@ int ioctl_ReadCopyright( int i_fd, int i_layer, int *pi_copyright )
|
|
|
|
*pi_copyright = dvd.cpst;
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_READ_DVD_STRUCTURE, 8 );
|
|
|
|
rdc.command[ 6 ] = i_layer;
|
|
@@ -307,7 +307,7 @@ int ioctl_ReadDiscKey( int i_fd, int *pi_agid, uint8_t *p_key )
|
|
|
|
memcpy( p_key, dvd.data, DVD_DISCKEY_SIZE );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_READ_DVD_STRUCTURE, DVD_DISCKEY_SIZE + 4 );
|
|
|
|
rdc.command[ 7 ] = DVD_STRUCT_DISCKEY;
|
|
@@ -466,7 +466,7 @@ int ioctl_ReadTitleKey( int i_fd, int *pi_agid, int i_pos, uint8_t *p_key )
|
|
|
|
memcpy( p_key, auth_info.keychal, DVD_KEY_SIZE );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 12 );
|
|
|
|
rdc.command[ 2 ] = ( i_pos >> 24 ) & 0xff;
|
|
@@ -626,7 +626,7 @@ int ioctl_ReportAgid( int i_fd, int *pi_agid )
|
|
|
|
*pi_agid = auth_info.agid;
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 8 );
|
|
|
|
rdc.command[ 10 ] = DVD_REPORT_AGID | (*pi_agid << 6);
|
|
@@ -746,7 +746,7 @@ int ioctl_ReportChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
|
|
|
|
memcpy( p_challenge, auth_info.keychal, DVD_CHALLENGE_SIZE );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 16 );
|
|
|
|
rdc.command[ 10 ] = DVD_REPORT_CHALLENGE | (*pi_agid << 6);
|
|
@@ -876,7 +876,7 @@ int ioctl_ReportASF( int i_fd, int *pi_remove_me, int *pi_asf )
|
|
|
|
*pi_asf = auth_info.asf;
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 8 );
|
|
|
|
rdc.command[ 10 ] = DVD_REPORT_ASF;
|
|
@@ -1008,7 +1008,7 @@ int ioctl_ReportKey1( int i_fd, int *pi_agid, uint8_t *p_key )
|
|
|
|
memcpy( p_key, auth_info.keychal, DVD_KEY_SIZE );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 12 );
|
|
|
|
rdc.command[ 10 ] = DVD_REPORT_KEY1 | (*pi_agid << 6);
|
|
@@ -1129,7 +1129,7 @@ int ioctl_InvalidateAgid( int i_fd, int *pi_agid )
|
|
|
|
i_ret = ioctl( i_fd, DVDIOCREPORTKEY, &auth_info );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 0 );
|
|
|
|
rdc.command[ 10 ] = DVDCSS_INVALIDATE_AGID | (*pi_agid << 6);
|
|
@@ -1242,7 +1242,7 @@ int ioctl_SendChallenge( int i_fd, int *pi_agid, uint8_t *p_challenge )
|
|
|
|
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_SEND_KEY, 16 );
|
|
|
|
rdc.command[ 10 ] = DVD_SEND_CHALLENGE | (*pi_agid << 6);
|
|
@@ -1375,7 +1375,7 @@ int ioctl_SendKey2( int i_fd, int *pi_agid, uint8_t *p_key )
|
|
|
|
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_SEND_KEY, 12 );
|
|
|
|
rdc.command[ 10 ] = DVD_SEND_KEY2 | (*pi_agid << 6);
|
|
@@ -1514,7 +1514,7 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
|
|
*p_mask = auth_info.region; // ??
|
|
*p_scheme = auth_info.rpc_scheme;
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_REPORT_KEY, 8 );
|
|
|
|
rdc.command[ 10 ] = DVD_REPORT_RPC;
|
|
@@ -1636,7 +1636,7 @@ int ioctl_ReportRPC( int i_fd, int *p_type, int *p_mask, int *p_scheme )
|
|
|
|
/* Local prototypes */
|
|
|
|
-#if defined( __BEOS__ )
|
|
+#if defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
/*****************************************************************************
|
|
* BeInitRDC: initialize a RDC structure for the BeOS kernel
|
|
*****************************************************************************
|
|
diff --git a/src/ioctl.h b/src/ioctl.h
|
|
index 8533833..966f81b 100644
|
|
--- a/src/ioctl.h
|
|
+++ b/src/ioctl.h
|
|
@@ -42,7 +42,7 @@ int ioctl_ReportRPC ( int, int *, int *, int * );
|
|
/*****************************************************************************
|
|
* Common macro, BeOS specific
|
|
*****************************************************************************/
|
|
-#if defined( __BEOS__ )
|
|
+#if defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
#define INIT_RDC( TYPE, SIZE ) \
|
|
raw_device_command rdc = { 0 }; \
|
|
uint8_t p_buffer[ (SIZE)+1 ]; \
|
|
diff --git a/test/dvd_region.c b/test/dvd_region.c
|
|
index 47abea8..cc949fd 100644
|
|
--- a/test/dvd_region.c
|
|
+++ b/test/dvd_region.c
|
|
@@ -51,7 +51,7 @@ static int ioctl_SendRPC( int i_fd, int i_pdrc )
|
|
|
|
i_ret = ioctl( i_fd, DVDIOCSENDKEY, &auth_info );
|
|
|
|
-#elif defined( __BEOS__ )
|
|
+#elif defined( __BEOS__ ) || defined( __HAIKU__ )
|
|
INIT_RDC( GPCMD_SEND_KEY, 8 );
|
|
|
|
rdc.command[ 10 ] = DVD_SEND_RPC;
|
|
--
|
|
1.8.3.4
|
|
|