mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move to file scoped namespaces.
This commit is contained in:
@@ -35,145 +35,144 @@
|
||||
using System;
|
||||
using Aaru.Console;
|
||||
|
||||
namespace Aaru.CommonTypes
|
||||
namespace Aaru.CommonTypes;
|
||||
|
||||
/// <summary>Gets the media type from a real device</summary>
|
||||
public static partial class MediaTypeFromDevice
|
||||
{
|
||||
/// <summary>Gets the media type from a real device</summary>
|
||||
public static partial class MediaTypeFromDevice
|
||||
/// <summary>Gets the media type from an SCSI MultiMedia Commands compliant device</summary>
|
||||
/// <param name="model">Model string</param>
|
||||
/// <param name="mediumType">Medium type from MODE SENSE</param>
|
||||
/// <param name="densityCode">Density code from MODE SENSE</param>
|
||||
/// <param name="blocks">Number of blocks in media</param>
|
||||
/// <param name="blockSize">Size of a block in bytes</param>
|
||||
/// <param name="isUsb">Is the device USB attached</param>
|
||||
/// <param name="opticalDisc">Is the media an optical disc</param>
|
||||
/// <returns>Media type</returns>
|
||||
static MediaType GetFromMmc(string model, byte mediumType, byte densityCode, ulong blocks, uint blockSize,
|
||||
bool isUsb, bool opticalDisc)
|
||||
{
|
||||
/// <summary>Gets the media type from an SCSI MultiMedia Commands compliant device</summary>
|
||||
/// <param name="model">Model string</param>
|
||||
/// <param name="mediumType">Medium type from MODE SENSE</param>
|
||||
/// <param name="densityCode">Density code from MODE SENSE</param>
|
||||
/// <param name="blocks">Number of blocks in media</param>
|
||||
/// <param name="blockSize">Size of a block in bytes</param>
|
||||
/// <param name="isUsb">Is the device USB attached</param>
|
||||
/// <param name="opticalDisc">Is the media an optical disc</param>
|
||||
/// <returns>Media type</returns>
|
||||
static MediaType GetFromMmc(string model, byte mediumType, byte densityCode, ulong blocks, uint blockSize,
|
||||
bool isUsb, bool opticalDisc)
|
||||
switch(mediumType)
|
||||
{
|
||||
switch(mediumType)
|
||||
{
|
||||
case 0x00:
|
||||
if(blockSize == 512)
|
||||
if(blocks == 1281856)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to WORM PD-650.",
|
||||
mediumType, blocks, blockSize);
|
||||
case 0x00:
|
||||
if(blockSize == 512)
|
||||
if(blocks == 1281856)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to WORM PD-650.",
|
||||
mediumType, blocks, blockSize);
|
||||
|
||||
return MediaType.PD650_WORM;
|
||||
}
|
||||
else
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to PD-650.",
|
||||
mediumType, blocks, blockSize);
|
||||
|
||||
return MediaType.PD650;
|
||||
}
|
||||
return MediaType.PD650_WORM;
|
||||
}
|
||||
else
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to Compact Disc.",
|
||||
mediumType);
|
||||
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to PD-650.",
|
||||
mediumType, blocks, blockSize);
|
||||
|
||||
return MediaType.CD;
|
||||
return MediaType.PD650;
|
||||
}
|
||||
case 0x01:
|
||||
case 0x05:
|
||||
else
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD-ROM.",
|
||||
"SCSI medium type is {0:X2}h, setting media type to Compact Disc.",
|
||||
mediumType);
|
||||
|
||||
return MediaType.CDROM;
|
||||
case 0x02:
|
||||
case 0x06:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to Compact Disc Digital Audio.",
|
||||
mediumType);
|
||||
return MediaType.CD;
|
||||
}
|
||||
case 0x01:
|
||||
case 0x05:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD-ROM.",
|
||||
mediumType);
|
||||
|
||||
return MediaType.CDDA;
|
||||
case 0x03:
|
||||
case 0x07:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD+.", mediumType);
|
||||
return MediaType.CDROM;
|
||||
case 0x02:
|
||||
case 0x06:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to Compact Disc Digital Audio.",
|
||||
mediumType);
|
||||
|
||||
return MediaType.CDPLUS;
|
||||
case 0x04:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to Photo CD.",
|
||||
mediumType);
|
||||
return MediaType.CDDA;
|
||||
case 0x03:
|
||||
case 0x07:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD+.", mediumType);
|
||||
|
||||
return MediaType.PCD;
|
||||
case 0x10:
|
||||
case 0x11:
|
||||
case 0x12:
|
||||
case 0x13:
|
||||
case 0x14:
|
||||
case 0x15:
|
||||
case 0x16:
|
||||
case 0x17:
|
||||
case 0x18:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD-R.", mediumType);
|
||||
return MediaType.CDPLUS;
|
||||
case 0x04:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to Photo CD.",
|
||||
mediumType);
|
||||
|
||||
return MediaType.CDR;
|
||||
case 0x20:
|
||||
case 0x21:
|
||||
case 0x22:
|
||||
case 0x23:
|
||||
case 0x24:
|
||||
case 0x25:
|
||||
case 0x26:
|
||||
case 0x27:
|
||||
case 0x28:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD-RW.", mediumType);
|
||||
return MediaType.PCD;
|
||||
case 0x10:
|
||||
case 0x11:
|
||||
case 0x12:
|
||||
case 0x13:
|
||||
case 0x14:
|
||||
case 0x15:
|
||||
case 0x16:
|
||||
case 0x17:
|
||||
case 0x18:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD-R.", mediumType);
|
||||
|
||||
return MediaType.CDRW;
|
||||
case 0x40 when isUsb && !opticalDisc:
|
||||
case 0x41 when isUsb && !opticalDisc:
|
||||
case 0x42 when isUsb && !opticalDisc:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h and device is USB, setting media type to Flash Drive.",
|
||||
mediumType);
|
||||
return MediaType.CDR;
|
||||
case 0x20:
|
||||
case 0x21:
|
||||
case 0x22:
|
||||
case 0x23:
|
||||
case 0x24:
|
||||
case 0x25:
|
||||
case 0x26:
|
||||
case 0x27:
|
||||
case 0x28:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, setting media type to CD-RW.", mediumType);
|
||||
|
||||
return MediaType.FlashDrive;
|
||||
case 0x80:
|
||||
if(model.ToLowerInvariant().StartsWith("ult", StringComparison.Ordinal))
|
||||
switch(densityCode)
|
||||
{
|
||||
case 0x42:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
return MediaType.CDRW;
|
||||
case 0x40 when isUsb && !opticalDisc:
|
||||
case 0x41 when isUsb && !opticalDisc:
|
||||
case 0x42 when isUsb && !opticalDisc:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h and device is USB, setting media type to Flash Drive.",
|
||||
mediumType);
|
||||
|
||||
return MediaType.LTO2;
|
||||
case 0x44:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
return MediaType.FlashDrive;
|
||||
case 0x80:
|
||||
if(model.ToLowerInvariant().StartsWith("ult", StringComparison.Ordinal))
|
||||
switch(densityCode)
|
||||
{
|
||||
case 0x42:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
|
||||
return MediaType.LTO3;
|
||||
case 0x46:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
return MediaType.LTO2;
|
||||
case 0x44:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
|
||||
return MediaType.LTO4;
|
||||
case 0x58:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
return MediaType.LTO3;
|
||||
case 0x46:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
|
||||
return MediaType.LTO5;
|
||||
}
|
||||
return MediaType.LTO4;
|
||||
case 0x58:
|
||||
AaruConsole.DebugWriteLine("Media detection",
|
||||
"SCSI medium type is {0:X2}h, density code is {1:X2}h, drive starts with \"ult\", setting media type to LTO-2.",
|
||||
mediumType, densityCode);
|
||||
|
||||
break;
|
||||
}
|
||||
return MediaType.LTO5;
|
||||
}
|
||||
|
||||
return MediaType.Unknown;
|
||||
break;
|
||||
}
|
||||
|
||||
return MediaType.Unknown;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user