mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Added features structures from MMC-3.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* SCSI/MMC/Features.cs:
|
||||||
|
Added features structures from MMC-3.
|
||||||
|
|
||||||
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* SCSI/MMC/Features.cs:
|
* SCSI/MMC/Features.cs:
|
||||||
|
|||||||
@@ -589,6 +589,33 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
public bool Lock;
|
public bool Lock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Write Protect Feature (0004h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0004
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports PWP status
|
||||||
|
/// </summary>
|
||||||
|
public bool SPWP;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports SWPP bit of mode page 1Dh
|
||||||
|
/// </summary>
|
||||||
|
public bool SSWPP;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Random Readable Feature (0010h)
|
/// Random Readable Feature (0010h)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -667,7 +694,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DVD Feature (001Fh)
|
/// DVD Read Feature (001Fh)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public struct Feature_001F
|
public struct Feature_001F
|
||||||
{
|
{
|
||||||
@@ -742,6 +769,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public ushort DataTypeSupported;
|
public ushort DataTypeSupported;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Zero loss linking
|
||||||
|
/// </summary>
|
||||||
|
public bool BUF;
|
||||||
|
/// <summary>
|
||||||
/// Logical blocks per link
|
/// Logical blocks per link
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public byte[] LinkSizes;
|
public byte[] LinkSizes;
|
||||||
@@ -802,6 +833,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// Feature is currently in use
|
/// Feature is currently in use
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Current;
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports READ DISC STRUCTURE with Format Code 0Ah (Spare Area Information)
|
||||||
|
/// </summary>
|
||||||
|
public bool SSA;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -854,6 +889,110 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
public bool Current;
|
public bool Current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// CD-RW CAV Write Feature (0027h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0027
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// MRW Feature (0028h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0028
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Can format and write to MRW discs
|
||||||
|
/// </summary>
|
||||||
|
public bool Write;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DVD+RW Feature (002Ah)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_002A
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Can format DVD+RW discs
|
||||||
|
/// </summary>
|
||||||
|
public bool Write;
|
||||||
|
/// <summary>
|
||||||
|
/// Drive only supports read compatibility stop
|
||||||
|
/// </summary>
|
||||||
|
public bool CloseOnly;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Rigid Restricted Overwrite Feature (002Ch)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_002C
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Can generate Defect Status Data during formatting
|
||||||
|
/// </summary>
|
||||||
|
public bool DSDG;
|
||||||
|
/// <summary>
|
||||||
|
/// Can read Defect Status Data recorded on medium
|
||||||
|
/// </summary>
|
||||||
|
public bool DSDR;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports writing on an intermediate state Session and quick formatting
|
||||||
|
/// </summary>
|
||||||
|
public bool Intermediate;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports BLANK command types 00h and 01h
|
||||||
|
/// </summary>
|
||||||
|
public bool Blank;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CD Track at Once Feature (002Dh)
|
/// CD Track at Once Feature (002Dh)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -872,6 +1011,18 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Current;
|
public bool Current;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Supports zero loss linking
|
||||||
|
/// </summary>
|
||||||
|
public bool BUF;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports writing R-W subchannels in raw mode
|
||||||
|
/// </summary>
|
||||||
|
public bool RWRaw;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports writing R-W subchannels in packed mode
|
||||||
|
/// </summary>
|
||||||
|
public bool RWPack;
|
||||||
|
/// <summary>
|
||||||
/// Can perform test writes
|
/// Can perform test writes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool TestWrite;
|
public bool TestWrite;
|
||||||
@@ -907,6 +1058,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Current;
|
public bool Current;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Supports zero loss linking
|
||||||
|
/// </summary>
|
||||||
|
public bool BUF;
|
||||||
|
/// <summary>
|
||||||
/// Can write in Session at Once
|
/// Can write in Session at Once
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SAO;
|
public bool SAO;
|
||||||
@@ -937,7 +1092,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DVD-R Write Feature (002Fh)
|
/// DVD-R/-RW Write Feature (002Fh)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public struct Feature_002F
|
public struct Feature_002F
|
||||||
{
|
{
|
||||||
@@ -961,6 +1116,79 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// Test write
|
/// Test write
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool TestWrite;
|
public bool TestWrite;
|
||||||
|
/// <summary>
|
||||||
|
/// Can write and erase DVD-RW
|
||||||
|
/// </summary>
|
||||||
|
public bool DVDRW;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Double Density CD Read Feature (0030h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0030
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Double Density CD-R Write Feature (0031h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0031
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Test write
|
||||||
|
/// </summary>
|
||||||
|
public bool TestWrite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Double Density CD-RW Write Feature (0032h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0032
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports quick formatting
|
||||||
|
/// </summary>
|
||||||
|
public bool Intermediate;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports BLANK command
|
||||||
|
/// </summary>
|
||||||
|
public bool Blank;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -982,6 +1210,29 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
public bool Current;
|
public bool Current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// S.M.A.R.T. Feature (0101h)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_0101
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Mode Page 1Ch is present
|
||||||
|
/// </summary>
|
||||||
|
public bool PP;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Embedded Changer Feature (0102h)
|
/// Embedded Changer Feature (0102h)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1007,6 +1258,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// Supports Disc Present
|
/// Supports Disc Present
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SDP;
|
public bool SDP;
|
||||||
|
/// <summary>
|
||||||
|
/// Number of slots - 1
|
||||||
|
/// </summary>
|
||||||
|
public byte HighestSlotNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -1118,6 +1373,26 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
/// Feature is currently in use
|
/// Feature is currently in use
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool Current;
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports READ BUFFER CAPACITY with block bit set
|
||||||
|
/// </summary>
|
||||||
|
public bool RBCB;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports SET CD SPEED
|
||||||
|
/// </summary>
|
||||||
|
public bool SCS;
|
||||||
|
/// <summary>
|
||||||
|
/// Has Mode Page 2Ah with Speed Performance Descriptors
|
||||||
|
/// </summary>
|
||||||
|
public bool MP2A;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports type 03h of GET PERFORMANCE
|
||||||
|
/// </summary>
|
||||||
|
public bool WSPD;
|
||||||
|
/// <summary>
|
||||||
|
/// Supports stream recording
|
||||||
|
/// </summary>
|
||||||
|
public bool SW;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -1163,6 +1438,29 @@ namespace DiscImageChef.Decoders.SCSI.MMC
|
|||||||
public uint[] DCBs;
|
public uint[] DCBs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DVD CPRM Feature (010Bh)
|
||||||
|
/// </summary>
|
||||||
|
public struct Feature_010B
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature version
|
||||||
|
/// </summary>
|
||||||
|
public byte Version;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is persistent
|
||||||
|
/// </summary>
|
||||||
|
public bool Persistent;
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is currently in use
|
||||||
|
/// </summary>
|
||||||
|
public bool Current;
|
||||||
|
/// <summary>
|
||||||
|
/// CPRM version
|
||||||
|
/// </summary>
|
||||||
|
public byte CPRMVersion;
|
||||||
|
}
|
||||||
|
|
||||||
public static class Features
|
public static class Features
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user