Andy, what that last error meant is that I was specifying the device
the wrong way (it is /dev/scd0 for me). Anyway, here is the actual result:
Version with dinfo[32+4]
==============
[magliery@reganlinux dvd+rw-tools-5.16.4.8.5]$ ./test /dev/scd0
:-( unable to READ DISK INFORMATION: Input/output error
==============
Version with dinfo[32]
==============
[magliery@reganlinux dvd+rw-tools-5.16.4.8.5]$ ./test2 /dev/scd0
00 22 00 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 05
40 00 00 00 00 00 00 00 00
==============
What does *this* mean?
Thanks,
Tom
Andy Polyakov wrote:
I am sure that if growisofs would check all relevant information
returned by the driver, it would fail too.
Thomas! Could you run attached program with your /dev/dvd as argument?
Then remove +4 from dinfo declaration, recompile and re-run. To compile
save it in dvd+rw-tools source catalog and compile with g++. A.
8<--------8<--------8<--------8<--------8<--------8<--------8<--------
#include "transport.hxx"
int main(int argc,char *argv[])
{ Scsi_Command cmd;
unsigned char dinfo[32+4];
int i,err;
cmd.associate(argv[1]);
cmd[0] = 0x51;
cmd[8] = sizeof(dinfo);
cmd[9] = 0;
if (err=cmd.transport (READ,dinfo,sizeof(dinfo)))
sperror ("READ DISK INFORMATION",err);
else
for(i=0;i<sizeof(dinfo);i++) printf("%02x ",dinfo[i]);
printf("\n");
}