MMC mode page capabilities gone over. Some more were added.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: sample2.c,v 1.10 2004/07/17 22:16:46 rocky Exp $
|
||||
$Id: sample2.c,v 1.11 2004/07/18 03:35:07 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -48,8 +48,8 @@ print_drive_capabilities(cdio_drive_read_cap_t i_read_cap,
|
||||
printf(_("Hardware : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_FILE
|
||||
? "Disk Image" : "CD-ROM or DVD");
|
||||
printf(_("Can open tray : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_OPEN_TRAY ? "Yes" : "No");
|
||||
printf(_("Can eject : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_EJECT ? "Yes" : "No");
|
||||
printf(_("Can close tray : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_CLOSE_TRAY ? "Yes" : "No");
|
||||
printf(_("Can disable manual eject : %s\n"),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: types.h,v 1.19 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: types.h,v 1.20 2004/07/18 03:35:07 rocky Exp $
|
||||
|
||||
Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -290,7 +290,7 @@ extern "C" {
|
||||
|
||||
#define CDIO_DRIVE_CAP_MISC_CLOSE_TRAY 0x00001 /**< caddy systems can't
|
||||
close... */
|
||||
#define CDIO_DRIVE_CAP_MISC_OPEN_TRAY 0x00002 /**< but can eject. */
|
||||
#define CDIO_DRIVE_CAP_MISC_EJECT 0x00002 /**< but can eject. */
|
||||
#define CDIO_DRIVE_CAP_MISC_LOCK 0x00004 /**< disable manual eject */
|
||||
#define CDIO_DRIVE_CAP_MISC_SELECT_SPEED 0x00008 /**< programmable speed */
|
||||
#define CDIO_DRIVE_CAP_MISC_SELECT_DISC 0x00010 /**< select disc from
|
||||
@@ -298,21 +298,24 @@ extern "C" {
|
||||
#define CDIO_DRIVE_CAP_MISC_MULTI_SESSION 0x00020 /**< read sessions>1 */
|
||||
#define CDIO_DRIVE_CAP_MISC_MEDIA_CHANGED 0x00080 /**< media changed */
|
||||
#define CDIO_DRIVE_CAP_MISC_RESET 0x00100 /**< hard reset device */
|
||||
#define CDIO_DRIVE_CAP_MCN 0x00200 /**< can read MCN */
|
||||
#define CDIO_DRIVE_CAP_ISRC 0x00200 /**< can read ISRC */
|
||||
#define CDIO_DRIVE_CAP_MISC_FILE 0x20000 /**< drive is really a file,
|
||||
i.e a CD file image */
|
||||
|
||||
/*! Reading masks.. */
|
||||
#define CDIO_DRIVE_CAP_READ_AUDIO 0x00001 /**< drive can play CD audio */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_G 0x00002 /**< drive can read CD G */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_R 0x00004 /**< drive can read CD-R */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_RW 0x00008 /**< drive can read CD-RW */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_R 0x00010 /**< drive can read DVD-R */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_PR 0x00020 /**< drive can read DVD+R */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_RAM 0x00040 /**< drive can read DVD-RAM */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_ROM 0x00080 /**< drive can read DVD-ROM */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_RW 0x00100 /**< drive can read DVD-RW */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_RPW 0x00200 /**< drive can read DVD+RW */
|
||||
#define CDIO_DRIVE_CAP_READ_C2_ERRS 0x00400 /**< has C2 error correction */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_DA 0x00002 /**< drive can read CD-DA */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_G 0x00004 /**< drive can read CD G */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_R 0x00008 /**< drive can read CD-R */
|
||||
#define CDIO_DRIVE_CAP_READ_CD_RW 0x00010 /**< drive can read CD-RW */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_R 0x00020 /**< drive can read DVD-R */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_PR 0x00040 /**< drive can read DVD+R */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_RAM 0x00080 /**< drive can read DVD-RAM */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_ROM 0x00100 /**< drive can read DVD-ROM */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_RW 0x00200 /**< drive can read DVD-RW */
|
||||
#define CDIO_DRIVE_CAP_READ_DVD_RPW 0x00400 /**< drive can read DVD+RW */
|
||||
#define CDIO_DRIVE_CAP_READ_C2_ERRS 0x00800 /**< has C2 error correction */
|
||||
|
||||
/*! Writing masks.. */
|
||||
#define CDIO_DRIVE_CAP_WRITE_CD_R 0x00001 /**< drive can write CD-R */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: _cdio_linux.c,v 1.68 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: _cdio_linux.c,v 1.69 2004/07/18 03:35:07 rocky Exp $
|
||||
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -27,7 +27,7 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.68 2004/07/17 22:16:47 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.69 2004/07/18 03:35:07 rocky Exp $";
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@@ -974,7 +974,7 @@ _get_drive_cap_linux (const void *env,
|
||||
if (i_drivetype & CDC_CLOSE_TRAY)
|
||||
*p_misc_cap |= CDIO_DRIVE_CAP_MISC_CLOSE_TRAY;
|
||||
if (i_drivetype & CDC_OPEN_TRAY)
|
||||
*p_misc_cap |= CDIO_DRIVE_CAP_MISC_OPEN_TRAY;
|
||||
*p_misc_cap |= CDIO_DRIVE_CAP_MISC_EJECT;
|
||||
if (i_drivetype & CDC_LOCK)
|
||||
*p_misc_cap |= CDIO_DRIVE_CAP_MISC_LOCK;
|
||||
if (i_drivetype & CDC_SELECT_SPEED)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: _cdio_sunos.c,v 1.53 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: _cdio_sunos.c,v 1.54 2004/07/18 03:35:07 rocky Exp $
|
||||
|
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||
Copyright (C) 2002, 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
#ifdef HAVE_SOLARIS_CDROM
|
||||
|
||||
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.53 2004/07/17 22:16:47 rocky Exp $";
|
||||
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.54 2004/07/18 03:35:07 rocky Exp $";
|
||||
|
||||
#ifdef HAVE_GLOB_H
|
||||
#include <glob.h>
|
||||
@@ -630,7 +630,6 @@ _get_drive_cap_solaris (const void *user_data,
|
||||
int lenData = ((unsigned int)buf[0] << 8) + buf[1];
|
||||
uint8_t *pMax = buf + 256;
|
||||
|
||||
i_drivetype = 0;
|
||||
/* set to first sense mask, and then walk through the masks */
|
||||
p = buf + 8;
|
||||
while( (p < &(buf[2+lenData])) && (p < pMax) ) {
|
||||
@@ -654,9 +653,11 @@ _get_drive_cap_solaris (const void *user_data,
|
||||
} else {
|
||||
cdio_info("%s: %s\n",
|
||||
"error in ioctl USCSICMD MODE_SELECT", strerror(errno));
|
||||
i_drivetype = CDIO_DRIVE_CAP_CD_AUDIO | CDIO_DRIVE_CAP_UNKNOWN;
|
||||
*p_read_cap = CDIO_DRIVE_CAP_ERROR;
|
||||
*p_write_cap = CDIO_DRIVE_CAP_ERROR;
|
||||
*p_misc_cap = CDIO_DRIVE_CAP_ERROR;
|
||||
}
|
||||
return i_drivetype;
|
||||
return;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -920,7 +921,7 @@ cdio_open_am_solaris (const char *psz_orig_source, const char *access_mode)
|
||||
_data->b_cdtext_init = false;
|
||||
|
||||
if (NULL == psz_orig_source) {
|
||||
psz_source=_get_default_device_solaris();
|
||||
psz_source = cdio_get_default_device_solaris();
|
||||
if (NULL == psz_source) return NULL;
|
||||
_set_arg_solaris(_data, "source", psz_source);
|
||||
free(psz_source);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Common MMC routines.
|
||||
|
||||
$Id: scsi_mmc.c,v 1.4 2004/07/17 22:16:47 rocky Exp $
|
||||
$Id: scsi_mmc.c,v 1.5 2004/07/18 03:35:07 rocky Exp $
|
||||
|
||||
Copyright (C) 2004 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -38,12 +38,16 @@ cdio_get_drive_cap_mmc(const uint8_t *p,
|
||||
cdio_drive_misc_cap_t *p_misc_cap)
|
||||
{
|
||||
/* Reader */
|
||||
if (p[2] & 0x01) *p_read_cap |= CDIO_DRIVE_CAP_READ_CD_R;
|
||||
if (p[2] & 0x02) *p_read_cap |= CDIO_DRIVE_CAP_READ_CD_RW;
|
||||
if (p[2] & 0x08) *p_read_cap |= CDIO_DRIVE_CAP_READ_DVD_ROM;
|
||||
if (p[5] & 0x01) *p_read_cap |= CDIO_DRIVE_CAP_READ_AUDIO;
|
||||
if (p[4] & 0x01) *p_read_cap |= CDIO_DRIVE_CAP_READ_AUDIO;
|
||||
if (p[5] & 0x01) *p_read_cap |= CDIO_DRIVE_CAP_READ_CD_DA;
|
||||
if (p[5] & 0x10) *p_read_cap |= CDIO_DRIVE_CAP_READ_C2_ERRS;
|
||||
|
||||
/* Writer */
|
||||
if (p[3] & 0x01) *p_write_cap |= CDIO_DRIVE_CAP_WRITE_CD_R;
|
||||
if (p[3] & 0x02) *p_write_cap |= CDIO_DRIVE_CAP_WRITE_CD_RW;
|
||||
if (p[3] & 0x10) *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_R;
|
||||
if (p[3] & 0x20) *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_RAM;
|
||||
|
||||
@@ -51,7 +55,7 @@ cdio_get_drive_cap_mmc(const uint8_t *p,
|
||||
if (p[4] & 0x40) *p_misc_cap |= CDIO_DRIVE_CAP_MISC_MULTI_SESSION;
|
||||
|
||||
if (p[6] & 0x01) *p_misc_cap |= CDIO_DRIVE_CAP_MISC_LOCK;
|
||||
if (p[6] & 0x08) *p_misc_cap |= CDIO_DRIVE_CAP_MISC_OPEN_TRAY;
|
||||
if (p[6] & 0x08) *p_misc_cap |= CDIO_DRIVE_CAP_MISC_EJECT;
|
||||
if (p[6] >> 5 != 0)
|
||||
*p_misc_cap |= CDIO_DRIVE_CAP_MISC_CLOSE_TRAY;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
$Id: util.c,v 1.10 2004/07/17 22:16:48 rocky Exp $
|
||||
$Id: util.c,v 1.11 2004/07/18 03:35:07 rocky Exp $
|
||||
|
||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||
|
||||
@@ -97,8 +97,8 @@ void print_drive_capabilities(cdio_drive_read_cap_t i_read_cap,
|
||||
printf(_("Hardware : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_FILE
|
||||
? "Disk Image" : "CD-ROM or DVD");
|
||||
printf(_("Can open tray : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_OPEN_TRAY ? "Yes" : "No");
|
||||
printf(_("Can eject : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_EJECT ? "Yes" : "No");
|
||||
printf(_("Can close tray : %s\n"),
|
||||
i_misc_cap & CDIO_DRIVE_CAP_MISC_CLOSE_TRAY ? "Yes" : "No");
|
||||
printf(_("Can disable manual eject : %s\n"),
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
@@ -1,26 +1,27 @@
|
||||
This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can close tray : No
|
||||
Can disable manual eject: No
|
||||
Can select juke-box disc: No
|
||||
Hardware : Disk Image
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
Can set drive speed : No
|
||||
Can detect if CD changed: No
|
||||
Can read Media Cat. No. : Yes
|
||||
Can read sessions > 1 . : No
|
||||
Can hard reset device : No
|
||||
Can set drive speed : No
|
||||
Can detect if CD changed : No
|
||||
Can read multiple sessions : No
|
||||
Can hard reset device : No
|
||||
|
||||
Compact Disc : Yes
|
||||
Can play audio : Yes
|
||||
Can read CD-RW : No
|
||||
Can write CD-R : No
|
||||
Reading....
|
||||
Can play audio : Yes
|
||||
Can read CD-R : Yes
|
||||
Can read CD-RW : Yes
|
||||
Can read DVD-ROM : No
|
||||
|
||||
Digital Versital Disc : No
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
Writing....
|
||||
Can write CD-RW : Yes
|
||||
Can write DVD-R : No
|
||||
Can write DVD-RAM : No
|
||||
__________________________________
|
||||
CD-ROM Track List (1 - 3)
|
||||
#: MSF LSN Type Green?
|
||||
|
||||
@@ -2,7 +2,7 @@ This is free software; see the source for copying conditions.
|
||||
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
|
||||
PARTICULAR PURPOSE.
|
||||
Hardware : Disk Image
|
||||
Can open tray : No
|
||||
Can eject : No
|
||||
Can close tray : No
|
||||
Can disable manual eject : No
|
||||
Can select juke-box disc : No
|
||||
|
||||
Reference in New Issue
Block a user