mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Added feature structures from MMC-1.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* SCSI/MMC/Features.cs:
|
||||||
|
* DiscImageChef.Decoders.csproj:
|
||||||
|
Added feature structures from MMC-1.
|
||||||
|
|
||||||
2015-10-31 Natalia Portillo <claunia@claunia.com>
|
2015-10-31 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* SCSI/Modes.cs:
|
* SCSI/Modes.cs:
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<Compile Include="ATA\Identify.cs" />
|
<Compile Include="ATA\Identify.cs" />
|
||||||
<Compile Include="SCSI\EVPD.cs" />
|
<Compile Include="SCSI\EVPD.cs" />
|
||||||
<Compile Include="SCSI\Modes.cs" />
|
<Compile Include="SCSI\Modes.cs" />
|
||||||
|
<Compile Include="SCSI\MMC\Features.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
1170
DiscImageChef.Decoders/SCSI/MMC/Features.cs
Normal file
1170
DiscImageChef.Decoders/SCSI/MMC/Features.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,8 @@
|
|||||||
|
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* Enums.cs:
|
||||||
|
Added feature structures from MMC-1.
|
||||||
|
|
||||||
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
2015-11-01 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* Enums.cs:
|
* Enums.cs:
|
||||||
|
|||||||
@@ -2743,399 +2743,5 @@ namespace DiscImageChef.Devices
|
|||||||
[Obsolete]
|
[Obsolete]
|
||||||
PreventAll = 0x03
|
PreventAll = 0x03
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// MMC Feature enumeration
|
|
||||||
/// </summary>
|
|
||||||
public enum ScsiMmcFeatureNumber : ushort
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Lists all profiles
|
|
||||||
/// </summary>
|
|
||||||
ProfileList = 0x0000,
|
|
||||||
/// <summary>
|
|
||||||
/// Mandatory behaviour
|
|
||||||
/// </summary>
|
|
||||||
Core = 0x0001,
|
|
||||||
/// <summary>
|
|
||||||
/// Operational changes
|
|
||||||
/// </summary>
|
|
||||||
Morphing = 0x0002,
|
|
||||||
/// <summary>
|
|
||||||
/// Removable medium
|
|
||||||
/// </summary>
|
|
||||||
Removable = 0x0003,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to control write protection status
|
|
||||||
/// </summary>
|
|
||||||
WriteProtect = 0x0004,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read sectors with random addressing
|
|
||||||
/// </summary>
|
|
||||||
RandomRead = 0x0010,
|
|
||||||
/// <summary>
|
|
||||||
/// Reads on OSTA Multi-Read
|
|
||||||
/// </summary>
|
|
||||||
MultiRead = 0x001D,
|
|
||||||
/// <summary>
|
|
||||||
/// Able to read CD structures
|
|
||||||
/// </summary>
|
|
||||||
CDRead = 0x001E,
|
|
||||||
/// <summary>
|
|
||||||
/// Able to read DVD structures
|
|
||||||
/// </summary>
|
|
||||||
DVDRead = 0x001F,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write sectors with random addressing
|
|
||||||
/// </summary>
|
|
||||||
RandomWrite = 0x0020,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to sequentially write
|
|
||||||
/// </summary>
|
|
||||||
IncrementalWrite = 0x0021,
|
|
||||||
/// <summary>
|
|
||||||
/// Support for media that requires erase before write
|
|
||||||
/// </summary>
|
|
||||||
SectorErasable = 0x0022,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports formatting media
|
|
||||||
/// </summary>
|
|
||||||
Formattable = 0x0023,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to provide defect-free space
|
|
||||||
/// </summary>
|
|
||||||
HardwareDefectMgmt = 0x0024,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports for write-once media in random order
|
|
||||||
/// </summary>
|
|
||||||
WriteOnce = 0x0025,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports for media that shall be written from blocking boundaries
|
|
||||||
/// </summary>
|
|
||||||
RestrictedOverwrite = 0x0026,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports high speed CD-RW
|
|
||||||
/// </summary>
|
|
||||||
CDRWCAV = 0x0027,
|
|
||||||
/// <summary>
|
|
||||||
/// Read and optionally write MRW
|
|
||||||
/// </summary>
|
|
||||||
MRW = 0x0028,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to control RECOVERED ERROR reporting
|
|
||||||
/// </summary>
|
|
||||||
EnDefectReport = 0x0029,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to recognize, read and optionally write DVD+RW
|
|
||||||
/// </summary>
|
|
||||||
DVDRWPlus = 0x002A,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read DVD+R
|
|
||||||
/// </summary>
|
|
||||||
DVDRPlus = 0x002B,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write CD in Track-at-Once
|
|
||||||
/// </summary>
|
|
||||||
CDTAO = 0x002D,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write CD in Session-at-Once or RAW
|
|
||||||
/// </summary>
|
|
||||||
CDMastering = 0x002E,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write DVD structures
|
|
||||||
/// </summary>
|
|
||||||
DVDRWrite = 0x002F,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read DDCD
|
|
||||||
/// </summary>
|
|
||||||
DDCD = 0x0030,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write DDCD-R
|
|
||||||
/// </summary>
|
|
||||||
DDCDR = 0x0031,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write DDCD-RW
|
|
||||||
/// </summary>
|
|
||||||
DDCDRW = 0x0032,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to record in layer jump mode
|
|
||||||
/// </summary>
|
|
||||||
LayerJump = 0x0033,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to perform Layer Jump recording on Rigid Restricted Overwrite
|
|
||||||
/// </summary>
|
|
||||||
LJRigid = 0x0034,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to stop the long immediate operation
|
|
||||||
/// </summary>
|
|
||||||
StopLong = 0x0035,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to report CD-RW media sub-types supported for write
|
|
||||||
/// </summary>
|
|
||||||
CDRWMediaWrite = 0x0037,
|
|
||||||
/// <summary>
|
|
||||||
/// Logical block overwrite service on BD-R formatted as SRM+POW
|
|
||||||
/// </summary>
|
|
||||||
BDRPOW = 0x0038,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read DVD+RW DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRWDLPlus = 0x003A,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read DVD+R DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRDLPlus = 0x003B,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read BD discs
|
|
||||||
/// </summary>
|
|
||||||
BDRead = 0x0040,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write BD discs
|
|
||||||
/// </summary>
|
|
||||||
BDWrite = 0x0041,
|
|
||||||
/// <summary>
|
|
||||||
/// Timely, Safe Recording
|
|
||||||
/// </summary>
|
|
||||||
TSR = 0x0042,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read HD DVD
|
|
||||||
/// </summary>
|
|
||||||
HDDVDRead = 0x0050,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write HD DVD
|
|
||||||
/// </summary>
|
|
||||||
HDDVDWrite = 0x0051,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to write HD DVD-RW fragmented
|
|
||||||
/// </summary>
|
|
||||||
HDDVDRWFragment = 0x0052,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports some Hybrid Discs
|
|
||||||
/// </summary>
|
|
||||||
Hybrid = 0x0080,
|
|
||||||
/// <summary>
|
|
||||||
/// Host and device directed power management
|
|
||||||
/// </summary>
|
|
||||||
PowerMgmt = 0x0100,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports S.M.A.R.T.
|
|
||||||
/// </summary>
|
|
||||||
SMART = 0x0101,
|
|
||||||
/// <summary>
|
|
||||||
/// Single machanism multiple disc changer
|
|
||||||
/// </summary>
|
|
||||||
Changer = 0x0102,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to play CD audio to an analogue output
|
|
||||||
/// </summary>
|
|
||||||
CDAudioExt = 0x0103,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to accept new microcode
|
|
||||||
/// </summary>
|
|
||||||
MicrocodeUpgrade = 0x0104,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to respond to all commands within a specific time
|
|
||||||
/// </summary>
|
|
||||||
Timeout = 0x0105,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports DVD CSS/CPPM
|
|
||||||
/// </summary>
|
|
||||||
CSS = 0x0106,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read and write using host requested performance parameters
|
|
||||||
/// </summary>
|
|
||||||
RTS = 0x0107,
|
|
||||||
/// <summary>
|
|
||||||
/// Drive has a unique identifier
|
|
||||||
/// </summary>
|
|
||||||
DriveSerial = 0x0108,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to return unique Media Serial Number
|
|
||||||
/// </summary>
|
|
||||||
MediaSerial = 0x0109,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to read and/or write DCBs
|
|
||||||
/// </summary>
|
|
||||||
DCBs = 0x010A,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports DVD CPRM
|
|
||||||
/// </summary>
|
|
||||||
CPRM = 0x010B,
|
|
||||||
/// <summary>
|
|
||||||
/// Firmware creation date report
|
|
||||||
/// </summary>
|
|
||||||
FirmwareInfo = 0x010C,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to decode and optionally encode AACS
|
|
||||||
/// </summary>
|
|
||||||
AACS = 0x010D,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to perform DVD CSS managed recording
|
|
||||||
/// </summary>
|
|
||||||
CSSManagedRec = 0x010E,
|
|
||||||
/// <summary>
|
|
||||||
/// Ability to decode and optionally encode VCPS
|
|
||||||
/// </summary>
|
|
||||||
VCPS = 0x0110,
|
|
||||||
/// <summary>
|
|
||||||
/// Supports SecurDisc
|
|
||||||
/// </summary>
|
|
||||||
SecurDisc = 0x0113,
|
|
||||||
/// <summary>
|
|
||||||
/// TCG Optical Security Subsystem Class
|
|
||||||
/// </summary>
|
|
||||||
OSSC = 0x0142
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// MMC Profile enumeration
|
|
||||||
/// </summary>
|
|
||||||
public enum ScsiMmcProfileNumber : ushort
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Not to use
|
|
||||||
/// </summary>
|
|
||||||
Reserved = 0x0000,
|
|
||||||
/// <summary>
|
|
||||||
/// Non-removable disk profile
|
|
||||||
/// </summary>
|
|
||||||
NonRemovable = 0x0001,
|
|
||||||
/// <summary>
|
|
||||||
/// Rewritable with removable media
|
|
||||||
/// </summary>
|
|
||||||
Removable = 0x0002,
|
|
||||||
/// <summary>
|
|
||||||
/// Magneto-Optical with sector erase
|
|
||||||
/// </summary>
|
|
||||||
MOErasable = 0x0003,
|
|
||||||
/// <summary>
|
|
||||||
/// Optical write once
|
|
||||||
/// </summary>
|
|
||||||
OpticalWORM = 0x0004,
|
|
||||||
/// <summary>
|
|
||||||
/// Advance Storage - Magneto-Optical
|
|
||||||
/// </summary>
|
|
||||||
ASMO = 0x0005,
|
|
||||||
/// <summary>
|
|
||||||
/// Read-only Compact Disc
|
|
||||||
/// </summary>
|
|
||||||
CDROM = 0x0008,
|
|
||||||
/// <summary>
|
|
||||||
/// Write-once Compact Disc
|
|
||||||
/// </summary>
|
|
||||||
CDR = 0x0009,
|
|
||||||
/// <summary>
|
|
||||||
/// Re-writable Compact Disc
|
|
||||||
/// </summary>
|
|
||||||
CDRW = 0x000A,
|
|
||||||
/// <summary>
|
|
||||||
/// Read-only DVD
|
|
||||||
/// </summary>
|
|
||||||
DVDROM = 0x0010,
|
|
||||||
/// <summary>
|
|
||||||
/// Write-once sequentially recorded DVD-R
|
|
||||||
/// </summary>
|
|
||||||
DVDRSeq = 0x0011,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD-RAM
|
|
||||||
/// </summary>
|
|
||||||
DVDRAM = 0x0012,
|
|
||||||
/// <summary>
|
|
||||||
/// Restricted overwrite DVD-RW
|
|
||||||
/// </summary>
|
|
||||||
DVDRWRes = 0x0013,
|
|
||||||
/// <summary>
|
|
||||||
/// Sequential recording DVD-RW
|
|
||||||
/// </summary>
|
|
||||||
DVDRWSeq = 0x0014,
|
|
||||||
/// <summary>
|
|
||||||
/// Sequential recording DVD-R DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRDLSeq = 0x0015,
|
|
||||||
/// <summary>
|
|
||||||
/// Layer jump recording DVD-R DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRDLJump = 0x0016,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD+RW DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRWDL = 0x0017,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD-Download
|
|
||||||
/// </summary>
|
|
||||||
DVDDownload = 0x0018,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD+RW
|
|
||||||
/// </summary>
|
|
||||||
DVDRWPlus = 0x001A,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD+R
|
|
||||||
/// </summary>
|
|
||||||
DVDRPlus = 0x001B,
|
|
||||||
/// <summary>
|
|
||||||
/// DDCD-ROM
|
|
||||||
/// </summary>
|
|
||||||
DDCDROM = 0x0020,
|
|
||||||
/// <summary>
|
|
||||||
/// DDCD-R
|
|
||||||
/// </summary>
|
|
||||||
DDCDR = 0x0021,
|
|
||||||
/// <summary>
|
|
||||||
/// DDCD-RW
|
|
||||||
/// </summary>
|
|
||||||
DDCDRW = 0x0022,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD+RW DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRWDLPlus = 0x002A,
|
|
||||||
/// <summary>
|
|
||||||
/// DVD+R DL
|
|
||||||
/// </summary>
|
|
||||||
DVDRDLPlus = 0x002B,
|
|
||||||
/// <summary>
|
|
||||||
/// BD-ROM
|
|
||||||
/// </summary>
|
|
||||||
BDROM = 0x0040,
|
|
||||||
/// <summary>
|
|
||||||
/// BD-R SRM
|
|
||||||
/// </summary>
|
|
||||||
BDRSeq = 0x0041,
|
|
||||||
/// <summary>
|
|
||||||
/// BD-R RRM
|
|
||||||
/// </summary>
|
|
||||||
BDRRdm = 0x0042,
|
|
||||||
/// <summary>
|
|
||||||
/// BD-RE
|
|
||||||
/// </summary>
|
|
||||||
BDRE = 0x0043,
|
|
||||||
/// <summary>
|
|
||||||
/// HD DVD-ROM
|
|
||||||
/// </summary>
|
|
||||||
HDDVDROM = 0x0050,
|
|
||||||
/// <summary>
|
|
||||||
/// HD DVD-R
|
|
||||||
/// </summary>
|
|
||||||
HDDVDR = 0x0051,
|
|
||||||
/// <summary>
|
|
||||||
/// HD DVD-RAM
|
|
||||||
/// </summary>
|
|
||||||
HDDVDRAM = 0x0052,
|
|
||||||
/// <summary>
|
|
||||||
/// HD DVD-RW
|
|
||||||
/// </summary>
|
|
||||||
HDDVDRW = 0x0053,
|
|
||||||
/// <summary>
|
|
||||||
/// HD DVD-R DL
|
|
||||||
/// </summary>
|
|
||||||
HDDVDRDL = 0x0058,
|
|
||||||
/// <summary>
|
|
||||||
/// HD DVD-RW DL
|
|
||||||
/// </summary>
|
|
||||||
HDDVDRWDL = 0x005A,
|
|
||||||
/// <summary>
|
|
||||||
/// Drive does not conform to any profiles
|
|
||||||
/// </summary>
|
|
||||||
Unconforming = 0xFFFF
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user