|
From: <sv...@va...> - 2006-05-08 17:37:57
|
Author: tom
Date: 2006-05-08 12:37:04 +0100 (Mon, 08 May 2006)
New Revision: 5885
Log:
Add support for CDROMREADRAW and fix CDROMREADTOCENTRY to mark the right
number of bytes as defined in the post handler. Fixes bug #126696.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/include/vki-linux.h
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2006-05-08 11:19:47 UTC (=
rev 5884)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2006-05-08 11:37:04 UTC (=
rev 5885)
@@ -3624,6 +3624,10 @@
PRE_MEM_WRITE( "ioctl(CDROMVOLREAD)", ARG3,
sizeof(struct vki_cdrom_volctrl));
break;
+ case VKI_CDROMREADRAW: /* 0x5314 */
+ PRE_MEM_READ( "ioctl(CDROMREADRAW)", ARG3, sizeof(struct vki_cdrom=
_msf));
+ PRE_MEM_WRITE( "ioctl(CDROMREADRAW)", ARG3, VKI_CD_FRAMESIZE_RAW);
+ break;
case VKI_CDROMREADAUDIO: /* 0x530e */
PRE_MEM_READ( "ioctl(CDROMREADAUDIO)", ARG3,
sizeof (struct vki_cdrom_read_audio));
@@ -4295,7 +4299,7 @@
POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_tochdr));
break;
case VKI_CDROMREADTOCENTRY:
- POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_tochdr));
+ POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_tocentry));
break;
case VKI_CDROMMULTISESSION:
POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_multisession));
@@ -4303,6 +4307,9 @@
case VKI_CDROMVOLREAD:
POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_volctrl));
break;
+ case VKI_CDROMREADRAW:
+ POST_MEM_WRITE(ARG3, VKI_CD_FRAMESIZE_RAW);
+ break;
case VKI_CDROMREADAUDIO:
{
struct vki_cdrom_read_audio *cra =3D (struct vki_cdrom_read_audio =
*) ARG3;
Modified: trunk/include/vki-linux.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/vki-linux.h 2006-05-08 11:19:47 UTC (rev 5884)
+++ trunk/include/vki-linux.h 2006-05-08 11:37:04 UTC (rev 5885)
@@ -1620,6 +1620,8 @@
if available (struct cdrom_mc=
n) */
#define VKI_CDROMVOLREAD 0x5313 /* Get the drive's volume setting
(struct cdrom_volctrl) */
+#define VKI_CDROMREADRAW 0x5314 /* read data in raw mode (2352 Bytes)
+ (struct cdrom_read) */
#define VKI_CDROM_CLEAR_OPTIONS 0x5321 /* Clear behavior options */
#define VKI_CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
=20
|