mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
REFACTOR: Reformat code.
This commit is contained in:
@@ -89,16 +89,13 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
|
||||
public static DensitySupportHeader? DecodeDensity(byte[] response)
|
||||
{
|
||||
if(response == null)
|
||||
return null;
|
||||
if(response == null) return null;
|
||||
|
||||
if(response.Length <= 56)
|
||||
return null;
|
||||
if(response.Length <= 56) return null;
|
||||
|
||||
ushort responseLen = (ushort)((response[0] << 8) + response[1] + 2);
|
||||
|
||||
if(response.Length != responseLen)
|
||||
return null;
|
||||
if(response.Length != responseLen) return null;
|
||||
|
||||
List<DensitySupportDescriptor> descriptors = new List<DensitySupportDescriptor>();
|
||||
int offset = 4;
|
||||
@@ -115,10 +112,12 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
descriptor.reserved = (byte)((response[offset + 2] & 0x1E) >> 1);
|
||||
descriptor.lenvalid |= (response[offset + 2] & 0x01) == 0x01;
|
||||
descriptor.len = (ushort)((response[offset + 3] << 8) + response[offset + 4]);
|
||||
descriptor.bpmm = (uint)((response[offset + 5] << 16) + (response[offset + 6] << 8) + response[offset + 7]);
|
||||
descriptor.bpmm =
|
||||
(uint)((response[offset + 5] << 16) + (response[offset + 6] << 8) + response[offset + 7]);
|
||||
descriptor.width = (ushort)((response[offset + 8] << 8) + response[offset + 9]);
|
||||
descriptor.tracks = (ushort)((response[offset + 10] << 8) + response[offset + 11]);
|
||||
descriptor.capacity = (uint)((response[offset + 12] << 24) + (response[offset + 13] << 16) + (response[offset + 14] << 8) + response[offset + 15]);
|
||||
descriptor.capacity = (uint)((response[offset + 12] << 24) + (response[offset + 13] << 16) +
|
||||
(response[offset + 14] << 8) + response[offset + 15]);
|
||||
tmp = new byte[8];
|
||||
Array.Copy(response, offset + 16, tmp, 0, 8);
|
||||
descriptor.organization = StringHandlers.CToString(tmp).Trim();
|
||||
@@ -129,10 +128,8 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
Array.Copy(response, offset + 32, tmp, 0, 20);
|
||||
descriptor.description = StringHandlers.CToString(tmp).Trim();
|
||||
|
||||
if(descriptor.lenvalid)
|
||||
offset += descriptor.len + 5;
|
||||
else
|
||||
offset += 52;
|
||||
if(descriptor.lenvalid) offset += descriptor.len + 5;
|
||||
else offset += 52;
|
||||
|
||||
descriptors.Add(descriptor);
|
||||
}
|
||||
@@ -147,27 +144,25 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
|
||||
public static string PrettifyDensity(DensitySupportHeader? density)
|
||||
{
|
||||
if(density == null)
|
||||
return null;
|
||||
if(density == null) return null;
|
||||
|
||||
DensitySupportHeader decoded = density.Value;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach(DensitySupportDescriptor descriptor in decoded.descriptors)
|
||||
{
|
||||
sb.AppendFormat("Density \"{0}\" defined by \"{1}\".", descriptor.name, descriptor.organization).AppendLine();
|
||||
sb.AppendFormat("Density \"{0}\" defined by \"{1}\".", descriptor.name, descriptor.organization)
|
||||
.AppendLine();
|
||||
sb.AppendFormat("\tPrimary code: {0:X2}h", descriptor.primaryCode).AppendLine();
|
||||
if(descriptor.primaryCode != descriptor.secondaryCode)
|
||||
sb.AppendFormat("\tSecondary code: {0:X2}h", descriptor.secondaryCode).AppendLine();
|
||||
if(descriptor.writable)
|
||||
sb.AppendLine("\tDrive can write this density");
|
||||
if(descriptor.duplicate)
|
||||
sb.AppendLine("\tThis descriptor is duplicated");
|
||||
if(descriptor.defaultDensity)
|
||||
sb.AppendLine("\tThis is the default density on the drive");
|
||||
if(descriptor.writable) sb.AppendLine("\tDrive can write this density");
|
||||
if(descriptor.duplicate) sb.AppendLine("\tThis descriptor is duplicated");
|
||||
if(descriptor.defaultDensity) sb.AppendLine("\tThis is the default density on the drive");
|
||||
sb.AppendFormat("\tDensity has {0} bits per mm, with {1} tracks in a {2} mm width tape",
|
||||
#pragma warning disable IDE0004 // Remove Unnecessary Cast
|
||||
descriptor.bpmm, descriptor.tracks, (double)((double)descriptor.width / (double)10)).AppendLine();
|
||||
descriptor.bpmm, descriptor.tracks, (double)((double)descriptor.width / (double)10))
|
||||
.AppendLine();
|
||||
#pragma warning restore IDE0004 // Remove Unnecessary Cast
|
||||
sb.AppendFormat("\tDensity maximum capacity is {0} megabytes", descriptor.capacity).AppendLine();
|
||||
sb.AppendFormat("\tDensity description: {0}", descriptor.description).AppendLine();
|
||||
@@ -184,16 +179,13 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
|
||||
public static MediaTypeSupportHeader? DecodeMediumType(byte[] response)
|
||||
{
|
||||
if(response == null)
|
||||
return null;
|
||||
if(response == null) return null;
|
||||
|
||||
if(response.Length <= 60)
|
||||
return null;
|
||||
if(response.Length <= 60) return null;
|
||||
|
||||
ushort responseLen = (ushort)((response[0] << 8) + response[1] + 2);
|
||||
|
||||
if(response.Length != responseLen)
|
||||
return null;
|
||||
if(response.Length != responseLen) return null;
|
||||
|
||||
List<MediaTypeSupportDescriptor> descriptors = new List<MediaTypeSupportDescriptor>();
|
||||
int offset = 4;
|
||||
@@ -205,8 +197,8 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
descriptor.mediumType = response[offset + 0];
|
||||
descriptor.reserved1 = response[offset + 1];
|
||||
descriptor.len = (ushort)((response[offset + 2] << 8) + response[offset + 3]);
|
||||
if(descriptor.len != 52)
|
||||
return null;
|
||||
if(descriptor.len != 52) return null;
|
||||
|
||||
descriptor.numberOfCodes = response[offset + 4];
|
||||
descriptor.densityCodes = new byte[9];
|
||||
Array.Copy(response, offset + 5, descriptor.densityCodes, 0, 9);
|
||||
@@ -239,27 +231,28 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
|
||||
public static string PrettifyMediumType(MediaTypeSupportHeader? mediumType)
|
||||
{
|
||||
if(mediumType == null)
|
||||
return null;
|
||||
if(mediumType == null) return null;
|
||||
|
||||
MediaTypeSupportHeader decoded = mediumType.Value;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach(MediaTypeSupportDescriptor descriptor in decoded.descriptors)
|
||||
{
|
||||
sb.AppendFormat("Medium type \"{0}\" defined by \"{1}\".", descriptor.name, descriptor.organization).AppendLine();
|
||||
sb.AppendFormat("Medium type \"{0}\" defined by \"{1}\".", descriptor.name, descriptor.organization)
|
||||
.AppendLine();
|
||||
sb.AppendFormat("\tMedium type code: {0:X2}h", descriptor.mediumType).AppendLine();
|
||||
if(descriptor.numberOfCodes > 0)
|
||||
{
|
||||
sb.AppendFormat("\tMedium supports following density codes:");
|
||||
for(int i = 0; i < descriptor.numberOfCodes; i++)
|
||||
sb.AppendFormat(" {0:X2}h", descriptor.densityCodes[i]);
|
||||
|
||||
sb.AppendLine();
|
||||
}
|
||||
|
||||
sb.AppendFormat("\tMedium has a nominal length of {0} m in a {1} mm width tape",
|
||||
#pragma warning disable IDE0004 // Remove Unnecessary Cast
|
||||
descriptor.length, (double)((double)descriptor.width / (double)10)).AppendLine();
|
||||
descriptor.length, (double)((double)descriptor.width / (double)10)).AppendLine();
|
||||
#pragma warning restore IDE0004 // Remove Unnecessary Cast
|
||||
sb.AppendFormat("\tMedium description: {0}", descriptor.description).AppendLine();
|
||||
sb.AppendLine();
|
||||
@@ -273,5 +266,4 @@ namespace DiscImageChef.Decoders.SCSI.SSC
|
||||
return PrettifyMediumType(DecodeMediumType(response));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user