Improved emulation of mode page 2A
This commit is contained in:
parent
57909c48d5
commit
2c9354fc56
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2014.02.19.111017"
|
||||
#define Cdrskin_timestamP "2014.03.01.101537"
|
||||
|
@ -1222,6 +1222,7 @@ static int drive_getcaps(struct burn_drive *d, struct burn_drive_info *out)
|
||||
{
|
||||
struct burn_scsi_inquiry_data *id;
|
||||
int i, profile;
|
||||
struct burn_feature_descr *feat;
|
||||
|
||||
/* ts A61007 : now prevented in enumerate_common() */
|
||||
#if 0
|
||||
@ -1275,6 +1276,13 @@ static int drive_getcaps(struct burn_drive *d, struct burn_drive_info *out)
|
||||
else if (profile == 0x12)
|
||||
out->write_dvdram = out->read_dvdram = 1;
|
||||
}
|
||||
|
||||
/* Test Write bit of CD TAO, CD Mastering, DVD-R/-RW Write */
|
||||
for (i = 0x002D; i <= 0x002F; i++)
|
||||
if (burn_drive_has_feature(d, i, &feat, 0))
|
||||
if (feat->data_lenght > 0)
|
||||
out->write_simulate |=
|
||||
!!(feat->data[0] & 4);
|
||||
}
|
||||
|
||||
out->drive = d;
|
||||
|
@ -594,10 +594,10 @@ struct burn_drive_info
|
||||
to inquire a device file address. ^^^^^ ALWAYS ^^^^^^^*/
|
||||
char location[17];
|
||||
|
||||
/* DEPRECATION:
|
||||
Start of information from mode page 2Ah which is declared
|
||||
obsolete by MMC-5. Do not rely on this, if you can get a
|
||||
meaningful reply from burn_drive_get_all_profiles()
|
||||
/* NOTE: The capability to write particular media types is also
|
||||
announced by their profile number being in the list returned
|
||||
by burn_drive_get_all_profile(). This is the only way to
|
||||
inquire types DVD-RW, DVD+R, DVD+R DL, DVD+RW, BD-R, BD-RE.
|
||||
*/
|
||||
/** Can the drive read DVD-RAM discs */
|
||||
unsigned int read_dvdram:1;
|
||||
@ -622,13 +622,12 @@ struct burn_drive_info
|
||||
/** Can the drive simulate a write */
|
||||
unsigned int write_simulate:1;
|
||||
|
||||
/** Can the drive report C2 errors */
|
||||
/** DEPRECATED: Can the drive report C2 errors */
|
||||
unsigned int c2_errors:1;
|
||||
|
||||
/** The size of the drive's buffer (in kilobytes) */
|
||||
/** DEPRECATED: The size of the drive's buffer (in kilobytes) */
|
||||
int buffer_size;
|
||||
|
||||
/* End of DEPRECATION */
|
||||
|
||||
/**
|
||||
* The supported block types in tao mode.
|
||||
@ -1646,7 +1645,7 @@ void burn_disc_erase(struct burn_drive *drive, int fast);
|
||||
/** Format media for use with libburn. This currently applies to DVD-RW
|
||||
in state "Sequential Recording" (profile 0014h) which get formatted to
|
||||
state "Restricted Overwrite" (profile 0013h). DVD+RW can be "de-iced"
|
||||
by setting bit2 of flag. DVD-RAM and BD-RE may get formatted initially
|
||||
by setting bit4 of flag. DVD-RAM and BD-RE may get formatted initially
|
||||
or re-formatted to adjust their Defect Managment.
|
||||
This function usually returns while the drive is still in the process
|
||||
of formatting. The formatting is done, when burn_drive_get_status()
|
||||
|
@ -151,6 +151,8 @@ struct burn_feature_descr {
|
||||
*/
|
||||
|
||||
unsigned char data_lenght;
|
||||
|
||||
/* Additional bytes after the first 4 bytes of the descriptor */
|
||||
unsigned char *data;
|
||||
|
||||
struct burn_feature_descr *next;
|
||||
|
Loading…
Reference in New Issue
Block a user